Lines Matching refs:tbl

98 					 struct mwifiex_rx_reorder_tbl *tbl,  in mwifiex_11n_dispatch_pkt_until_start_win()  argument
108 pkt_to_send = (start_win > tbl->start_win) ? in mwifiex_11n_dispatch_pkt_until_start_win()
109 min((start_win - tbl->start_win), tbl->win_size) : in mwifiex_11n_dispatch_pkt_until_start_win()
110 tbl->win_size; in mwifiex_11n_dispatch_pkt_until_start_win()
113 if (tbl->rx_reorder_ptr[i]) { in mwifiex_11n_dispatch_pkt_until_start_win()
114 skb = tbl->rx_reorder_ptr[i]; in mwifiex_11n_dispatch_pkt_until_start_win()
116 tbl->rx_reorder_ptr[i] = NULL; in mwifiex_11n_dispatch_pkt_until_start_win()
124 for (i = 0; i < tbl->win_size - pkt_to_send; ++i) { in mwifiex_11n_dispatch_pkt_until_start_win()
125 tbl->rx_reorder_ptr[i] = tbl->rx_reorder_ptr[pkt_to_send + i]; in mwifiex_11n_dispatch_pkt_until_start_win()
126 tbl->rx_reorder_ptr[pkt_to_send + i] = NULL; in mwifiex_11n_dispatch_pkt_until_start_win()
129 tbl->start_win = start_win; in mwifiex_11n_dispatch_pkt_until_start_win()
146 struct mwifiex_rx_reorder_tbl *tbl) in mwifiex_11n_scan_and_dispatch() argument
155 for (i = 0; i < tbl->win_size; ++i) { in mwifiex_11n_scan_and_dispatch()
156 if (!tbl->rx_reorder_ptr[i]) in mwifiex_11n_scan_and_dispatch()
158 skb = tbl->rx_reorder_ptr[i]; in mwifiex_11n_scan_and_dispatch()
160 tbl->rx_reorder_ptr[i] = NULL; in mwifiex_11n_scan_and_dispatch()
168 xchg = tbl->win_size - i; in mwifiex_11n_scan_and_dispatch()
170 tbl->rx_reorder_ptr[j] = tbl->rx_reorder_ptr[i + j]; in mwifiex_11n_scan_and_dispatch()
171 tbl->rx_reorder_ptr[i + j] = NULL; in mwifiex_11n_scan_and_dispatch()
174 tbl->start_win = (tbl->start_win + i) & (MAX_TID_VALUE - 1); in mwifiex_11n_scan_and_dispatch()
190 struct mwifiex_rx_reorder_tbl *tbl) in mwifiex_del_rx_reorder_entry() argument
194 if (!tbl) in mwifiex_del_rx_reorder_entry()
206 start_win = (tbl->start_win + tbl->win_size) & (MAX_TID_VALUE - 1); in mwifiex_del_rx_reorder_entry()
207 mwifiex_11n_dispatch_pkt_until_start_win(priv, tbl, start_win); in mwifiex_del_rx_reorder_entry()
209 del_timer_sync(&tbl->timer_context.timer); in mwifiex_del_rx_reorder_entry()
210 tbl->timer_context.timer_is_set = false; in mwifiex_del_rx_reorder_entry()
213 list_del(&tbl->list); in mwifiex_del_rx_reorder_entry()
216 kfree(tbl->rx_reorder_ptr); in mwifiex_del_rx_reorder_entry()
217 kfree(tbl); in mwifiex_del_rx_reorder_entry()
232 struct mwifiex_rx_reorder_tbl *tbl; in mwifiex_11n_get_rx_reorder_tbl() local
235 list_for_each_entry(tbl, &priv->rx_reorder_tbl_ptr, list) { in mwifiex_11n_get_rx_reorder_tbl()
236 if (!memcmp(tbl->ta, ta, ETH_ALEN) && tbl->tid == tid) { in mwifiex_11n_get_rx_reorder_tbl()
238 return tbl; in mwifiex_11n_get_rx_reorder_tbl()
251 struct mwifiex_rx_reorder_tbl *tbl, *tmp; in mwifiex_11n_del_rx_reorder_tbl_by_ta() local
257 list_for_each_entry_safe(tbl, tmp, &priv->rx_reorder_tbl_ptr, list) { in mwifiex_11n_del_rx_reorder_tbl_by_ta()
258 if (!memcmp(tbl->ta, ta, ETH_ALEN)) { in mwifiex_11n_del_rx_reorder_tbl_by_ta()
260 mwifiex_del_rx_reorder_entry(priv, tbl); in mwifiex_11n_del_rx_reorder_tbl_by_ta()
333 struct mwifiex_rx_reorder_tbl *tbl, *new_node; in mwifiex_11n_create_rx_reorder_tbl() local
341 tbl = mwifiex_11n_get_rx_reorder_tbl(priv, tid, ta); in mwifiex_11n_create_rx_reorder_tbl()
342 if (tbl) { in mwifiex_11n_create_rx_reorder_tbl()
343 mwifiex_11n_dispatch_pkt_until_start_win(priv, tbl, seq_num); in mwifiex_11n_create_rx_reorder_tbl()
410 mwifiex_11n_rxreorder_timer_restart(struct mwifiex_rx_reorder_tbl *tbl) in mwifiex_11n_rxreorder_timer_restart() argument
414 if (tbl->win_size >= MWIFIEX_BA_WIN_SIZE_32) in mwifiex_11n_rxreorder_timer_restart()
419 mod_timer(&tbl->timer_context.timer, in mwifiex_11n_rxreorder_timer_restart()
420 jiffies + msecs_to_jiffies(min_flush_time * tbl->win_size)); in mwifiex_11n_rxreorder_timer_restart()
422 tbl->timer_context.timer_is_set = true; in mwifiex_11n_rxreorder_timer_restart()
551 struct mwifiex_rx_reorder_tbl *tbl; in mwifiex_11n_rx_reorder_pkt() local
557 tbl = mwifiex_11n_get_rx_reorder_tbl(priv, tid, ta); in mwifiex_11n_rx_reorder_pkt()
558 if (!tbl) { in mwifiex_11n_rx_reorder_pkt()
564 if ((pkt_type == PKT_TYPE_AMSDU) && !tbl->amsdu) { in mwifiex_11n_rx_reorder_pkt()
569 start_win = tbl->start_win; in mwifiex_11n_rx_reorder_pkt()
571 win_size = tbl->win_size; in mwifiex_11n_rx_reorder_pkt()
573 if (tbl->flags & RXREOR_INIT_WINDOW_SHIFT) { in mwifiex_11n_rx_reorder_pkt()
575 tbl->flags &= ~RXREOR_INIT_WINDOW_SHIFT; in mwifiex_11n_rx_reorder_pkt()
578 if (tbl->flags & RXREOR_FORCE_NO_DROP) { in mwifiex_11n_rx_reorder_pkt()
581 tbl->flags &= ~RXREOR_FORCE_NO_DROP; in mwifiex_11n_rx_reorder_pkt()
583 seq_num >= tbl->init_win) { in mwifiex_11n_rx_reorder_pkt()
586 start_win, seq_num, tbl->init_win); in mwifiex_11n_rx_reorder_pkt()
587 tbl->start_win = start_win = seq_num; in mwifiex_11n_rx_reorder_pkt()
624 mwifiex_11n_dispatch_pkt_until_start_win(priv, tbl, start_win); in mwifiex_11n_rx_reorder_pkt()
633 if (tbl->rx_reorder_ptr[pkt_index]) { in mwifiex_11n_rx_reorder_pkt()
638 tbl->rx_reorder_ptr[pkt_index] = payload; in mwifiex_11n_rx_reorder_pkt()
645 mwifiex_11n_scan_and_dispatch(priv, tbl); in mwifiex_11n_rx_reorder_pkt()
648 if (!tbl->timer_context.timer_is_set || in mwifiex_11n_rx_reorder_pkt()
649 prev_start_win != tbl->start_win) in mwifiex_11n_rx_reorder_pkt()
650 mwifiex_11n_rxreorder_timer_restart(tbl); in mwifiex_11n_rx_reorder_pkt()
663 struct mwifiex_rx_reorder_tbl *tbl; in mwifiex_del_ba_tbl() local
678 tbl = mwifiex_11n_get_rx_reorder_tbl(priv, tid, in mwifiex_del_ba_tbl()
680 if (!tbl) { in mwifiex_del_ba_tbl()
685 mwifiex_del_rx_reorder_entry(priv, tbl); in mwifiex_del_ba_tbl()
717 struct mwifiex_rx_reorder_tbl *tbl; in mwifiex_ret_11n_addba_resp() local
732 tbl = mwifiex_11n_get_rx_reorder_tbl(priv, tid, in mwifiex_ret_11n_addba_resp()
734 if (tbl) in mwifiex_ret_11n_addba_resp()
735 mwifiex_del_rx_reorder_entry(priv, tbl); in mwifiex_ret_11n_addba_resp()
743 tbl = mwifiex_11n_get_rx_reorder_tbl(priv, tid, in mwifiex_ret_11n_addba_resp()
745 if (tbl) { in mwifiex_ret_11n_addba_resp()
749 tbl->amsdu = true; in mwifiex_ret_11n_addba_resp()
751 tbl->amsdu = false; in mwifiex_ret_11n_addba_resp()
808 struct mwifiex_rx_reorder_tbl *tbl; in mwifiex_update_rxreor_flags() local
817 list_for_each_entry(tbl, &priv->rx_reorder_tbl_ptr, list) in mwifiex_update_rxreor_flags()
818 tbl->flags = flags; in mwifiex_update_rxreor_flags()