ath9k: add a few calibration related fixes
[openwrt/staging/chunkeey.git] / package / kernel / mac80211 / patches / 332-ath9k_hw-start-initial-NF-calibration-after-PA-calib.patch
1 From: Felix Fietkau <nbd@openwrt.org>
2 Date: Sat, 18 Oct 2014 13:42:03 +0200
3 Subject: [PATCH] ath9k_hw: start initial NF calibration after PA
4 calibration on <AR9003
5
6 This makes the initial NF calibration less likely to fail.
7
8 Signed-off-by: Felix Fietkau <nbd@openwrt.org>
9 ---
10
11 --- a/drivers/net/wireless/ath/ath9k/ar9002_calib.c
12 +++ b/drivers/net/wireless/ath/ath9k/ar9002_calib.c
13 @@ -856,6 +856,8 @@ static bool ar9002_hw_init_cal(struct at
14
15 /* Do PA Calibration */
16 ar9002_hw_pa_cal(ah, true);
17 + ath9k_hw_loadnf(ah, chan);
18 + ath9k_hw_start_nfcal(ah, true);
19
20 if (ah->caldata)
21 set_bit(NFCAL_PENDING, &ah->caldata->cal_flags);
22 --- a/drivers/net/wireless/ath/ath9k/hw.c
23 +++ b/drivers/net/wireless/ath/ath9k/hw.c
24 @@ -1953,8 +1953,10 @@ int ath9k_hw_reset(struct ath_hw *ah, st
25 if (ath9k_hw_mci_is_enabled(ah))
26 ar9003_mci_check_bt(ah);
27
28 - ath9k_hw_loadnf(ah, chan);
29 - ath9k_hw_start_nfcal(ah, true);
30 + if (AR_SREV_9300_20_OR_LATER(ah)) {
31 + ath9k_hw_loadnf(ah, chan);
32 + ath9k_hw_start_nfcal(ah, true);
33 + }
34
35 if (AR_SREV_9300_20_OR_LATER(ah))
36 ar9003_hw_bb_watchdog_config(ah);