Lines Matching refs:amrr
1826 #define is_success(amrr) \ argument
1827 ((amrr)->retrycnt < (amrr)->txcnt / 10)
1828 #define is_failure(amrr) \ argument
1829 ((amrr)->retrycnt > (amrr)->txcnt / 3)
1830 #define is_enough(amrr) \ argument
1831 ((amrr)->txcnt > 10)
1840 #define reset_cnt(amrr) do { \ argument
1841 (amrr)->txcnt = (amrr)->retrycnt = 0; \
1846 ural_ratectl(struct ural_amrr *amrr, struct ieee80211_node *ni) in ural_ratectl() argument
1850 if (is_success(amrr) && is_enough(amrr)) { in ural_ratectl()
1851 amrr->success++; in ural_ratectl()
1852 if (amrr->success >= amrr->success_threshold && in ural_ratectl()
1854 amrr->recovery = 1; in ural_ratectl()
1855 amrr->success = 0; in ural_ratectl()
1859 amrr->recovery = 0; in ural_ratectl()
1861 } else if (is_failure(amrr)) { in ural_ratectl()
1862 amrr->success = 0; in ural_ratectl()
1864 if (amrr->recovery) { in ural_ratectl()
1865 amrr->success_threshold *= 2; in ural_ratectl()
1866 if (amrr->success_threshold > in ural_ratectl()
1868 amrr->success_threshold = in ural_ratectl()
1871 amrr->success_threshold = in ural_ratectl()
1877 amrr->recovery = 0; /* original paper was incorrect */ in ural_ratectl()
1880 if (is_enough(amrr) || need_change) in ural_ratectl()
1881 reset_cnt(amrr); in ural_ratectl()
1888 struct ural_amrr *amrr = &sc->amrr; in ural_amrr_timeout() local
1896 amrr->retrycnt = in ural_amrr_timeout()
1901 amrr->txcnt = in ural_amrr_timeout()
1902 amrr->retrycnt + in ural_amrr_timeout()
1905 ural_ratectl(amrr, sc->sc_ic.ic_bss); in ural_amrr_timeout()
1915 struct ural_amrr *amrr = &sc->amrr; in ural_amrr_start() local
1921 amrr->success = 0; in ural_amrr_start()
1922 amrr->recovery = 0; in ural_amrr_start()
1923 amrr->txcnt = amrr->retrycnt = 0; in ural_amrr_start()
1924 amrr->success_threshold = URAL_AMRR_MIN_SUCCESS_THRESHOLD; in ural_amrr_start()