Lines Matching refs:amrr

1215 	wpi_amrr_t *amrr;  in wpi_node_alloc()  local
1217 amrr = kmem_zalloc(sizeof (wpi_amrr_t), KM_SLEEP); in wpi_node_alloc()
1218 if (amrr != NULL) in wpi_node_alloc()
1219 wpi_amrr_init(amrr); in wpi_node_alloc()
1220 return (&amrr->in); in wpi_node_alloc()
1776 wpi_amrr_t *amrr = (wpi_amrr_t *)ic->ic_bss; local
1783 amrr->txcnt++;
1784 WPI_DBG((WPI_DEBUG_RATECTL, "tx: %d cnt\n", amrr->txcnt));
1786 amrr->retrycnt++;
1789 amrr->retrycnt));
3547 #define is_success(amrr) \ argument
3548 ((amrr)->retrycnt < (amrr)->txcnt / 10)
3549 #define is_failure(amrr) \ argument
3550 ((amrr)->retrycnt > (amrr)->txcnt / 3)
3551 #define is_enough(amrr) \ argument
3552 ((amrr)->txcnt > 100)
3561 #define reset_cnt(amrr) \ argument
3562 { (amrr)->txcnt = (amrr)->retrycnt = 0; }
3568 wpi_amrr_init(wpi_amrr_t *amrr) argument
3570 amrr->success = 0;
3571 amrr->recovery = 0;
3572 amrr->txcnt = amrr->retrycnt = 0;
3573 amrr->success_threshold = WPI_AMRR_MIN_SUCCESS_THRESHOLD;
3593 wpi_amrr_t *amrr = (wpi_amrr_t *)in; local
3596 if (is_success(amrr) && is_enough(amrr)) {
3597 amrr->success++;
3598 if (amrr->success >= amrr->success_threshold &&
3600 amrr->recovery = 1;
3601 amrr->success = 0;
3605 in->in_txrate, amrr->txcnt, amrr->retrycnt));
3608 amrr->recovery = 0;
3610 } else if (is_failure(amrr)) {
3611 amrr->success = 0;
3613 if (amrr->recovery) {
3614 amrr->success_threshold++;
3615 if (amrr->success_threshold >
3617 amrr->success_threshold =
3620 amrr->success_threshold =
3626 in->in_txrate, amrr->txcnt, amrr->retrycnt));
3629 amrr->recovery = 0; /* paper is incorrect */
3632 if (is_enough(amrr) || need_change)
3633 reset_cnt(amrr);