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