|
@@ -225,13 +225,13 @@ static void b43_nphy_rf_ctl_override_one_to_many(struct b43_wldev *dev,
|
|
|
b43_nphy_rf_ctl_override_rev7(dev, 0x2, value, core, off, 1);
|
|
|
b43_nphy_rf_ctl_override_rev7(dev, 0x1, value, core, off, 1);
|
|
|
b43_nphy_rf_ctl_override_rev7(dev, 0x2, value, core, off, 2);
|
|
|
- b43_nphy_rf_ctl_override_rev7(dev, 0x0800, value, core, off, 1);
|
|
|
+ b43_nphy_rf_ctl_override_rev7(dev, 0x0800, 0, core, off, 1);
|
|
|
break;
|
|
|
case N_RF_CTL_OVER_CMD_TX_PU:
|
|
|
b43_nphy_rf_ctl_override_rev7(dev, 0x4, value, core, off, 0);
|
|
|
b43_nphy_rf_ctl_override_rev7(dev, 0x2, value, core, off, 1);
|
|
|
b43_nphy_rf_ctl_override_rev7(dev, 0x1, value, core, off, 2);
|
|
|
- b43_nphy_rf_ctl_override_rev7(dev, 0x0800, value, core, off, 1);
|
|
|
+ b43_nphy_rf_ctl_override_rev7(dev, 0x0800, 1, core, off, 1);
|
|
|
break;
|
|
|
case N_RF_CTL_OVER_CMD_RX_GAIN:
|
|
|
tmp = value & 0xFF;
|
|
@@ -343,6 +343,7 @@ static void b43_nphy_rf_ctl_intc_override_rev7(struct b43_wldev *dev,
|
|
|
switch (intc_override) {
|
|
|
case N_INTC_OVERRIDE_OFF:
|
|
|
b43_phy_write(dev, reg, 0);
|
|
|
+ b43_phy_mask(dev, 0x2ff, ~0x2000);
|
|
|
b43_nphy_force_rf_sequence(dev, B43_RFSEQ_RESET2RX);
|
|
|
break;
|
|
|
case N_INTC_OVERRIDE_TRSW:
|
|
@@ -1596,7 +1597,7 @@ static void b43_nphy_run_samples(struct b43_wldev *dev, u16 samps, u16 loops,
|
|
|
bool lpf_bw3, lpf_bw4;
|
|
|
|
|
|
lpf_bw3 = b43_phy_read(dev, B43_NPHY_REV7_RF_CTL_OVER3) & 0x80;
|
|
|
- lpf_bw4 = b43_phy_read(dev, B43_NPHY_REV7_RF_CTL_OVER3) & 0x80;
|
|
|
+ lpf_bw4 = b43_phy_read(dev, B43_NPHY_REV7_RF_CTL_OVER4) & 0x80;
|
|
|
|
|
|
if (lpf_bw3 || lpf_bw4) {
|
|
|
/* TODO */
|
|
@@ -2117,7 +2118,7 @@ static void b43_nphy_rev3_rssi_cal(struct b43_wldev *dev)
|
|
|
N_RF_CTL_OVER_CMD_RX_PU,
|
|
|
1, 0, false);
|
|
|
b43_nphy_rf_ctl_override_rev7(dev, 0x80, 1, 0, false, 0);
|
|
|
- b43_nphy_rf_ctl_override_rev7(dev, 0x80, 1, 0, false, 0);
|
|
|
+ b43_nphy_rf_ctl_override_rev7(dev, 0x40, 1, 0, false, 0);
|
|
|
if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) {
|
|
|
b43_nphy_rf_ctl_override_rev7(dev, 0x20, 0, 0, false,
|
|
|
0);
|
|
@@ -3543,7 +3544,7 @@ static void b43_nphy_stop_playback(struct b43_wldev *dev)
|
|
|
nphy->bb_mult_save = 0;
|
|
|
}
|
|
|
|
|
|
- if (phy->rev >= 7) {
|
|
|
+ if (phy->rev >= 7 && nphy->lpf_bw_overrode_for_sample_play) {
|
|
|
if (phy->rev >= 19)
|
|
|
b43_nphy_rf_ctl_override_rev19(dev, 0x80, 0, 0, true,
|
|
|
1);
|
|
@@ -3962,9 +3963,9 @@ static void b43_nphy_tx_power_ctl_idle_tssi(struct b43_wldev *dev)
|
|
|
b43_nphy_ipa_internal_tssi_setup(dev);
|
|
|
|
|
|
if (phy->rev >= 19)
|
|
|
- b43_nphy_rf_ctl_override_rev19(dev, 0x2000, 0, 3, false, 0);
|
|
|
+ b43_nphy_rf_ctl_override_rev19(dev, 0x1000, 0, 3, false, 0);
|
|
|
else if (phy->rev >= 7)
|
|
|
- b43_nphy_rf_ctl_override_rev7(dev, 0x2000, 0, 3, false, 0);
|
|
|
+ b43_nphy_rf_ctl_override_rev7(dev, 0x1000, 0, 3, false, 0);
|
|
|
else if (phy->rev >= 3)
|
|
|
b43_nphy_rf_ctl_override(dev, 0x2000, 0, 3, false);
|
|
|
|
|
@@ -3977,9 +3978,9 @@ static void b43_nphy_tx_power_ctl_idle_tssi(struct b43_wldev *dev)
|
|
|
b43_nphy_rssi_select(dev, 0, N_RSSI_W1);
|
|
|
|
|
|
if (phy->rev >= 19)
|
|
|
- b43_nphy_rf_ctl_override_rev19(dev, 0x2000, 0, 3, true, 0);
|
|
|
+ b43_nphy_rf_ctl_override_rev19(dev, 0x1000, 0, 3, true, 0);
|
|
|
else if (phy->rev >= 7)
|
|
|
- b43_nphy_rf_ctl_override_rev7(dev, 0x2000, 0, 3, true, 0);
|
|
|
+ b43_nphy_rf_ctl_override_rev7(dev, 0x1000, 0, 3, true, 0);
|
|
|
else if (phy->rev >= 3)
|
|
|
b43_nphy_rf_ctl_override(dev, 0x2000, 0, 3, true);
|
|
|
|