Lines Matching defs:amn
1307 rt2860_amrr_choose(&sc->amrr, ni, &sc->amn[wcid]);
1386 struct rt2860_amrr_node *amn)
1388 amn->amn_success = 0;
1389 amn->amn_recovery = 0;
1390 amn->amn_txcnt = amn->amn_retrycnt = 0;
1391 amn->amn_success_threshold = amrr->amrr_min_success_threshold;
1396 struct rt2860_amrr_node *amn)
1399 #define is_success(amn) \
1400 ((amn)->amn_retrycnt < (amn)->amn_txcnt / 10)
1401 #define is_failure(amn) \
1402 ((amn)->amn_retrycnt > (amn)->amn_txcnt / 3)
1403 #define is_enough(amn) \
1404 ((amn)->amn_txcnt > 10)
1413 #define reset_cnt(amn) \
1414 { (amn)->amn_txcnt = (amn)->amn_retrycnt = 0; }
1418 if (is_success(amn) && is_enough(amn)) {
1419 amn->amn_success++;
1420 if (amn->amn_success >= amn->amn_success_threshold &&
1422 amn->amn_recovery = 1;
1423 amn->amn_success = 0;
1428 amn->amn_txcnt, amn->amn_retrycnt);
1431 amn->amn_recovery = 0;
1433 } else if (is_failure(amn)) {
1434 amn->amn_success = 0;
1436 if (amn->amn_recovery) {
1437 amn->amn_success_threshold *= 2;
1438 if (amn->amn_success_threshold >
1440 amn->amn_success_threshold =
1443 amn->amn_success_threshold =
1450 amn->amn_txcnt, amn->amn_retrycnt);
1453 amn->amn_recovery = 0;
1456 if (is_enough(amn) || need_change)
1457 reset_cnt(amn);
1479 rt2860_amrr_node_init(&sc->amrr, &sc->amn[wcid]);
1623 struct rt2860_amrr_node *amn;
1638 amn = &sc->amn[wcid];
1639 amn->amn_txcnt++;
1650 amn->amn_retrycnt++;
1652 amn->amn_retrycnt++;