Lines Matching refs:tbl

89 					 struct mwifiex_rx_reorder_tbl *tbl,  in mwifiex_11n_dispatch_pkt_until_start_win()  argument
96 pkt_to_send = (start_win > tbl->start_win) ? in mwifiex_11n_dispatch_pkt_until_start_win()
97 min((start_win - tbl->start_win), tbl->win_size) : in mwifiex_11n_dispatch_pkt_until_start_win()
98 tbl->win_size; in mwifiex_11n_dispatch_pkt_until_start_win()
103 if (tbl->rx_reorder_ptr[i]) { in mwifiex_11n_dispatch_pkt_until_start_win()
104 rx_tmp_ptr = tbl->rx_reorder_ptr[i]; in mwifiex_11n_dispatch_pkt_until_start_win()
105 tbl->rx_reorder_ptr[i] = NULL; in mwifiex_11n_dispatch_pkt_until_start_win()
117 for (i = 0; i < tbl->win_size - pkt_to_send; ++i) { in mwifiex_11n_dispatch_pkt_until_start_win()
118 tbl->rx_reorder_ptr[i] = tbl->rx_reorder_ptr[pkt_to_send + i]; in mwifiex_11n_dispatch_pkt_until_start_win()
119 tbl->rx_reorder_ptr[pkt_to_send + i] = NULL; in mwifiex_11n_dispatch_pkt_until_start_win()
122 tbl->start_win = start_win; in mwifiex_11n_dispatch_pkt_until_start_win()
136 struct mwifiex_rx_reorder_tbl *tbl) in mwifiex_11n_scan_and_dispatch() argument
142 for (i = 0; i < tbl->win_size; ++i) { in mwifiex_11n_scan_and_dispatch()
144 if (!tbl->rx_reorder_ptr[i]) { in mwifiex_11n_scan_and_dispatch()
148 rx_tmp_ptr = tbl->rx_reorder_ptr[i]; in mwifiex_11n_scan_and_dispatch()
149 tbl->rx_reorder_ptr[i] = NULL; in mwifiex_11n_scan_and_dispatch()
160 xchg = tbl->win_size - i; in mwifiex_11n_scan_and_dispatch()
162 tbl->rx_reorder_ptr[j] = tbl->rx_reorder_ptr[i + j]; in mwifiex_11n_scan_and_dispatch()
163 tbl->rx_reorder_ptr[i + j] = NULL; in mwifiex_11n_scan_and_dispatch()
166 tbl->start_win = (tbl->start_win + i) & (MAX_TID_VALUE - 1); in mwifiex_11n_scan_and_dispatch()
178 struct mwifiex_rx_reorder_tbl *tbl) in mwifiex_del_rx_reorder_entry() argument
183 if (!tbl) in mwifiex_del_rx_reorder_entry()
195 start_win = (tbl->start_win + tbl->win_size) & (MAX_TID_VALUE - 1); in mwifiex_del_rx_reorder_entry()
196 mwifiex_11n_dispatch_pkt_until_start_win(priv, tbl, start_win); in mwifiex_del_rx_reorder_entry()
198 del_timer_sync(&tbl->timer_context.timer); in mwifiex_del_rx_reorder_entry()
199 tbl->timer_context.timer_is_set = false; in mwifiex_del_rx_reorder_entry()
202 list_del(&tbl->list); in mwifiex_del_rx_reorder_entry()
205 kfree(tbl->rx_reorder_ptr); in mwifiex_del_rx_reorder_entry()
206 kfree(tbl); in mwifiex_del_rx_reorder_entry()
221 struct mwifiex_rx_reorder_tbl *tbl; in mwifiex_11n_get_rx_reorder_tbl() local
225 list_for_each_entry(tbl, &priv->rx_reorder_tbl_ptr, list) { in mwifiex_11n_get_rx_reorder_tbl()
226 if (!memcmp(tbl->ta, ta, ETH_ALEN) && tbl->tid == tid) { in mwifiex_11n_get_rx_reorder_tbl()
229 return tbl; in mwifiex_11n_get_rx_reorder_tbl()
242 struct mwifiex_rx_reorder_tbl *tbl, *tmp; in mwifiex_11n_del_rx_reorder_tbl_by_ta() local
249 list_for_each_entry_safe(tbl, tmp, &priv->rx_reorder_tbl_ptr, list) { in mwifiex_11n_del_rx_reorder_tbl_by_ta()
250 if (!memcmp(tbl->ta, ta, ETH_ALEN)) { in mwifiex_11n_del_rx_reorder_tbl_by_ta()
253 mwifiex_del_rx_reorder_entry(priv, tbl); in mwifiex_11n_del_rx_reorder_tbl_by_ta()
328 struct mwifiex_rx_reorder_tbl *tbl, *new_node; in mwifiex_11n_create_rx_reorder_tbl() local
337 tbl = mwifiex_11n_get_rx_reorder_tbl(priv, tid, ta); in mwifiex_11n_create_rx_reorder_tbl()
338 if (tbl) { in mwifiex_11n_create_rx_reorder_tbl()
339 mwifiex_11n_dispatch_pkt_until_start_win(priv, tbl, seq_num); in mwifiex_11n_create_rx_reorder_tbl()
406 mwifiex_11n_rxreorder_timer_restart(struct mwifiex_rx_reorder_tbl *tbl) in mwifiex_11n_rxreorder_timer_restart() argument
410 if (tbl->win_size >= MWIFIEX_BA_WIN_SIZE_32) in mwifiex_11n_rxreorder_timer_restart()
415 mod_timer(&tbl->timer_context.timer, in mwifiex_11n_rxreorder_timer_restart()
416 jiffies + msecs_to_jiffies(min_flush_time * tbl->win_size)); in mwifiex_11n_rxreorder_timer_restart()
418 tbl->timer_context.timer_is_set = true; in mwifiex_11n_rxreorder_timer_restart()
548 struct mwifiex_rx_reorder_tbl *tbl; in mwifiex_11n_rx_reorder_pkt() local
554 tbl = mwifiex_11n_get_rx_reorder_tbl(priv, tid, ta); in mwifiex_11n_rx_reorder_pkt()
555 if (!tbl) { in mwifiex_11n_rx_reorder_pkt()
561 if ((pkt_type == PKT_TYPE_AMSDU) && !tbl->amsdu) { in mwifiex_11n_rx_reorder_pkt()
566 start_win = tbl->start_win; in mwifiex_11n_rx_reorder_pkt()
568 win_size = tbl->win_size; in mwifiex_11n_rx_reorder_pkt()
570 if (tbl->flags & RXREOR_INIT_WINDOW_SHIFT) { in mwifiex_11n_rx_reorder_pkt()
572 tbl->flags &= ~RXREOR_INIT_WINDOW_SHIFT; in mwifiex_11n_rx_reorder_pkt()
575 if (tbl->flags & RXREOR_FORCE_NO_DROP) { in mwifiex_11n_rx_reorder_pkt()
578 tbl->flags &= ~RXREOR_FORCE_NO_DROP; in mwifiex_11n_rx_reorder_pkt()
580 seq_num >= tbl->init_win) { in mwifiex_11n_rx_reorder_pkt()
583 start_win, seq_num, tbl->init_win); in mwifiex_11n_rx_reorder_pkt()
584 tbl->start_win = start_win = seq_num; in mwifiex_11n_rx_reorder_pkt()
621 mwifiex_11n_dispatch_pkt_until_start_win(priv, tbl, start_win); in mwifiex_11n_rx_reorder_pkt()
630 if (tbl->rx_reorder_ptr[pkt_index]) { in mwifiex_11n_rx_reorder_pkt()
635 tbl->rx_reorder_ptr[pkt_index] = payload; in mwifiex_11n_rx_reorder_pkt()
642 mwifiex_11n_scan_and_dispatch(priv, tbl); in mwifiex_11n_rx_reorder_pkt()
645 if (!tbl->timer_context.timer_is_set || in mwifiex_11n_rx_reorder_pkt()
646 prev_start_win != tbl->start_win) in mwifiex_11n_rx_reorder_pkt()
647 mwifiex_11n_rxreorder_timer_restart(tbl); in mwifiex_11n_rx_reorder_pkt()
660 struct mwifiex_rx_reorder_tbl *tbl; in mwifiex_del_ba_tbl() local
675 tbl = mwifiex_11n_get_rx_reorder_tbl(priv, tid, in mwifiex_del_ba_tbl()
677 if (!tbl) { in mwifiex_del_ba_tbl()
682 mwifiex_del_rx_reorder_entry(priv, tbl); in mwifiex_del_ba_tbl()
712 struct mwifiex_rx_reorder_tbl *tbl; in mwifiex_ret_11n_addba_resp() local
727 tbl = mwifiex_11n_get_rx_reorder_tbl(priv, tid, in mwifiex_ret_11n_addba_resp()
729 if (tbl) in mwifiex_ret_11n_addba_resp()
730 mwifiex_del_rx_reorder_entry(priv, tbl); in mwifiex_ret_11n_addba_resp()
738 tbl = mwifiex_11n_get_rx_reorder_tbl(priv, tid, in mwifiex_ret_11n_addba_resp()
740 if (tbl) { in mwifiex_ret_11n_addba_resp()
744 tbl->amsdu = true; in mwifiex_ret_11n_addba_resp()
746 tbl->amsdu = false; in mwifiex_ret_11n_addba_resp()
804 struct mwifiex_rx_reorder_tbl *tbl; in mwifiex_update_rxreor_flags() local
820 list_for_each_entry(tbl, &priv->rx_reorder_tbl_ptr, list) in mwifiex_update_rxreor_flags()
821 tbl->flags = flags; in mwifiex_update_rxreor_flags()