1 --- a/drivers/net/wireless/ath/ath9k/ani.c
2 +++ b/drivers/net/wireless/ath/ath9k/ani.c
3 @@ -117,8 +117,6 @@ static void ath9k_hw_update_mibstats(str
4 static void ath9k_ani_restart(struct ath_hw *ah)
6 struct ar5416AniState *aniState;
7 - struct ath_common *common = ath9k_hw_common(ah);
8 - u32 ofdm_base = 0, cck_base = 0;
12 @@ -126,13 +124,10 @@ static void ath9k_ani_restart(struct ath
13 aniState = &ah->curchan->ani;
14 aniState->listenTime = 0;
16 - ath_dbg(common, ANI, "Writing ofdmbase=%u cckbase=%u\n",
17 - ofdm_base, cck_base);
19 ENABLE_REGWRITE_BUFFER(ah);
21 - REG_WRITE(ah, AR_PHY_ERR_1, ofdm_base);
22 - REG_WRITE(ah, AR_PHY_ERR_2, cck_base);
23 + REG_WRITE(ah, AR_PHY_ERR_1, 0);
24 + REG_WRITE(ah, AR_PHY_ERR_2, 0);
25 REG_WRITE(ah, AR_PHY_ERR_MASK_1, AR_PHY_ERR_OFDM_TIMING);
26 REG_WRITE(ah, AR_PHY_ERR_MASK_2, AR_PHY_ERR_CCK_TIMING);
28 @@ -375,9 +370,6 @@ static bool ath9k_hw_ani_read_counters(s
30 struct ath_common *common = ath9k_hw_common(ah);
31 struct ar5416AniState *aniState = &ah->curchan->ani;
34 - u32 ofdmPhyErrCnt, cckPhyErrCnt;
38 @@ -397,15 +389,12 @@ static bool ath9k_hw_ani_read_counters(s
39 phyCnt1 = REG_READ(ah, AR_PHY_ERR_1);
40 phyCnt2 = REG_READ(ah, AR_PHY_ERR_2);
42 - ofdmPhyErrCnt = phyCnt1 - ofdm_base;
43 - ah->stats.ast_ani_ofdmerrs +=
44 - ofdmPhyErrCnt - aniState->ofdmPhyErrCount;
45 - aniState->ofdmPhyErrCount = ofdmPhyErrCnt;
47 - cckPhyErrCnt = phyCnt2 - cck_base;
48 - ah->stats.ast_ani_cckerrs +=
49 - cckPhyErrCnt - aniState->cckPhyErrCount;
50 - aniState->cckPhyErrCount = cckPhyErrCnt;
51 + ah->stats.ast_ani_ofdmerrs += phyCnt1 - aniState->ofdmPhyErrCount;
52 + aniState->ofdmPhyErrCount = phyCnt1;
54 + ah->stats.ast_ani_cckerrs += phyCnt2 - aniState->cckPhyErrCount;
55 + aniState->cckPhyErrCount = phyCnt2;
60 @@ -565,20 +554,19 @@ void ath9k_hw_ani_init(struct ath_hw *ah
62 ath_dbg(common, ANI, "Initialize ANI\n");
64 - ah->config.ofdm_trig_high = ATH9K_ANI_OFDM_TRIG_HIGH_NEW;
65 - ah->config.ofdm_trig_low = ATH9K_ANI_OFDM_TRIG_LOW_NEW;
66 + ah->config.ofdm_trig_high = ATH9K_ANI_OFDM_TRIG_HIGH;
67 + ah->config.ofdm_trig_low = ATH9K_ANI_OFDM_TRIG_LOW;
69 - ah->config.cck_trig_high = ATH9K_ANI_CCK_TRIG_HIGH_NEW;
70 - ah->config.cck_trig_low = ATH9K_ANI_CCK_TRIG_LOW_NEW;
71 + ah->config.cck_trig_high = ATH9K_ANI_CCK_TRIG_HIGH;
72 + ah->config.cck_trig_low = ATH9K_ANI_CCK_TRIG_LOW;
74 for (i = 0; i < ARRAY_SIZE(ah->channels); i++) {
75 struct ath9k_channel *chan = &ah->channels[i];
76 struct ar5416AniState *ani = &chan->ani;
78 - ani->spurImmunityLevel =
79 - ATH9K_ANI_SPUR_IMMUNE_LVL_NEW;
80 + ani->spurImmunityLevel = ATH9K_ANI_SPUR_IMMUNE_LVL;
82 - ani->firstepLevel = ATH9K_ANI_FIRSTEP_LVL_NEW;
83 + ani->firstepLevel = ATH9K_ANI_FIRSTEP_LVL;
85 if (AR_SREV_9300_20_OR_LATER(ah))
87 @@ -600,8 +588,8 @@ void ath9k_hw_ani_init(struct ath_hw *ah
88 * since we expect some ongoing maintenance on the tables, let's sanity
89 * check here default level should not modify INI setting.
91 - ah->aniperiod = ATH9K_ANI_PERIOD_NEW;
92 - ah->config.ani_poll_interval = ATH9K_ANI_POLLINTERVAL_NEW;
93 + ah->aniperiod = ATH9K_ANI_PERIOD;
94 + ah->config.ani_poll_interval = ATH9K_ANI_POLLINTERVAL;
96 if (ah->config.enable_ani)
97 ah->proc_phyerr |= HAL_PROCESS_ANI;
98 --- a/drivers/net/wireless/ath/ath9k/ani.h
99 +++ b/drivers/net/wireless/ath/ath9k/ani.h
101 #define BEACON_RSSI(ahp) (ahp->stats.avgbrssi)
103 /* units are errors per second */
104 -#define ATH9K_ANI_OFDM_TRIG_HIGH_OLD 500
105 -#define ATH9K_ANI_OFDM_TRIG_HIGH_NEW 3500
106 +#define ATH9K_ANI_OFDM_TRIG_HIGH 3500
107 #define ATH9K_ANI_OFDM_TRIG_HIGH_BELOW_INI 1000
109 /* units are errors per second */
110 -#define ATH9K_ANI_OFDM_TRIG_LOW_OLD 200
111 -#define ATH9K_ANI_OFDM_TRIG_LOW_NEW 400
112 +#define ATH9K_ANI_OFDM_TRIG_LOW 400
113 #define ATH9K_ANI_OFDM_TRIG_LOW_ABOVE_INI 900
115 /* units are errors per second */
116 -#define ATH9K_ANI_CCK_TRIG_HIGH_OLD 200
117 -#define ATH9K_ANI_CCK_TRIG_HIGH_NEW 600
118 +#define ATH9K_ANI_CCK_TRIG_HIGH 600
120 /* units are errors per second */
121 -#define ATH9K_ANI_CCK_TRIG_LOW_OLD 100
122 -#define ATH9K_ANI_CCK_TRIG_LOW_NEW 300
123 +#define ATH9K_ANI_CCK_TRIG_LOW 300
125 #define ATH9K_ANI_NOISE_IMMUNE_LVL 4
126 #define ATH9K_ANI_USE_OFDM_WEAK_SIG true
127 #define ATH9K_ANI_CCK_WEAK_SIG_THR false
129 -#define ATH9K_ANI_SPUR_IMMUNE_LVL_OLD 7
130 -#define ATH9K_ANI_SPUR_IMMUNE_LVL_NEW 3
131 +#define ATH9K_ANI_SPUR_IMMUNE_LVL 3
133 -#define ATH9K_ANI_FIRSTEP_LVL_OLD 0
134 -#define ATH9K_ANI_FIRSTEP_LVL_NEW 2
135 +#define ATH9K_ANI_FIRSTEP_LVL 2
137 #define ATH9K_ANI_RSSI_THR_HIGH 40
138 #define ATH9K_ANI_RSSI_THR_LOW 7
140 -#define ATH9K_ANI_PERIOD_OLD 100
141 -#define ATH9K_ANI_PERIOD_NEW 300
142 +#define ATH9K_ANI_PERIOD 300
145 -#define ATH9K_ANI_POLLINTERVAL_OLD 100
146 -#define ATH9K_ANI_POLLINTERVAL_NEW 1000
147 +#define ATH9K_ANI_POLLINTERVAL 1000
149 #define HAL_NOISE_IMMUNE_MAX 4
150 #define HAL_SPUR_IMMUNE_MAX 7
151 --- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c
152 +++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
153 @@ -1101,7 +1101,7 @@ static bool ar5008_hw_ani_control_new(st
154 * from INI file & cap value
156 value = firstep_table[level] -
157 - firstep_table[ATH9K_ANI_FIRSTEP_LVL_NEW] +
158 + firstep_table[ATH9K_ANI_FIRSTEP_LVL] +
159 aniState->iniDef.firstep;
160 if (value < ATH9K_SIG_FIRSTEP_SETTING_MIN)
161 value = ATH9K_SIG_FIRSTEP_SETTING_MIN;
162 @@ -1116,7 +1116,7 @@ static bool ar5008_hw_ani_control_new(st
163 * from INI file & cap value
165 value2 = firstep_table[level] -
166 - firstep_table[ATH9K_ANI_FIRSTEP_LVL_NEW] +
167 + firstep_table[ATH9K_ANI_FIRSTEP_LVL] +
168 aniState->iniDef.firstepLow;
169 if (value2 < ATH9K_SIG_FIRSTEP_SETTING_MIN)
170 value2 = ATH9K_SIG_FIRSTEP_SETTING_MIN;
171 @@ -1132,7 +1132,7 @@ static bool ar5008_hw_ani_control_new(st
173 aniState->firstepLevel,
175 - ATH9K_ANI_FIRSTEP_LVL_NEW,
176 + ATH9K_ANI_FIRSTEP_LVL,
178 aniState->iniDef.firstep);
180 @@ -1140,7 +1140,7 @@ static bool ar5008_hw_ani_control_new(st
182 aniState->firstepLevel,
184 - ATH9K_ANI_FIRSTEP_LVL_NEW,
185 + ATH9K_ANI_FIRSTEP_LVL,
187 aniState->iniDef.firstepLow);
188 if (level > aniState->firstepLevel)
189 @@ -1165,7 +1165,7 @@ static bool ar5008_hw_ani_control_new(st
190 * from INI file & cap value
192 value = cycpwrThr1_table[level] -
193 - cycpwrThr1_table[ATH9K_ANI_SPUR_IMMUNE_LVL_NEW] +
194 + cycpwrThr1_table[ATH9K_ANI_SPUR_IMMUNE_LVL] +
195 aniState->iniDef.cycpwrThr1;
196 if (value < ATH9K_SIG_SPUR_IMM_SETTING_MIN)
197 value = ATH9K_SIG_SPUR_IMM_SETTING_MIN;
198 @@ -1181,7 +1181,7 @@ static bool ar5008_hw_ani_control_new(st
199 * from INI file & cap value
201 value2 = cycpwrThr1_table[level] -
202 - cycpwrThr1_table[ATH9K_ANI_SPUR_IMMUNE_LVL_NEW] +
203 + cycpwrThr1_table[ATH9K_ANI_SPUR_IMMUNE_LVL] +
204 aniState->iniDef.cycpwrThr1Ext;
205 if (value2 < ATH9K_SIG_SPUR_IMM_SETTING_MIN)
206 value2 = ATH9K_SIG_SPUR_IMM_SETTING_MIN;
207 @@ -1196,7 +1196,7 @@ static bool ar5008_hw_ani_control_new(st
209 aniState->spurImmunityLevel,
211 - ATH9K_ANI_SPUR_IMMUNE_LVL_NEW,
212 + ATH9K_ANI_SPUR_IMMUNE_LVL,
214 aniState->iniDef.cycpwrThr1);
216 @@ -1204,7 +1204,7 @@ static bool ar5008_hw_ani_control_new(st
218 aniState->spurImmunityLevel,
220 - ATH9K_ANI_SPUR_IMMUNE_LVL_NEW,
221 + ATH9K_ANI_SPUR_IMMUNE_LVL,
223 aniState->iniDef.cycpwrThr1Ext);
224 if (level > aniState->spurImmunityLevel)
225 @@ -1319,8 +1319,8 @@ static void ar5008_hw_ani_cache_ini_regs
226 AR_PHY_EXT_TIMING5_CYCPWR_THR1);
228 /* these levels just got reset to defaults by the INI */
229 - aniState->spurImmunityLevel = ATH9K_ANI_SPUR_IMMUNE_LVL_NEW;
230 - aniState->firstepLevel = ATH9K_ANI_FIRSTEP_LVL_NEW;
231 + aniState->spurImmunityLevel = ATH9K_ANI_SPUR_IMMUNE_LVL;
232 + aniState->firstepLevel = ATH9K_ANI_FIRSTEP_LVL;
233 aniState->ofdmWeakSigDetect = ATH9K_ANI_USE_OFDM_WEAK_SIG;
234 aniState->mrcCCKOff = true; /* not available on pre AR9003 */
236 --- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
237 +++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
238 @@ -851,7 +851,7 @@ static bool ar9003_hw_ani_control(struct
239 * from INI file & cap value
241 value = firstep_table[level] -
242 - firstep_table[ATH9K_ANI_FIRSTEP_LVL_NEW] +
243 + firstep_table[ATH9K_ANI_FIRSTEP_LVL] +
244 aniState->iniDef.firstep;
245 if (value < ATH9K_SIG_FIRSTEP_SETTING_MIN)
246 value = ATH9K_SIG_FIRSTEP_SETTING_MIN;
247 @@ -866,7 +866,7 @@ static bool ar9003_hw_ani_control(struct
248 * from INI file & cap value
250 value2 = firstep_table[level] -
251 - firstep_table[ATH9K_ANI_FIRSTEP_LVL_NEW] +
252 + firstep_table[ATH9K_ANI_FIRSTEP_LVL] +
253 aniState->iniDef.firstepLow;
254 if (value2 < ATH9K_SIG_FIRSTEP_SETTING_MIN)
255 value2 = ATH9K_SIG_FIRSTEP_SETTING_MIN;
256 @@ -882,7 +882,7 @@ static bool ar9003_hw_ani_control(struct
258 aniState->firstepLevel,
260 - ATH9K_ANI_FIRSTEP_LVL_NEW,
261 + ATH9K_ANI_FIRSTEP_LVL,
263 aniState->iniDef.firstep);
265 @@ -890,7 +890,7 @@ static bool ar9003_hw_ani_control(struct
267 aniState->firstepLevel,
269 - ATH9K_ANI_FIRSTEP_LVL_NEW,
270 + ATH9K_ANI_FIRSTEP_LVL,
272 aniState->iniDef.firstepLow);
273 if (level > aniState->firstepLevel)
274 @@ -915,7 +915,7 @@ static bool ar9003_hw_ani_control(struct
275 * from INI file & cap value
277 value = cycpwrThr1_table[level] -
278 - cycpwrThr1_table[ATH9K_ANI_SPUR_IMMUNE_LVL_NEW] +
279 + cycpwrThr1_table[ATH9K_ANI_SPUR_IMMUNE_LVL] +
280 aniState->iniDef.cycpwrThr1;
281 if (value < ATH9K_SIG_SPUR_IMM_SETTING_MIN)
282 value = ATH9K_SIG_SPUR_IMM_SETTING_MIN;
283 @@ -931,7 +931,7 @@ static bool ar9003_hw_ani_control(struct
284 * from INI file & cap value
286 value2 = cycpwrThr1_table[level] -
287 - cycpwrThr1_table[ATH9K_ANI_SPUR_IMMUNE_LVL_NEW] +
288 + cycpwrThr1_table[ATH9K_ANI_SPUR_IMMUNE_LVL] +
289 aniState->iniDef.cycpwrThr1Ext;
290 if (value2 < ATH9K_SIG_SPUR_IMM_SETTING_MIN)
291 value2 = ATH9K_SIG_SPUR_IMM_SETTING_MIN;
292 @@ -946,7 +946,7 @@ static bool ar9003_hw_ani_control(struct
294 aniState->spurImmunityLevel,
296 - ATH9K_ANI_SPUR_IMMUNE_LVL_NEW,
297 + ATH9K_ANI_SPUR_IMMUNE_LVL,
299 aniState->iniDef.cycpwrThr1);
301 @@ -954,7 +954,7 @@ static bool ar9003_hw_ani_control(struct
303 aniState->spurImmunityLevel,
305 - ATH9K_ANI_SPUR_IMMUNE_LVL_NEW,
306 + ATH9K_ANI_SPUR_IMMUNE_LVL,
308 aniState->iniDef.cycpwrThr1Ext);
309 if (level > aniState->spurImmunityLevel)
310 @@ -1107,8 +1107,8 @@ static void ar9003_hw_ani_cache_ini_regs
311 AR_PHY_EXT_CYCPWR_THR1);
313 /* these levels just got reset to defaults by the INI */
314 - aniState->spurImmunityLevel = ATH9K_ANI_SPUR_IMMUNE_LVL_NEW;
315 - aniState->firstepLevel = ATH9K_ANI_FIRSTEP_LVL_NEW;
316 + aniState->spurImmunityLevel = ATH9K_ANI_SPUR_IMMUNE_LVL;
317 + aniState->firstepLevel = ATH9K_ANI_FIRSTEP_LVL;
318 aniState->ofdmWeakSigDetect = ATH9K_ANI_USE_OFDM_WEAK_SIG;
319 aniState->mrcCCKOff = !ATH9K_ANI_ENABLE_MRC_CCK;