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