Lines Matching refs:amn

120 	struct amrr_node *amn = ATH_NODE_AMRR(an);
122 *rix = amn->amn_tx_rix0;
123 *try0 = amn->amn_tx_try0;
125 *txrate = amn->amn_tx_rate0sp;
127 *txrate = amn->amn_tx_rate0;
134 struct amrr_node *amn = ATH_NODE_AMRR(an);
137 , amn->amn_tx_rate1sp, amn->amn_tx_try1 /* series 1 */
138 , amn->amn_tx_rate2sp, amn->amn_tx_try2 /* series 2 */
139 , amn->amn_tx_rate3sp, amn->amn_tx_try3 /* series 3 */
147 struct amrr_node *amn = ATH_NODE_AMRR(an);
152 amn->amn_tx_try0_cnt++;
154 amn->amn_tx_try1_cnt++;
156 amn->amn_tx_try1_cnt++;
157 amn->amn_tx_try2_cnt++;
159 amn->amn_tx_try1_cnt++;
160 amn->amn_tx_try2_cnt++;
161 amn->amn_tx_try3_cnt++;
163 amn->amn_tx_try1_cnt++;
164 amn->amn_tx_try2_cnt++;
165 amn->amn_tx_try3_cnt++;
166 amn->amn_tx_failure_cnt++;
178 node_reset (struct amrr_node *amn)
180 amn->amn_tx_try0_cnt = 0;
181 amn->amn_tx_try1_cnt = 0;
182 amn->amn_tx_try2_cnt = 0;
183 amn->amn_tx_try3_cnt = 0;
184 amn->amn_tx_failure_cnt = 0;
185 amn->amn_success = 0;
186 amn->amn_recovery = 0;
187 amn->amn_success_threshold = ath_rate_min_success_threshold;
201 struct amrr_node *amn = ATH_NODE_AMRR(an);
221 amn->amn_tx_rix0 = sc->sc_rixmap[
223 amn->amn_tx_rate0 = rt->info[amn->amn_tx_rix0].rateCode;
224 amn->amn_tx_rate0sp = amn->amn_tx_rate0 |
225 rt->info[amn->amn_tx_rix0].shortPreamble;
227 amn->amn_tx_try0 = 1;
228 amn->amn_tx_try1 = 1;
229 amn->amn_tx_try2 = 1;
230 amn->amn_tx_try3 = 1;
234 amn->amn_tx_rate1 = rt->info[rix].rateCode;
235 amn->amn_tx_rate1sp = amn->amn_tx_rate1 |
238 amn->amn_tx_rate1 = amn->amn_tx_rate1sp = 0;
243 amn->amn_tx_rate2 = rt->info[rix].rateCode;
244 amn->amn_tx_rate2sp = amn->amn_tx_rate2 |
247 amn->amn_tx_rate2 = amn->amn_tx_rate2sp = 0;
251 amn->amn_tx_rate3 = rt->info[0].rateCode;
252 amn->amn_tx_rate3sp =
255 amn->amn_tx_rate3 = amn->amn_tx_rate3sp = 0;
258 amn->amn_tx_try0 = ATH_TXMAXTRY;
262 amn->amn_tx_try1 = 0;
263 amn->amn_tx_try2 = 0;
264 amn->amn_tx_try3 = 0;
265 amn->amn_tx_rate1 = amn->amn_tx_rate1sp = 0;
266 amn->amn_tx_rate2 = amn->amn_tx_rate2sp = 0;
267 amn->amn_tx_rate3 = amn->amn_tx_rate3sp = 0;
270 node_reset (amn);
388 struct amrr_node *amn = ATH_NODE_AMRR(ATH_NODE (ni));
391 #define is_success(amn) \
392 (amn->amn_tx_try1_cnt < (amn->amn_tx_try0_cnt/10))
393 #define is_enough(amn) \
394 (amn->amn_tx_try0_cnt > 10)
395 #define is_failure(amn) \
396 (amn->amn_tx_try1_cnt > (amn->amn_tx_try0_cnt/3))
405 amn->amn_tx_try0_cnt,
406 amn->amn_tx_try1_cnt,
407 amn->amn_tx_try2_cnt,
408 amn->amn_tx_try3_cnt,
409 amn->amn_success_threshold);
410 if (is_success (amn) && is_enough (amn)) {
411 amn->amn_success++;
412 if (amn->amn_success == amn->amn_success_threshold &&
414 amn->amn_recovery = 1;
415 amn->amn_success = 0;
419 amn->amn_recovery = 0;
421 } else if (is_failure (amn)) {
422 amn->amn_success = 0;
424 if (amn->amn_recovery) {
426 amn->amn_success_threshold *= 2;
427 amn->amn_success_threshold = min (amn->amn_success_threshold,
429 DPRINTF (sc, "decrease rate recovery thr: %d\n", amn->amn_success_threshold);
432 amn->amn_success_threshold = ath_rate_min_success_threshold;
433 DPRINTF (sc, "decrease rate normal thr: %d\n", amn->amn_success_threshold);
435 amn->amn_recovery = 0;
438 amn->amn_recovery = 0;
442 if (is_enough (amn) || old_rate != ni->ni_txrate) {
444 amn->amn_tx_try0_cnt = 0;
445 amn->amn_tx_try1_cnt = 0;
446 amn->amn_tx_try2_cnt = 0;
447 amn->amn_tx_try3_cnt = 0;
448 amn->amn_tx_failure_cnt = 0;