Lines Matching refs:amn
1308 rt2860_amrr_choose(&sc->amrr, ni, &sc->amn[wcid]); in rt2860_iter_func()
1387 struct rt2860_amrr_node *amn) in rt2860_amrr_node_init() argument
1389 amn->amn_success = 0; in rt2860_amrr_node_init()
1390 amn->amn_recovery = 0; in rt2860_amrr_node_init()
1391 amn->amn_txcnt = amn->amn_retrycnt = 0; in rt2860_amrr_node_init()
1392 amn->amn_success_threshold = amrr->amrr_min_success_threshold; in rt2860_amrr_node_init()
1397 struct rt2860_amrr_node *amn) in rt2860_amrr_choose() argument
1400 #define is_success(amn) \ in rt2860_amrr_choose() argument
1401 ((amn)->amn_retrycnt < (amn)->amn_txcnt / 10) in rt2860_amrr_choose()
1402 #define is_failure(amn) \ in rt2860_amrr_choose() argument
1403 ((amn)->amn_retrycnt > (amn)->amn_txcnt / 3) in rt2860_amrr_choose()
1404 #define is_enough(amn) \ in rt2860_amrr_choose() argument
1405 ((amn)->amn_txcnt > 10) in rt2860_amrr_choose()
1414 #define reset_cnt(amn) \ in rt2860_amrr_choose() argument
1415 { (amn)->amn_txcnt = (amn)->amn_retrycnt = 0; } in rt2860_amrr_choose()
1419 if (is_success(amn) && is_enough(amn)) { in rt2860_amrr_choose()
1420 amn->amn_success++; in rt2860_amrr_choose()
1421 if (amn->amn_success >= amn->amn_success_threshold && in rt2860_amrr_choose()
1423 amn->amn_recovery = 1; in rt2860_amrr_choose()
1424 amn->amn_success = 0; in rt2860_amrr_choose()
1429 amn->amn_txcnt, amn->amn_retrycnt); in rt2860_amrr_choose()
1432 amn->amn_recovery = 0; in rt2860_amrr_choose()
1434 } else if (is_failure(amn)) { in rt2860_amrr_choose()
1435 amn->amn_success = 0; in rt2860_amrr_choose()
1437 if (amn->amn_recovery) { in rt2860_amrr_choose()
1438 amn->amn_success_threshold *= 2; in rt2860_amrr_choose()
1439 if (amn->amn_success_threshold > in rt2860_amrr_choose()
1441 amn->amn_success_threshold = in rt2860_amrr_choose()
1444 amn->amn_success_threshold = in rt2860_amrr_choose()
1451 amn->amn_txcnt, amn->amn_retrycnt); in rt2860_amrr_choose()
1454 amn->amn_recovery = 0; in rt2860_amrr_choose()
1457 if (is_enough(amn) || need_change) in rt2860_amrr_choose()
1458 reset_cnt(amn); in rt2860_amrr_choose()
1480 rt2860_amrr_node_init(&sc->amrr, &sc->amn[wcid]); in rt2860_newassoc()
1624 struct rt2860_amrr_node *amn; in rt2860_drain_stats_fifo() local
1639 amn = &sc->amn[wcid]; in rt2860_drain_stats_fifo()
1640 amn->amn_txcnt++; in rt2860_drain_stats_fifo()
1651 amn->amn_retrycnt++; in rt2860_drain_stats_fifo()
1653 amn->amn_retrycnt++; in rt2860_drain_stats_fifo()