Lines Matching refs:ra_list
97 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_allocate_ralist_node() local
99 ra_list = kzalloc(sizeof(struct mwifiex_ra_list_tbl), GFP_ATOMIC); in mwifiex_wmm_allocate_ralist_node()
100 if (!ra_list) in mwifiex_wmm_allocate_ralist_node()
103 INIT_LIST_HEAD(&ra_list->list); in mwifiex_wmm_allocate_ralist_node()
104 skb_queue_head_init(&ra_list->skb_head); in mwifiex_wmm_allocate_ralist_node()
106 memcpy(ra_list->ra, ra, ETH_ALEN); in mwifiex_wmm_allocate_ralist_node()
108 ra_list->total_pkt_count = 0; in mwifiex_wmm_allocate_ralist_node()
110 mwifiex_dbg(adapter, INFO, "info: allocated ra_list %p\n", ra_list); in mwifiex_wmm_allocate_ralist_node()
112 return ra_list; in mwifiex_wmm_allocate_ralist_node()
138 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_ralist_add() local
145 ra_list = mwifiex_wmm_allocate_ralist_node(adapter, ra); in mwifiex_ralist_add()
147 "info: created ra_list %p\n", ra_list); in mwifiex_ralist_add()
149 if (!ra_list) in mwifiex_ralist_add()
152 ra_list->is_11n_enabled = 0; in mwifiex_ralist_add()
153 ra_list->tdls_link = false; in mwifiex_ralist_add()
154 ra_list->ba_status = BA_SETUP_NONE; in mwifiex_ralist_add()
155 ra_list->amsdu_in_ampdu = false; in mwifiex_ralist_add()
159 ra_list->tdls_link = true; in mwifiex_ralist_add()
160 ra_list->is_11n_enabled = in mwifiex_ralist_add()
163 ra_list->is_11n_enabled = IS_11N_ENABLED(priv); in mwifiex_ralist_add()
169 ra_list->tx_paused = node->tx_pause; in mwifiex_ralist_add()
170 ra_list->is_11n_enabled = in mwifiex_ralist_add()
172 if (ra_list->is_11n_enabled) in mwifiex_ralist_add()
173 ra_list->max_amsdu = node->max_amsdu; in mwifiex_ralist_add()
178 ra_list, ra_list->is_11n_enabled); in mwifiex_ralist_add()
180 if (ra_list->is_11n_enabled) { in mwifiex_ralist_add()
181 ra_list->ba_pkt_count = 0; in mwifiex_ralist_add()
182 ra_list->ba_packet_thr = in mwifiex_ralist_add()
185 list_add_tail(&ra_list->list, in mwifiex_ralist_add()
186 &priv->wmm.tid_tbl_ptr[i].ra_list); in mwifiex_ralist_add()
499 struct mwifiex_ra_list_tbl *ra_list) in mwifiex_wmm_del_pkts_in_ralist_node() argument
504 skb_queue_walk_safe(&ra_list->skb_head, skb, tmp) in mwifiex_wmm_del_pkts_in_ralist_node()
518 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_del_pkts_in_ralist() local
520 list_for_each_entry(ra_list, ra_list_head, list) in mwifiex_wmm_del_pkts_in_ralist()
521 mwifiex_wmm_del_pkts_in_ralist_node(priv, ra_list); in mwifiex_wmm_del_pkts_in_ralist()
533 ra_list); in mwifiex_wmm_cleanup_queues()
544 struct mwifiex_ra_list_tbl *ra_list, *tmp_node; in mwifiex_wmm_delete_all_ralist() local
550 list_for_each_entry_safe(ra_list, tmp_node, in mwifiex_wmm_delete_all_ralist()
551 &priv->wmm.tid_tbl_ptr[i].ra_list, in mwifiex_wmm_delete_all_ralist()
553 list_del(&ra_list->list); in mwifiex_wmm_delete_all_ralist()
554 kfree(ra_list); in mwifiex_wmm_delete_all_ralist()
557 INIT_LIST_HEAD(&priv->wmm.tid_tbl_ptr[i].ra_list); in mwifiex_wmm_delete_all_ralist()
620 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_get_ralist_node() local
622 list_for_each_entry(ra_list, &priv->wmm.tid_tbl_ptr[tid].ra_list, in mwifiex_wmm_get_ralist_node()
624 if (!memcmp(ra_list->ra, ra_addr, ETH_ALEN)) in mwifiex_wmm_get_ralist_node()
625 return ra_list; in mwifiex_wmm_get_ralist_node()
634 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_update_ralist_tx_pause() local
642 ra_list = mwifiex_wmm_get_ralist_node(priv, i, mac); in mwifiex_update_ralist_tx_pause()
643 if (ra_list && ra_list->tx_paused != tx_pause) { in mwifiex_update_ralist_tx_pause()
644 pkt_cnt += ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause()
645 ra_list->tx_paused = tx_pause; in mwifiex_update_ralist_tx_pause()
648 ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause()
651 ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause()
674 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_update_ralist_tx_pause_in_tdls_cs() local
682 list_for_each_entry(ra_list, &priv->wmm.tid_tbl_ptr[i].ra_list, in mwifiex_update_ralist_tx_pause_in_tdls_cs()
684 if (!memcmp(ra_list->ra, mac, ETH_ALEN)) in mwifiex_update_ralist_tx_pause_in_tdls_cs()
687 if (ra_list->tx_paused != tx_pause) { in mwifiex_update_ralist_tx_pause_in_tdls_cs()
688 pkt_cnt += ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause_in_tdls_cs()
689 ra_list->tx_paused = tx_pause; in mwifiex_update_ralist_tx_pause_in_tdls_cs()
692 ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause_in_tdls_cs()
695 ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause_in_tdls_cs()
724 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_get_queue_raptr() local
726 ra_list = mwifiex_wmm_get_ralist_node(priv, tid, ra_addr); in mwifiex_wmm_get_queue_raptr()
727 if (ra_list) in mwifiex_wmm_get_queue_raptr()
728 return ra_list; in mwifiex_wmm_get_queue_raptr()
741 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_del_peer_ra_list() local
748 ra_list = mwifiex_wmm_get_ralist_node(priv, i, ra_addr); in mwifiex_wmm_del_peer_ra_list()
750 if (!ra_list) in mwifiex_wmm_del_peer_ra_list()
752 mwifiex_wmm_del_pkts_in_ralist_node(priv, ra_list); in mwifiex_wmm_del_peer_ra_list()
753 if (ra_list->tx_paused) in mwifiex_wmm_del_peer_ra_list()
754 priv->wmm.pkts_paused[i] -= ra_list->total_pkt_count; in mwifiex_wmm_del_peer_ra_list()
756 atomic_sub(ra_list->total_pkt_count, in mwifiex_wmm_del_peer_ra_list()
758 list_del(&ra_list->list); in mwifiex_wmm_del_peer_ra_list()
759 kfree(ra_list); in mwifiex_wmm_del_peer_ra_list()
770 struct mwifiex_ra_list_tbl *ra_list, int ptr_index) in mwifiex_is_ralist_valid() argument
774 list_for_each_entry(rlist, &priv->wmm.tid_tbl_ptr[ptr_index].ra_list, in mwifiex_is_ralist_valid()
776 if (rlist == ra_list) in mwifiex_is_ralist_valid()
810 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_add_buf_txqueue() local
852 ra_list = mwifiex_wmm_get_queue_raptr(priv, tid_down, in mwifiex_wmm_add_buf_txqueue()
862 list_head = priv->wmm.tid_tbl_ptr[tid_down].ra_list; in mwifiex_wmm_add_buf_txqueue()
864 ra_list = list_first_entry( in mwifiex_wmm_add_buf_txqueue()
868 ra_list = NULL; in mwifiex_wmm_add_buf_txqueue()
875 ra_list = mwifiex_wmm_get_queue_raptr(priv, tid_down, ra); in mwifiex_wmm_add_buf_txqueue()
878 if (!ra_list) { in mwifiex_wmm_add_buf_txqueue()
884 skb_queue_tail(&ra_list->skb_head, skb); in mwifiex_wmm_add_buf_txqueue()
886 ra_list->ba_pkt_count++; in mwifiex_wmm_add_buf_txqueue()
887 ra_list->total_pkt_count++; in mwifiex_wmm_add_buf_txqueue()
894 if (ra_list->tx_paused) in mwifiex_wmm_add_buf_txqueue()
1121 list_for_each_entry(ptr, &tid_ptr->ra_list, in mwifiex_wmm_get_highest_priolist_ptr()
1183 list_move(&tid_ptr->ra_list, &ra->list); in mwifiex_rotate_priolists()