diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-07-30 21:02:09 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-04 15:27:36 -0400 |
commit | 00c86590e36bd42574821b43b5124d75f30df9dd (patch) | |
tree | ddf43562d2f1a26237c32764c46630a07c7d9dd5 /drivers/net/wireless/ath/ath9k/ar9002_calib.c | |
parent | 1601b1e56e1093d6deb8f475fafc30cc30143357 (diff) | |
download | blackbird-op-linux-00c86590e36bd42574821b43b5124d75f30df9dd.tar.gz blackbird-op-linux-00c86590e36bd42574821b43b5124d75f30df9dd.zip |
ath9k_hw: clean up and fix initial noise floor calibration
On AR9003 the initial noise floor calibration is currently triggered
at the end of the reset without allowing the hardware to update the
baseband settings. This could potentially make scans in noisy
environments a bit more unreliable, so use the same calibration
sequence that is used on AR9002.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ar9002_calib.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9002_calib.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_calib.c b/drivers/net/wireless/ath/ath9k/ar9002_calib.c index dabafb874c36..2387ad1a23a0 100644 --- a/drivers/net/wireless/ath/ath9k/ar9002_calib.c +++ b/drivers/net/wireless/ath/ath9k/ar9002_calib.c @@ -721,7 +721,7 @@ static bool ar9002_hw_calibrate(struct ath_hw *ah, */ ath9k_hw_loadnf(ah, ah->curchan); - ath9k_hw_start_nfcal(ah); + ath9k_hw_start_nfcal(ah, false); } return iscaldone; @@ -869,8 +869,7 @@ static bool ar9002_hw_init_cal(struct ath_hw *ah, struct ath9k_channel *chan) ar9002_hw_pa_cal(ah, true); /* Do NF Calibration after DC offset and other calibrations */ - REG_WRITE(ah, AR_PHY_AGC_CONTROL, - REG_READ(ah, AR_PHY_AGC_CONTROL) | AR_PHY_AGC_CONTROL_NF); + ath9k_hw_start_nfcal(ah, true); ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL; |