Commit 95de2841 authored by Larry Finger's avatar Larry Finger Committed by David S. Miller

b43: Convert to use of the new SPROM structure

The b43 driver is modified to use the new SPROM structure.
Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 458414b2
...@@ -190,10 +190,10 @@ void b43_leds_init(struct b43_wldev *dev) ...@@ -190,10 +190,10 @@ void b43_leds_init(struct b43_wldev *dev)
enum b43_led_behaviour behaviour; enum b43_led_behaviour behaviour;
bool activelow; bool activelow;
sprom[0] = bus->sprom.r1.gpio0; sprom[0] = bus->sprom.gpio0;
sprom[1] = bus->sprom.r1.gpio1; sprom[1] = bus->sprom.gpio1;
sprom[2] = bus->sprom.r1.gpio2; sprom[2] = bus->sprom.gpio2;
sprom[3] = bus->sprom.r1.gpio3; sprom[3] = bus->sprom.gpio3;
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
if (sprom[i] == 0xFF) { if (sprom[i] == 0xFF) {
......
...@@ -264,8 +264,8 @@ static u16 lo_measure_feedthrough(struct b43_wldev *dev, ...@@ -264,8 +264,8 @@ static u16 lo_measure_feedthrough(struct b43_wldev *dev,
rfover |= pga; rfover |= pga;
rfover |= lna; rfover |= lna;
rfover |= trsw_rx; rfover |= trsw_rx;
if ((dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_EXTLNA) && if ((dev->dev->bus->sprom.boardflags_lo & B43_BFL_EXTLNA)
phy->rev > 6) && phy->rev > 6)
rfover |= B43_PHY_RFOVERVAL_EXTLNA; rfover |= B43_PHY_RFOVERVAL_EXTLNA;
b43_phy_write(dev, B43_PHY_PGACTL, 0xE300); b43_phy_write(dev, B43_PHY_PGACTL, 0xE300);
...@@ -634,7 +634,7 @@ static void lo_measure_setup(struct b43_wldev *dev, ...@@ -634,7 +634,7 @@ static void lo_measure_setup(struct b43_wldev *dev,
& 0xFFFC); & 0xFFFC);
if (phy->type == B43_PHYTYPE_G) { if (phy->type == B43_PHYTYPE_G) {
if ((phy->rev >= 7) && if ((phy->rev >= 7) &&
(sprom->r1.boardflags_lo & B43_BFL_EXTLNA)) { (sprom->boardflags_lo & B43_BFL_EXTLNA)) {
b43_phy_write(dev, B43_PHY_RFOVER, 0x933); b43_phy_write(dev, B43_PHY_RFOVER, 0x933);
} else { } else {
b43_phy_write(dev, B43_PHY_RFOVER, 0x133); b43_phy_write(dev, B43_PHY_RFOVER, 0x133);
......
...@@ -1924,7 +1924,7 @@ static int b43_gpio_init(struct b43_wldev *dev) ...@@ -1924,7 +1924,7 @@ static int b43_gpio_init(struct b43_wldev *dev)
mask |= 0x0180; mask |= 0x0180;
set |= 0x0180; set |= 0x0180;
} }
if (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_PACTRL) { if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_PACTRL) {
b43_write16(dev, B43_MMIO_GPIO_MASK, b43_write16(dev, B43_MMIO_GPIO_MASK,
b43_read16(dev, B43_MMIO_GPIO_MASK) b43_read16(dev, B43_MMIO_GPIO_MASK)
| 0x0200); | 0x0200);
...@@ -2289,7 +2289,7 @@ static void b43_periodic_every60sec(struct b43_wldev *dev) ...@@ -2289,7 +2289,7 @@ static void b43_periodic_every60sec(struct b43_wldev *dev)
if (!b43_has_hardware_pctl(phy)) if (!b43_has_hardware_pctl(phy))
b43_lo_g_ctl_mark_all_unused(dev); b43_lo_g_ctl_mark_all_unused(dev);
if (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_RSSI) { if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_RSSI) {
b43_mac_suspend(dev); b43_mac_suspend(dev);
b43_calc_nrssi_slope(dev); b43_calc_nrssi_slope(dev);
if ((phy->radio_ver == 0x2050) && (phy->radio_rev == 8)) { if ((phy->radio_ver == 0x2050) && (phy->radio_rev == 8)) {
...@@ -3208,13 +3208,13 @@ static void b43_bluetooth_coext_enable(struct b43_wldev *dev) ...@@ -3208,13 +3208,13 @@ static void b43_bluetooth_coext_enable(struct b43_wldev *dev)
struct ssb_sprom *sprom = &dev->dev->bus->sprom; struct ssb_sprom *sprom = &dev->dev->bus->sprom;
u32 hf; u32 hf;
if (!(sprom->r1.boardflags_lo & B43_BFL_BTCOEXIST)) if (!(sprom->boardflags_lo & B43_BFL_BTCOEXIST))
return; return;
if (dev->phy.type != B43_PHYTYPE_B && !dev->phy.gmode) if (dev->phy.type != B43_PHYTYPE_B && !dev->phy.gmode)
return; return;
hf = b43_hf_read(dev); hf = b43_hf_read(dev);
if (sprom->r1.boardflags_lo & B43_BFL_BTCMOD) if (sprom->boardflags_lo & B43_BFL_BTCMOD)
hf |= B43_HF_BTCOEXALT; hf |= B43_HF_BTCOEXALT;
else else
hf |= B43_HF_BTCOEX; hf |= B43_HF_BTCOEX;
...@@ -3345,7 +3345,7 @@ static int b43_wireless_core_init(struct b43_wldev *dev) ...@@ -3345,7 +3345,7 @@ static int b43_wireless_core_init(struct b43_wldev *dev)
hf |= B43_HF_SYMW; hf |= B43_HF_SYMW;
if (phy->rev == 1) if (phy->rev == 1)
hf |= B43_HF_GDCW; hf |= B43_HF_GDCW;
if (sprom->r1.boardflags_lo & B43_BFL_PACTRL) if (sprom->boardflags_lo & B43_BFL_PACTRL)
hf |= B43_HF_OFDMPABOOST; hf |= B43_HF_OFDMPABOOST;
} else if (phy->type == B43_PHYTYPE_B) { } else if (phy->type == B43_PHYTYPE_B) {
hf |= B43_HF_SYMW; hf |= B43_HF_SYMW;
...@@ -3862,20 +3862,20 @@ static void b43_sprom_fixup(struct ssb_bus *bus) ...@@ -3862,20 +3862,20 @@ static void b43_sprom_fixup(struct ssb_bus *bus)
/* boardflags workarounds */ /* boardflags workarounds */
if (bus->boardinfo.vendor == SSB_BOARDVENDOR_DELL && if (bus->boardinfo.vendor == SSB_BOARDVENDOR_DELL &&
bus->chip_id == 0x4301 && bus->boardinfo.rev == 0x74) bus->chip_id == 0x4301 && bus->boardinfo.rev == 0x74)
bus->sprom.r1.boardflags_lo |= B43_BFL_BTCOEXIST; bus->sprom.boardflags_lo |= B43_BFL_BTCOEXIST;
if (bus->boardinfo.vendor == PCI_VENDOR_ID_APPLE && if (bus->boardinfo.vendor == PCI_VENDOR_ID_APPLE &&
bus->boardinfo.type == 0x4E && bus->boardinfo.rev > 0x40) bus->boardinfo.type == 0x4E && bus->boardinfo.rev > 0x40)
bus->sprom.r1.boardflags_lo |= B43_BFL_PACTRL; bus->sprom.boardflags_lo |= B43_BFL_PACTRL;
/* Handle case when gain is not set in sprom */ /* Handle case when gain is not set in sprom */
if (bus->sprom.r1.antenna_gain_a == 0xFF) if (bus->sprom.antenna_gain_a == 0xFF)
bus->sprom.r1.antenna_gain_a = 2; bus->sprom.antenna_gain_a = 2;
if (bus->sprom.r1.antenna_gain_bg == 0xFF) if (bus->sprom.antenna_gain_bg == 0xFF)
bus->sprom.r1.antenna_gain_bg = 2; bus->sprom.antenna_gain_bg = 2;
/* Convert Antennagain values to Q5.2 */ /* Convert Antennagain values to Q5.2 */
bus->sprom.r1.antenna_gain_a <<= 2; bus->sprom.antenna_gain_a <<= 2;
bus->sprom.r1.antenna_gain_bg <<= 2; bus->sprom.antenna_gain_bg <<= 2;
} }
static void b43_wireless_exit(struct ssb_device *dev, struct b43_wl *wl) static void b43_wireless_exit(struct ssb_device *dev, struct b43_wl *wl)
...@@ -3908,10 +3908,10 @@ static int b43_wireless_init(struct ssb_device *dev) ...@@ -3908,10 +3908,10 @@ static int b43_wireless_init(struct ssb_device *dev)
hw->max_noise = -110; hw->max_noise = -110;
hw->queues = 1; /* FIXME: hardware has more queues */ hw->queues = 1; /* FIXME: hardware has more queues */
SET_IEEE80211_DEV(hw, dev->dev); SET_IEEE80211_DEV(hw, dev->dev);
if (is_valid_ether_addr(sprom->r1.et1mac)) if (is_valid_ether_addr(sprom->et1mac))
SET_IEEE80211_PERM_ADDR(hw, sprom->r1.et1mac); SET_IEEE80211_PERM_ADDR(hw, sprom->et1mac);
else else
SET_IEEE80211_PERM_ADDR(hw, sprom->r1.il0mac); SET_IEEE80211_PERM_ADDR(hw, sprom->il0mac);
/* Get and initialize struct b43_wl */ /* Get and initialize struct b43_wl */
wl = hw_to_b43_wl(hw); wl = hw_to_b43_wl(hw);
......
...@@ -903,7 +903,7 @@ static void b43_phy_inita(struct b43_wldev *dev) ...@@ -903,7 +903,7 @@ static void b43_phy_inita(struct b43_wldev *dev)
} }
if ((phy->type == B43_PHYTYPE_G) && if ((phy->type == B43_PHYTYPE_G) &&
(dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_PACTRL)) { (dev->dev->bus->sprom.boardflags_lo & B43_BFL_PACTRL)) {
b43_phy_write(dev, B43_PHY_OFDM(0x6E), b43_phy_write(dev, B43_PHY_OFDM(0x6E),
(b43_phy_read(dev, B43_PHY_OFDM(0x6E)) (b43_phy_read(dev, B43_PHY_OFDM(0x6E))
& 0xE000) | 0x3CF); & 0xE000) | 0x3CF);
...@@ -1006,7 +1006,7 @@ static void b43_phy_initb4(struct b43_wldev *dev) ...@@ -1006,7 +1006,7 @@ static void b43_phy_initb4(struct b43_wldev *dev)
if (phy->radio_ver == 0x2050) if (phy->radio_ver == 0x2050)
b43_phy_write(dev, 0x002A, 0x88C2); b43_phy_write(dev, 0x002A, 0x88C2);
b43_set_txpower_g(dev, &phy->bbatt, &phy->rfatt, phy->tx_control); b43_set_txpower_g(dev, &phy->bbatt, &phy->rfatt, phy->tx_control);
if (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_RSSI) { if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_RSSI) {
b43_calc_nrssi_slope(dev); b43_calc_nrssi_slope(dev);
b43_calc_nrssi_threshold(dev); b43_calc_nrssi_threshold(dev);
} }
...@@ -1153,7 +1153,7 @@ static void b43_phy_initb6(struct b43_wldev *dev) ...@@ -1153,7 +1153,7 @@ static void b43_phy_initb6(struct b43_wldev *dev)
b43_radio_write16(dev, 0x5A, 0x88); b43_radio_write16(dev, 0x5A, 0x88);
b43_radio_write16(dev, 0x5B, 0x6B); b43_radio_write16(dev, 0x5B, 0x6B);
b43_radio_write16(dev, 0x5C, 0x0F); b43_radio_write16(dev, 0x5C, 0x0F);
if (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_ALTIQ) { if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_ALTIQ) {
b43_radio_write16(dev, 0x5D, 0xFA); b43_radio_write16(dev, 0x5D, 0xFA);
b43_radio_write16(dev, 0x5E, 0xD8); b43_radio_write16(dev, 0x5E, 0xD8);
} else { } else {
...@@ -1245,7 +1245,7 @@ static void b43_phy_initb6(struct b43_wldev *dev) ...@@ -1245,7 +1245,7 @@ static void b43_phy_initb6(struct b43_wldev *dev)
b43_phy_write(dev, 0x0062, 0x0007); b43_phy_write(dev, 0x0062, 0x0007);
b43_radio_init2050(dev); b43_radio_init2050(dev);
b43_lo_g_measure(dev); b43_lo_g_measure(dev);
if (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_RSSI) { if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_RSSI) {
b43_calc_nrssi_slope(dev); b43_calc_nrssi_slope(dev);
b43_calc_nrssi_threshold(dev); b43_calc_nrssi_threshold(dev);
} }
...@@ -1365,7 +1365,7 @@ static void b43_calc_loopback_gain(struct b43_wldev *dev) ...@@ -1365,7 +1365,7 @@ static void b43_calc_loopback_gain(struct b43_wldev *dev)
b43_phy_write(dev, B43_PHY_RFOVERVAL, b43_phy_write(dev, B43_PHY_RFOVERVAL,
b43_phy_read(dev, B43_PHY_RFOVERVAL) & 0xCFFF); b43_phy_read(dev, B43_PHY_RFOVERVAL) & 0xCFFF);
if (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_EXTLNA) { if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_EXTLNA) {
if (phy->rev >= 7) { if (phy->rev >= 7) {
b43_phy_write(dev, B43_PHY_RFOVER, b43_phy_write(dev, B43_PHY_RFOVER,
b43_phy_read(dev, B43_PHY_RFOVER) b43_phy_read(dev, B43_PHY_RFOVER)
...@@ -1532,7 +1532,7 @@ static void b43_phy_initg(struct b43_wldev *dev) ...@@ -1532,7 +1532,7 @@ static void b43_phy_initg(struct b43_wldev *dev)
& 0x0FFF) | (phy->lo_control-> & 0x0FFF) | (phy->lo_control->
tx_bias << 12)); tx_bias << 12));
} }
if (dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_PACTRL) if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_PACTRL)
b43_phy_write(dev, B43_PHY_BASE(0x2E), 0x8075); b43_phy_write(dev, B43_PHY_BASE(0x2E), 0x8075);
else else
b43_phy_write(dev, B43_PHY_BASE(0x2E), 0x807F); b43_phy_write(dev, B43_PHY_BASE(0x2E), 0x807F);
...@@ -1546,7 +1546,7 @@ static void b43_phy_initg(struct b43_wldev *dev) ...@@ -1546,7 +1546,7 @@ static void b43_phy_initg(struct b43_wldev *dev)
b43_phy_write(dev, B43_PHY_LO_MASK, 0x8078); b43_phy_write(dev, B43_PHY_LO_MASK, 0x8078);
} }
if (!(dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_RSSI)) { if (!(dev->dev->bus->sprom.boardflags_lo & B43_BFL_RSSI)) {
/* The specs state to update the NRSSI LT with /* The specs state to update the NRSSI LT with
* the value 0x7FFFFFFF here. I think that is some weird * the value 0x7FFFFFFF here. I think that is some weird
* compiler optimization in the original driver. * compiler optimization in the original driver.
...@@ -1756,16 +1756,15 @@ void b43_phy_xmitpower(struct b43_wldev *dev) ...@@ -1756,16 +1756,15 @@ void b43_phy_xmitpower(struct b43_wldev *dev)
estimated_pwr = estimated_pwr =
b43_phy_estimate_power_out(dev, average); b43_phy_estimate_power_out(dev, average);
max_pwr = dev->dev->bus->sprom.r1.maxpwr_bg; max_pwr = dev->dev->bus->sprom.maxpwr_bg;
if ((dev->dev->bus->sprom.r1. if ((dev->dev->bus->sprom.boardflags_lo
boardflags_lo & B43_BFL_PACTRL) & B43_BFL_PACTRL) && (phy->type == B43_PHYTYPE_G))
&& (phy->type == B43_PHYTYPE_G))
max_pwr -= 0x3; max_pwr -= 0x3;
if (unlikely(max_pwr <= 0)) { if (unlikely(max_pwr <= 0)) {
b43warn(dev->wl, b43warn(dev->wl,
"Invalid max-TX-power value in SPROM.\n"); "Invalid max-TX-power value in SPROM.\n");
max_pwr = 60; /* fake it */ max_pwr = 60; /* fake it */
dev->dev->bus->sprom.r1.maxpwr_bg = max_pwr; dev->dev->bus->sprom.maxpwr_bg = max_pwr;
} }
/*TODO: /*TODO:
...@@ -1823,7 +1822,7 @@ void b43_phy_xmitpower(struct b43_wldev *dev) ...@@ -1823,7 +1822,7 @@ void b43_phy_xmitpower(struct b43_wldev *dev)
B43_TXCTL_TXMIX; B43_TXCTL_TXMIX;
rfatt += 2; rfatt += 2;
bbatt += 2; bbatt += 2;
} else if (dev->dev->bus->sprom.r1. } else if (dev->dev->bus->sprom.
boardflags_lo & boardflags_lo &
B43_BFL_PACTRL) { B43_BFL_PACTRL) {
bbatt += 4 * (rfatt - 2); bbatt += 4 * (rfatt - 2);
...@@ -1899,13 +1898,13 @@ int b43_phy_init_tssi2dbm_table(struct b43_wldev *dev) ...@@ -1899,13 +1898,13 @@ int b43_phy_init_tssi2dbm_table(struct b43_wldev *dev)
s8 *dyn_tssi2dbm; s8 *dyn_tssi2dbm;
if (phy->type == B43_PHYTYPE_A) { if (phy->type == B43_PHYTYPE_A) {
pab0 = (s16) (dev->dev->bus->sprom.r1.pa1b0); pab0 = (s16) (dev->dev->bus->sprom.pa1b0);
pab1 = (s16) (dev->dev->bus->sprom.r1.pa1b1); pab1 = (s16) (dev->dev->bus->sprom.pa1b1);
pab2 = (s16) (dev->dev->bus->sprom.r1.pa1b2); pab2 = (s16) (dev->dev->bus->sprom.pa1b2);
} else { } else {
pab0 = (s16) (dev->dev->bus->sprom.r1.pa0b0); pab0 = (s16) (dev->dev->bus->sprom.pa0b0);
pab1 = (s16) (dev->dev->bus->sprom.r1.pa0b1); pab1 = (s16) (dev->dev->bus->sprom.pa0b1);
pab2 = (s16) (dev->dev->bus->sprom.r1.pa0b2); pab2 = (s16) (dev->dev->bus->sprom.pa0b2);
} }
if ((dev->dev->bus->chip_id == 0x4301) && (phy->radio_ver != 0x2050)) { if ((dev->dev->bus->chip_id == 0x4301) && (phy->radio_ver != 0x2050)) {
...@@ -1918,17 +1917,17 @@ int b43_phy_init_tssi2dbm_table(struct b43_wldev *dev) ...@@ -1918,17 +1917,17 @@ int b43_phy_init_tssi2dbm_table(struct b43_wldev *dev)
pab0 != -1 && pab1 != -1 && pab2 != -1) { pab0 != -1 && pab1 != -1 && pab2 != -1) {
/* The pabX values are set in SPROM. Use them. */ /* The pabX values are set in SPROM. Use them. */
if (phy->type == B43_PHYTYPE_A) { if (phy->type == B43_PHYTYPE_A) {
if ((s8) dev->dev->bus->sprom.r1.itssi_a != 0 && if ((s8) dev->dev->bus->sprom.itssi_a != 0 &&
(s8) dev->dev->bus->sprom.r1.itssi_a != -1) (s8) dev->dev->bus->sprom.itssi_a != -1)
phy->tgt_idle_tssi = phy->tgt_idle_tssi =
(s8) (dev->dev->bus->sprom.r1.itssi_a); (s8) (dev->dev->bus->sprom.itssi_a);
else else
phy->tgt_idle_tssi = 62; phy->tgt_idle_tssi = 62;
} else { } else {
if ((s8) dev->dev->bus->sprom.r1.itssi_bg != 0 && if ((s8) dev->dev->bus->sprom.itssi_bg != 0 &&
(s8) dev->dev->bus->sprom.r1.itssi_bg != -1) (s8) dev->dev->bus->sprom.itssi_bg != -1)
phy->tgt_idle_tssi = phy->tgt_idle_tssi =
(s8) (dev->dev->bus->sprom.r1.itssi_bg); (s8) (dev->dev->bus->sprom.itssi_bg);
else else
phy->tgt_idle_tssi = 62; phy->tgt_idle_tssi = 62;
} }
...@@ -2834,7 +2833,7 @@ void b43_calc_nrssi_threshold(struct b43_wldev *dev) ...@@ -2834,7 +2833,7 @@ void b43_calc_nrssi_threshold(struct b43_wldev *dev)
if (phy->radio_ver != 0x2050) if (phy->radio_ver != 0x2050)
return; return;
if (! if (!
(dev->dev->bus->sprom.r1. (dev->dev->bus->sprom.
boardflags_lo & B43_BFL_RSSI)) boardflags_lo & B43_BFL_RSSI))
return; return;
...@@ -2865,7 +2864,7 @@ void b43_calc_nrssi_threshold(struct b43_wldev *dev) ...@@ -2865,7 +2864,7 @@ void b43_calc_nrssi_threshold(struct b43_wldev *dev)
} }
case B43_PHYTYPE_G: case B43_PHYTYPE_G:
if (!phy->gmode || if (!phy->gmode ||
!(dev->dev->bus->sprom.r1.boardflags_lo & B43_BFL_RSSI)) { !(dev->dev->bus->sprom.boardflags_lo & B43_BFL_RSSI)) {
tmp16 = b43_nrssi_hw_read(dev, 0x20); tmp16 = b43_nrssi_hw_read(dev, 0x20);
if (tmp16 >= 0x20) if (tmp16 >= 0x20)
tmp16 -= 0x40; tmp16 -= 0x40;
...@@ -3387,7 +3386,7 @@ static u16 radio2050_rfover_val(struct b43_wldev *dev, ...@@ -3387,7 +3386,7 @@ static u16 radio2050_rfover_val(struct b43_wldev *dev,
} }
if ((phy->rev < 7) || if ((phy->rev < 7) ||
!(sprom->r1.boardflags_lo & B43_BFL_EXTLNA)) { !(sprom->boardflags_lo & B43_BFL_EXTLNA)) {
if (phy_register == B43_PHY_RFOVER) { if (phy_register == B43_PHY_RFOVER) {
return 0x1B3; return 0x1B3;
} else if (phy_register == B43_PHY_RFOVERVAL) { } else if (phy_register == B43_PHY_RFOVERVAL) {
...@@ -3427,7 +3426,7 @@ static u16 radio2050_rfover_val(struct b43_wldev *dev, ...@@ -3427,7 +3426,7 @@ static u16 radio2050_rfover_val(struct b43_wldev *dev,
} }
} else { } else {
if ((phy->rev < 7) || if ((phy->rev < 7) ||
!(sprom->r1.boardflags_lo & B43_BFL_EXTLNA)) { !(sprom->boardflags_lo & B43_BFL_EXTLNA)) {
if (phy_register == B43_PHY_RFOVER) { if (phy_register == B43_PHY_RFOVER) {
return 0x1B3; return 0x1B3;
} else if (phy_register == B43_PHY_RFOVERVAL) { } else if (phy_register == B43_PHY_RFOVERVAL) {
...@@ -3906,7 +3905,7 @@ int b43_radio_selectchannel(struct b43_wldev *dev, ...@@ -3906,7 +3905,7 @@ int b43_radio_selectchannel(struct b43_wldev *dev,
b43_write16(dev, B43_MMIO_CHANNEL, channel2freq_bg(channel)); b43_write16(dev, B43_MMIO_CHANNEL, channel2freq_bg(channel));
if (channel == 14) { if (channel == 14) {
if (dev->dev->bus->sprom.r1.country_code == if (dev->dev->bus->sprom.country_code ==
SSB_SPROM1CCODE_JAPAN) SSB_SPROM1CCODE_JAPAN)
b43_hf_write(dev, b43_hf_write(dev,
b43_hf_read(dev) & ~B43_HF_ACPR); b43_hf_read(dev) & ~B43_HF_ACPR);
......
...@@ -527,7 +527,7 @@ static void b43_wa_boards_g(struct b43_wldev *dev) ...@@ -527,7 +527,7 @@ static void b43_wa_boards_g(struct b43_wldev *dev)
} else { } else {
b43_ofdmtab_write16(dev, B43_OFDMTAB_GAINX, 1, 0x0002); b43_ofdmtab_write16(dev, B43_OFDMTAB_GAINX, 1, 0x0002);
b43_ofdmtab_write16(dev, B43_OFDMTAB_GAINX, 2, 0x0001); b43_ofdmtab_write16(dev, B43_OFDMTAB_GAINX, 2, 0x0001);
if ((bus->sprom.r1.boardflags_lo & B43_BFL_EXTLNA) && if ((bus->sprom.boardflags_lo & B43_BFL_EXTLNA) &&
(phy->rev >= 7)) { (phy->rev >= 7)) {
b43_phy_write(dev, B43_PHY_EXTG(0x11), b43_phy_write(dev, B43_PHY_EXTG(0x11),
b43_phy_read(dev, B43_PHY_EXTG(0x11)) & 0xF7FF); b43_phy_read(dev, B43_PHY_EXTG(0x11)) & 0xF7FF);
...@@ -540,7 +540,7 @@ static void b43_wa_boards_g(struct b43_wldev *dev) ...@@ -540,7 +540,7 @@ static void b43_wa_boards_g(struct b43_wldev *dev)
} }
} }
} }
if (bus->sprom.r1.boardflags_lo & B43_BFL_FEM) { if (bus->sprom.boardflags_lo & B43_BFL_FEM) {
b43_phy_write(dev, B43_PHY_GTABCTL, 0x3120); b43_phy_write(dev, B43_PHY_GTABCTL, 0x3120);
b43_phy_write(dev, B43_PHY_GTABDATA, 0xC480); b43_phy_write(dev, B43_PHY_GTABDATA, 0xC480);
} }
......
...@@ -385,7 +385,7 @@ static s8 b43_rssi_postprocess(struct b43_wldev *dev, ...@@ -385,7 +385,7 @@ static s8 b43_rssi_postprocess(struct b43_wldev *dev,
else else
tmp -= 3; tmp -= 3;
} else { } else {
if (dev->dev->bus->sprom.r1. if (dev->dev->bus->sprom.
boardflags_lo & B43_BFL_RSSI) { boardflags_lo & B43_BFL_RSSI) {
if (in_rssi > 63) if (in_rssi > 63)
in_rssi = 63; in_rssi = 63;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment