Lines Matching refs:amrr
1847 #define is_success(amrr) \ argument
1848 ((amrr)->retrycnt < (amrr)->txcnt / 10)
1849 #define is_failure(amrr) \ argument
1850 ((amrr)->retrycnt > (amrr)->txcnt / 3)
1851 #define is_enough(amrr) \ argument
1852 ((amrr)->txcnt > 10)
1861 #define reset_cnt(amrr) do { \ argument
1862 (amrr)->txcnt = (amrr)->retrycnt = 0; \
1867 rum_ratectl(struct rum_amrr *amrr, struct ieee80211_node *ni) in rum_ratectl() argument
1871 if (is_success(amrr) && is_enough(amrr)) { in rum_ratectl()
1872 amrr->success++; in rum_ratectl()
1873 if (amrr->success >= amrr->success_threshold && in rum_ratectl()
1875 amrr->recovery = 1; in rum_ratectl()
1876 amrr->success = 0; in rum_ratectl()
1880 amrr->recovery = 0; in rum_ratectl()
1882 } else if (is_failure(amrr)) { in rum_ratectl()
1883 amrr->success = 0; in rum_ratectl()
1885 if (amrr->recovery) { in rum_ratectl()
1886 amrr->success_threshold *= 2; in rum_ratectl()
1887 if (amrr->success_threshold > in rum_ratectl()
1889 amrr->success_threshold = in rum_ratectl()
1892 amrr->success_threshold = in rum_ratectl()
1898 amrr->recovery = 0; /* original paper was incorrect */ in rum_ratectl()
1901 if (is_enough(amrr) || need_change) in rum_ratectl()
1902 reset_cnt(amrr); in rum_ratectl()
1909 struct rum_amrr *amrr = &sc->amrr; in rum_amrr_timeout() local
1918 amrr->retrycnt = in rum_amrr_timeout()
1923 amrr->txcnt = in rum_amrr_timeout()
1924 amrr->retrycnt + in rum_amrr_timeout()
1927 rum_ratectl(amrr, sc->sc_ic.ic_bss); in rum_amrr_timeout()
1936 struct rum_amrr *amrr = &sc->amrr; in rum_amrr_start() local
1942 amrr->success = 0; in rum_amrr_start()
1943 amrr->recovery = 0; in rum_amrr_start()
1944 amrr->txcnt = amrr->retrycnt = 0; in rum_amrr_start()
1945 amrr->success_threshold = RUM_AMRR_MIN_SUCCESS_THRESHOLD; in rum_amrr_start()