Lines Matching refs:ra_list
100 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_allocate_ralist_node() local
102 ra_list = kzalloc(sizeof(struct mwifiex_ra_list_tbl), GFP_ATOMIC); in mwifiex_wmm_allocate_ralist_node()
103 if (!ra_list) in mwifiex_wmm_allocate_ralist_node()
106 INIT_LIST_HEAD(&ra_list->list); in mwifiex_wmm_allocate_ralist_node()
107 skb_queue_head_init(&ra_list->skb_head); in mwifiex_wmm_allocate_ralist_node()
109 memcpy(ra_list->ra, ra, ETH_ALEN); in mwifiex_wmm_allocate_ralist_node()
111 ra_list->total_pkt_count = 0; in mwifiex_wmm_allocate_ralist_node()
113 mwifiex_dbg(adapter, INFO, "info: allocated ra_list %p\n", ra_list); in mwifiex_wmm_allocate_ralist_node()
115 return ra_list; in mwifiex_wmm_allocate_ralist_node()
141 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_ralist_add() local
147 ra_list = mwifiex_wmm_allocate_ralist_node(adapter, ra); in mwifiex_ralist_add()
149 "info: created ra_list %p\n", ra_list); in mwifiex_ralist_add()
151 if (!ra_list) in mwifiex_ralist_add()
154 ra_list->is_11n_enabled = 0; in mwifiex_ralist_add()
155 ra_list->tdls_link = false; in mwifiex_ralist_add()
156 ra_list->ba_status = BA_SETUP_NONE; in mwifiex_ralist_add()
157 ra_list->amsdu_in_ampdu = false; in mwifiex_ralist_add()
161 ra_list->tdls_link = true; in mwifiex_ralist_add()
162 ra_list->is_11n_enabled = in mwifiex_ralist_add()
165 ra_list->is_11n_enabled = IS_11N_ENABLED(priv); in mwifiex_ralist_add()
171 ra_list->tx_paused = node->tx_pause; in mwifiex_ralist_add()
172 ra_list->is_11n_enabled = in mwifiex_ralist_add()
174 if (ra_list->is_11n_enabled) in mwifiex_ralist_add()
175 ra_list->max_amsdu = node->max_amsdu; in mwifiex_ralist_add()
180 ra_list, ra_list->is_11n_enabled); in mwifiex_ralist_add()
182 if (ra_list->is_11n_enabled) { in mwifiex_ralist_add()
183 ra_list->ba_pkt_count = 0; in mwifiex_ralist_add()
184 ra_list->ba_packet_thr = in mwifiex_ralist_add()
187 list_add_tail(&ra_list->list, in mwifiex_ralist_add()
188 &priv->wmm.tid_tbl_ptr[i].ra_list); in mwifiex_ralist_add()
504 struct mwifiex_ra_list_tbl *ra_list) in mwifiex_wmm_del_pkts_in_ralist_node() argument
509 skb_queue_walk_safe(&ra_list->skb_head, skb, tmp) { in mwifiex_wmm_del_pkts_in_ralist_node()
510 skb_unlink(skb, &ra_list->skb_head); in mwifiex_wmm_del_pkts_in_ralist_node()
525 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_del_pkts_in_ralist() local
527 list_for_each_entry(ra_list, ra_list_head, list) in mwifiex_wmm_del_pkts_in_ralist()
528 mwifiex_wmm_del_pkts_in_ralist_node(priv, ra_list); in mwifiex_wmm_del_pkts_in_ralist()
540 ra_list); in mwifiex_wmm_cleanup_queues()
551 struct mwifiex_ra_list_tbl *ra_list, *tmp_node; in mwifiex_wmm_delete_all_ralist() local
557 list_for_each_entry_safe(ra_list, tmp_node, in mwifiex_wmm_delete_all_ralist()
558 &priv->wmm.tid_tbl_ptr[i].ra_list, in mwifiex_wmm_delete_all_ralist()
560 list_del(&ra_list->list); in mwifiex_wmm_delete_all_ralist()
561 kfree(ra_list); in mwifiex_wmm_delete_all_ralist()
564 INIT_LIST_HEAD(&priv->wmm.tid_tbl_ptr[i].ra_list); in mwifiex_wmm_delete_all_ralist()
630 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_get_ralist_node() local
632 list_for_each_entry(ra_list, &priv->wmm.tid_tbl_ptr[tid].ra_list, in mwifiex_wmm_get_ralist_node()
634 if (!memcmp(ra_list->ra, ra_addr, ETH_ALEN)) in mwifiex_wmm_get_ralist_node()
635 return ra_list; in mwifiex_wmm_get_ralist_node()
644 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_update_ralist_tx_pause() local
651 ra_list = mwifiex_wmm_get_ralist_node(priv, i, mac); in mwifiex_update_ralist_tx_pause()
652 if (ra_list && ra_list->tx_paused != tx_pause) { in mwifiex_update_ralist_tx_pause()
653 pkt_cnt += ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause()
654 ra_list->tx_paused = tx_pause; in mwifiex_update_ralist_tx_pause()
657 ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause()
660 ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause()
683 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_update_ralist_tx_pause_in_tdls_cs() local
690 list_for_each_entry(ra_list, &priv->wmm.tid_tbl_ptr[i].ra_list, in mwifiex_update_ralist_tx_pause_in_tdls_cs()
692 if (!memcmp(ra_list->ra, mac, ETH_ALEN)) in mwifiex_update_ralist_tx_pause_in_tdls_cs()
695 if (ra_list->tx_paused != tx_pause) { in mwifiex_update_ralist_tx_pause_in_tdls_cs()
696 pkt_cnt += ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause_in_tdls_cs()
697 ra_list->tx_paused = tx_pause; in mwifiex_update_ralist_tx_pause_in_tdls_cs()
700 ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause_in_tdls_cs()
703 ra_list->total_pkt_count; in mwifiex_update_ralist_tx_pause_in_tdls_cs()
732 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_get_queue_raptr() local
734 ra_list = mwifiex_wmm_get_ralist_node(priv, tid, ra_addr); in mwifiex_wmm_get_queue_raptr()
735 if (ra_list) in mwifiex_wmm_get_queue_raptr()
736 return ra_list; in mwifiex_wmm_get_queue_raptr()
749 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_del_peer_ra_list() local
755 ra_list = mwifiex_wmm_get_ralist_node(priv, i, ra_addr); in mwifiex_wmm_del_peer_ra_list()
757 if (!ra_list) in mwifiex_wmm_del_peer_ra_list()
759 mwifiex_wmm_del_pkts_in_ralist_node(priv, ra_list); in mwifiex_wmm_del_peer_ra_list()
760 if (ra_list->tx_paused) in mwifiex_wmm_del_peer_ra_list()
761 priv->wmm.pkts_paused[i] -= ra_list->total_pkt_count; in mwifiex_wmm_del_peer_ra_list()
763 atomic_sub(ra_list->total_pkt_count, in mwifiex_wmm_del_peer_ra_list()
765 list_del(&ra_list->list); in mwifiex_wmm_del_peer_ra_list()
766 kfree(ra_list); in mwifiex_wmm_del_peer_ra_list()
777 struct mwifiex_ra_list_tbl *ra_list, int ptr_index) in mwifiex_is_ralist_valid() argument
781 list_for_each_entry(rlist, &priv->wmm.tid_tbl_ptr[ptr_index].ra_list, in mwifiex_is_ralist_valid()
783 if (rlist == ra_list) in mwifiex_is_ralist_valid()
817 struct mwifiex_ra_list_tbl *ra_list; in mwifiex_wmm_add_buf_txqueue() local
858 ra_list = mwifiex_wmm_get_queue_raptr(priv, tid_down, in mwifiex_wmm_add_buf_txqueue()
867 list_head = priv->wmm.tid_tbl_ptr[tid_down].ra_list; in mwifiex_wmm_add_buf_txqueue()
868 ra_list = list_first_entry_or_null(&list_head, in mwifiex_wmm_add_buf_txqueue()
876 ra_list = mwifiex_wmm_get_queue_raptr(priv, tid_down, ra); in mwifiex_wmm_add_buf_txqueue()
879 if (!ra_list) { in mwifiex_wmm_add_buf_txqueue()
885 skb_queue_tail(&ra_list->skb_head, skb); in mwifiex_wmm_add_buf_txqueue()
887 ra_list->ba_pkt_count++; in mwifiex_wmm_add_buf_txqueue()
888 ra_list->total_pkt_count++; in mwifiex_wmm_add_buf_txqueue()
895 if (ra_list->tx_paused) in mwifiex_wmm_add_buf_txqueue()
1126 list_for_each_entry(ptr, &tid_ptr->ra_list, in mwifiex_wmm_get_highest_priolist_ptr()
1195 list_move(&tid_ptr->ra_list, &ra->list); in mwifiex_rotate_priolists()