Lines Matching refs:priv

135 void mwifiex_ralist_add(struct mwifiex_private *priv, const u8 *ra)  in mwifiex_ralist_add()  argument
139 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_ralist_add()
156 if (!mwifiex_queuing_ra_based(priv)) { in mwifiex_ralist_add()
158 (mwifiex_get_tdls_link_status(priv, ra))) { in mwifiex_ralist_add()
161 mwifiex_tdls_peer_11n_enabled(priv, ra); in mwifiex_ralist_add()
163 ra_list->is_11n_enabled = IS_11N_ENABLED(priv); in mwifiex_ralist_add()
166 spin_lock_irqsave(&priv->sta_list_spinlock, flags); in mwifiex_ralist_add()
167 node = mwifiex_get_sta_entry(priv, ra); in mwifiex_ralist_add()
171 mwifiex_is_sta_11n_enabled(priv, node); in mwifiex_ralist_add()
174 spin_unlock_irqrestore(&priv->sta_list_spinlock, flags); in mwifiex_ralist_add()
186 &priv->wmm.tid_tbl_ptr[i].ra_list); in mwifiex_ralist_add()
193 static void mwifiex_wmm_default_queue_priorities(struct mwifiex_private *priv) in mwifiex_wmm_default_queue_priorities() argument
196 priv->wmm.queue_priority[0] = WMM_AC_VO; in mwifiex_wmm_default_queue_priorities()
197 priv->wmm.queue_priority[1] = WMM_AC_VI; in mwifiex_wmm_default_queue_priorities()
198 priv->wmm.queue_priority[2] = WMM_AC_BE; in mwifiex_wmm_default_queue_priorities()
199 priv->wmm.queue_priority[3] = WMM_AC_BK; in mwifiex_wmm_default_queue_priorities()
206 mwifiex_wmm_queue_priorities_tid(struct mwifiex_private *priv) in mwifiex_wmm_queue_priorities_tid() argument
208 struct mwifiex_wmm_desc *wmm = &priv->wmm; in mwifiex_wmm_queue_priorities_tid()
218 priv->tos_to_tid_inv[tos_to_tid[i]] = (u8)i; in mwifiex_wmm_queue_priorities_tid()
227 mwifiex_wmm_setup_queue_priorities(struct mwifiex_private *priv, in mwifiex_wmm_setup_queue_priorities() argument
234 if (!wmm_ie || !priv->wmm_enabled) { in mwifiex_wmm_setup_queue_priorities()
236 mwifiex_wmm_default_queue_priorities(priv); in mwifiex_wmm_setup_queue_priorities()
240 mwifiex_dbg(priv->adapter, INFO, in mwifiex_wmm_setup_queue_priorities()
254 priv->wmm.queue_priority[ac_idx] = ac_idx; in mwifiex_wmm_setup_queue_priorities()
257 mwifiex_dbg(priv->adapter, INFO, in mwifiex_wmm_setup_queue_priorities()
269 swap(priv->wmm.queue_priority[j - 1], in mwifiex_wmm_setup_queue_priorities()
270 priv->wmm.queue_priority[j]); in mwifiex_wmm_setup_queue_priorities()
272 if (priv->wmm.queue_priority[j - 1] in mwifiex_wmm_setup_queue_priorities()
273 < priv->wmm.queue_priority[j]) in mwifiex_wmm_setup_queue_priorities()
274 swap(priv->wmm.queue_priority[j - 1], in mwifiex_wmm_setup_queue_priorities()
275 priv->wmm.queue_priority[j]); in mwifiex_wmm_setup_queue_priorities()
280 mwifiex_wmm_queue_priorities_tid(priv); in mwifiex_wmm_setup_queue_priorities()
290 mwifiex_wmm_eval_downgrade_ac(struct mwifiex_private *priv, in mwifiex_wmm_eval_downgrade_ac() argument
297 ac_status = &priv->wmm.ac_status[eval_ac]; in mwifiex_wmm_eval_downgrade_ac()
314 ac_status = &priv->wmm.ac_status[down_ac]; in mwifiex_wmm_eval_downgrade_ac()
329 mwifiex_wmm_setup_ac_downgrade(struct mwifiex_private *priv) in mwifiex_wmm_setup_ac_downgrade() argument
333 mwifiex_dbg(priv->adapter, INFO, "info: WMM: AC Priorities:\t" in mwifiex_wmm_setup_ac_downgrade()
336 if (!priv->wmm_enabled) { in mwifiex_wmm_setup_ac_downgrade()
339 priv->wmm.ac_down_graded_vals[ac_val] = in mwifiex_wmm_setup_ac_downgrade()
343 priv->wmm.ac_down_graded_vals[ac_val] in mwifiex_wmm_setup_ac_downgrade()
344 = mwifiex_wmm_eval_downgrade_ac(priv, in mwifiex_wmm_setup_ac_downgrade()
346 mwifiex_dbg(priv->adapter, INFO, in mwifiex_wmm_setup_ac_downgrade()
349 priv->wmm.ac_down_graded_vals[ac_val]); in mwifiex_wmm_setup_ac_downgrade()
384 u8 mwifiex_wmm_downgrade_tid(struct mwifiex_private *priv, u32 tid) in mwifiex_wmm_downgrade_tid() argument
389 ac = mwifiex_wmm_convert_tos_to_ac(priv->adapter, tid); in mwifiex_wmm_downgrade_tid()
390 ac_down = priv->wmm.ac_down_graded_vals[ac]; in mwifiex_wmm_downgrade_tid()
408 struct mwifiex_private *priv; in mwifiex_wmm_init() local
411 priv = adapter->priv[j]; in mwifiex_wmm_init()
412 if (!priv) in mwifiex_wmm_init()
418 priv->aggr_prio_tbl[i].amsdu = in mwifiex_wmm_init()
419 priv->tos_to_tid_inv[i]; in mwifiex_wmm_init()
421 priv->aggr_prio_tbl[i].amsdu = in mwifiex_wmm_init()
423 priv->aggr_prio_tbl[i].ampdu_ap = in mwifiex_wmm_init()
424 priv->tos_to_tid_inv[i]; in mwifiex_wmm_init()
425 priv->aggr_prio_tbl[i].ampdu_user = in mwifiex_wmm_init()
426 priv->tos_to_tid_inv[i]; in mwifiex_wmm_init()
429 priv->aggr_prio_tbl[6].amsdu in mwifiex_wmm_init()
430 = priv->aggr_prio_tbl[6].ampdu_ap in mwifiex_wmm_init()
431 = priv->aggr_prio_tbl[6].ampdu_user in mwifiex_wmm_init()
434 priv->aggr_prio_tbl[7].amsdu = priv->aggr_prio_tbl[7].ampdu_ap in mwifiex_wmm_init()
435 = priv->aggr_prio_tbl[7].ampdu_user in mwifiex_wmm_init()
438 mwifiex_set_ba_params(priv); in mwifiex_wmm_init()
439 mwifiex_reset_11n_rx_seq_num(priv); in mwifiex_wmm_init()
441 atomic_set(&priv->wmm.tx_pkts_queued, 0); in mwifiex_wmm_init()
442 atomic_set(&priv->wmm.highest_queued_prio, HIGH_PRIO_TID); in mwifiex_wmm_init()
448 struct mwifiex_private *priv; in mwifiex_bypass_txlist_empty() local
452 priv = adapter->priv[i]; in mwifiex_bypass_txlist_empty()
453 if (!priv) in mwifiex_bypass_txlist_empty()
456 !adapter->if_ops.is_port_ready(priv)) in mwifiex_bypass_txlist_empty()
458 if (!skb_queue_empty(&priv->bypass_txq)) in mwifiex_bypass_txlist_empty()
472 struct mwifiex_private *priv; in mwifiex_wmm_lists_empty() local
475 priv = adapter->priv[i]; in mwifiex_wmm_lists_empty()
476 if (!priv) in mwifiex_wmm_lists_empty()
478 if (!priv->port_open) in mwifiex_wmm_lists_empty()
481 !adapter->if_ops.is_port_ready(priv)) in mwifiex_wmm_lists_empty()
483 if (atomic_read(&priv->wmm.tx_pkts_queued)) in mwifiex_wmm_lists_empty()
498 mwifiex_wmm_del_pkts_in_ralist_node(struct mwifiex_private *priv, in mwifiex_wmm_del_pkts_in_ralist_node() argument
501 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_wmm_del_pkts_in_ralist_node()
515 mwifiex_wmm_del_pkts_in_ralist(struct mwifiex_private *priv, in mwifiex_wmm_del_pkts_in_ralist() argument
521 mwifiex_wmm_del_pkts_in_ralist_node(priv, ra_list); in mwifiex_wmm_del_pkts_in_ralist()
527 static void mwifiex_wmm_cleanup_queues(struct mwifiex_private *priv) in mwifiex_wmm_cleanup_queues() argument
532 mwifiex_wmm_del_pkts_in_ralist(priv, &priv->wmm.tid_tbl_ptr[i]. in mwifiex_wmm_cleanup_queues()
535 atomic_set(&priv->wmm.tx_pkts_queued, 0); in mwifiex_wmm_cleanup_queues()
536 atomic_set(&priv->wmm.highest_queued_prio, HIGH_PRIO_TID); in mwifiex_wmm_cleanup_queues()
542 static void mwifiex_wmm_delete_all_ralist(struct mwifiex_private *priv) in mwifiex_wmm_delete_all_ralist() argument
548 mwifiex_dbg(priv->adapter, INFO, in mwifiex_wmm_delete_all_ralist()
551 &priv->wmm.tid_tbl_ptr[i].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()
579 mwifiex_clean_txrx(struct mwifiex_private *priv) in mwifiex_clean_txrx() argument
584 mwifiex_11n_cleanup_reorder_tbl(priv); in mwifiex_clean_txrx()
585 spin_lock_irqsave(&priv->wmm.ra_list_spinlock, flags); in mwifiex_clean_txrx()
587 mwifiex_wmm_cleanup_queues(priv); in mwifiex_clean_txrx()
588 mwifiex_11n_delete_all_tx_ba_stream_tbl(priv); in mwifiex_clean_txrx()
590 if (priv->adapter->if_ops.cleanup_mpa_buf) in mwifiex_clean_txrx()
591 priv->adapter->if_ops.cleanup_mpa_buf(priv->adapter); in mwifiex_clean_txrx()
593 mwifiex_wmm_delete_all_ralist(priv); in mwifiex_clean_txrx()
596 if (priv->adapter->if_ops.clean_pcie_ring && in mwifiex_clean_txrx()
597 !priv->adapter->surprise_removed) in mwifiex_clean_txrx()
598 priv->adapter->if_ops.clean_pcie_ring(priv->adapter); in mwifiex_clean_txrx()
599 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, flags); in mwifiex_clean_txrx()
601 skb_queue_walk_safe(&priv->tdls_txq, skb, tmp) in mwifiex_clean_txrx()
602 mwifiex_write_data_complete(priv->adapter, skb, 0, -1); in mwifiex_clean_txrx()
604 skb_queue_walk_safe(&priv->bypass_txq, skb, tmp) in mwifiex_clean_txrx()
605 mwifiex_write_data_complete(priv->adapter, skb, 0, -1); in mwifiex_clean_txrx()
606 atomic_set(&priv->adapter->bypass_tx_pending, 0); in mwifiex_clean_txrx()
608 idr_for_each(&priv->ack_status_frames, mwifiex_free_ack_frame, NULL); in mwifiex_clean_txrx()
609 idr_destroy(&priv->ack_status_frames); in mwifiex_clean_txrx()
617 mwifiex_wmm_get_ralist_node(struct mwifiex_private *priv, u8 tid, in mwifiex_wmm_get_ralist_node() argument
622 list_for_each_entry(ra_list, &priv->wmm.tid_tbl_ptr[tid].ra_list, in mwifiex_wmm_get_ralist_node()
631 void mwifiex_update_ralist_tx_pause(struct mwifiex_private *priv, u8 *mac, in mwifiex_update_ralist_tx_pause() argument
639 spin_lock_irqsave(&priv->wmm.ra_list_spinlock, flags); in mwifiex_update_ralist_tx_pause()
642 ra_list = mwifiex_wmm_get_ralist_node(priv, i, mac); in mwifiex_update_ralist_tx_pause()
647 priv->wmm.pkts_paused[i] += in mwifiex_update_ralist_tx_pause()
650 priv->wmm.pkts_paused[i] -= in mwifiex_update_ralist_tx_pause()
656 tx_pkts_queued = atomic_read(&priv->wmm.tx_pkts_queued); in mwifiex_update_ralist_tx_pause()
662 atomic_set(&priv->wmm.tx_pkts_queued, tx_pkts_queued); in mwifiex_update_ralist_tx_pause()
663 atomic_set(&priv->wmm.highest_queued_prio, HIGH_PRIO_TID); in mwifiex_update_ralist_tx_pause()
665 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, flags); in mwifiex_update_ralist_tx_pause()
671 void mwifiex_update_ralist_tx_pause_in_tdls_cs(struct mwifiex_private *priv, in mwifiex_update_ralist_tx_pause_in_tdls_cs() argument
679 spin_lock_irqsave(&priv->wmm.ra_list_spinlock, flags); in mwifiex_update_ralist_tx_pause_in_tdls_cs()
682 list_for_each_entry(ra_list, &priv->wmm.tid_tbl_ptr[i].ra_list, in mwifiex_update_ralist_tx_pause_in_tdls_cs()
691 priv->wmm.pkts_paused[i] += in mwifiex_update_ralist_tx_pause_in_tdls_cs()
694 priv->wmm.pkts_paused[i] -= in mwifiex_update_ralist_tx_pause_in_tdls_cs()
701 tx_pkts_queued = atomic_read(&priv->wmm.tx_pkts_queued); in mwifiex_update_ralist_tx_pause_in_tdls_cs()
707 atomic_set(&priv->wmm.tx_pkts_queued, tx_pkts_queued); in mwifiex_update_ralist_tx_pause_in_tdls_cs()
708 atomic_set(&priv->wmm.highest_queued_prio, HIGH_PRIO_TID); in mwifiex_update_ralist_tx_pause_in_tdls_cs()
710 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, flags); in mwifiex_update_ralist_tx_pause_in_tdls_cs()
721 mwifiex_wmm_get_queue_raptr(struct mwifiex_private *priv, u8 tid, in mwifiex_wmm_get_queue_raptr() argument
726 ra_list = mwifiex_wmm_get_ralist_node(priv, tid, ra_addr); in mwifiex_wmm_get_queue_raptr()
729 mwifiex_ralist_add(priv, ra_addr); in mwifiex_wmm_get_queue_raptr()
731 return mwifiex_wmm_get_ralist_node(priv, tid, ra_addr); in mwifiex_wmm_get_queue_raptr()
739 mwifiex_wmm_del_peer_ra_list(struct mwifiex_private *priv, const u8 *ra_addr) in mwifiex_wmm_del_peer_ra_list() argument
745 spin_lock_irqsave(&priv->wmm.ra_list_spinlock, flags); in mwifiex_wmm_del_peer_ra_list()
748 ra_list = mwifiex_wmm_get_ralist_node(priv, i, ra_addr); 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()
754 priv->wmm.pkts_paused[i] -= ra_list->total_pkt_count; in mwifiex_wmm_del_peer_ra_list()
757 &priv->wmm.tx_pkts_queued); in mwifiex_wmm_del_peer_ra_list()
761 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, flags); in mwifiex_wmm_del_peer_ra_list()
769 mwifiex_is_ralist_valid(struct mwifiex_private *priv, 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()
789 mwifiex_wmm_add_buf_bypass_txqueue(struct mwifiex_private *priv, in mwifiex_wmm_add_buf_bypass_txqueue() argument
792 skb_queue_tail(&priv->bypass_txq, skb); in mwifiex_wmm_add_buf_bypass_txqueue()
805 mwifiex_wmm_add_buf_txqueue(struct mwifiex_private *priv, in mwifiex_wmm_add_buf_txqueue() argument
808 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_wmm_add_buf_txqueue()
820 if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_STA && in mwifiex_wmm_add_buf_txqueue()
826 else if (memcmp(priv->cfg_bssid, ra, ETH_ALEN)) in mwifiex_wmm_add_buf_txqueue()
827 tdls_status = mwifiex_get_tdls_link_status(priv, ra); in mwifiex_wmm_add_buf_txqueue()
830 if (!priv->media_connected && !mwifiex_is_skb_mgmt_frame(skb)) { in mwifiex_wmm_add_buf_txqueue()
838 spin_lock_irqsave(&priv->wmm.ra_list_spinlock, flags); in mwifiex_wmm_add_buf_txqueue()
840 tid_down = mwifiex_wmm_downgrade_tid(priv, tid); in mwifiex_wmm_add_buf_txqueue()
845 if (!mwifiex_queuing_ra_based(priv) && in mwifiex_wmm_add_buf_txqueue()
852 ra_list = mwifiex_wmm_get_queue_raptr(priv, tid_down, in mwifiex_wmm_add_buf_txqueue()
857 skb_queue_tail(&priv->tdls_txq, skb); in mwifiex_wmm_add_buf_txqueue()
858 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, in mwifiex_wmm_add_buf_txqueue()
862 list_head = priv->wmm.tid_tbl_ptr[tid_down].ra_list; in mwifiex_wmm_add_buf_txqueue()
875 ra_list = mwifiex_wmm_get_queue_raptr(priv, tid_down, ra); in mwifiex_wmm_add_buf_txqueue()
879 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, flags); in mwifiex_wmm_add_buf_txqueue()
889 if (atomic_read(&priv->wmm.highest_queued_prio) < in mwifiex_wmm_add_buf_txqueue()
890 priv->tos_to_tid_inv[tid_down]) in mwifiex_wmm_add_buf_txqueue()
891 atomic_set(&priv->wmm.highest_queued_prio, in mwifiex_wmm_add_buf_txqueue()
892 priv->tos_to_tid_inv[tid_down]); in mwifiex_wmm_add_buf_txqueue()
895 priv->wmm.pkts_paused[tid_down]++; in mwifiex_wmm_add_buf_txqueue()
897 atomic_inc(&priv->wmm.tx_pkts_queued); in mwifiex_wmm_add_buf_txqueue()
899 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, flags); in mwifiex_wmm_add_buf_txqueue()
913 int mwifiex_ret_wmm_get_status(struct mwifiex_private *priv, in mwifiex_ret_wmm_get_status() argument
926 mwifiex_dbg(priv->adapter, INFO, in mwifiex_ret_wmm_get_status()
942 mwifiex_dbg(priv->adapter, CMD, in mwifiex_ret_wmm_get_status()
949 ac_status = &priv->wmm.ac_status[tlv_wmm_qstatus-> in mwifiex_ret_wmm_get_status()
970 mwifiex_dbg(priv->adapter, CMD, in mwifiex_ret_wmm_get_status()
975 memcpy((u8 *) &priv->curr_bss_params.bss_descriptor. in mwifiex_ret_wmm_get_status()
990 mwifiex_wmm_setup_queue_priorities(priv, wmm_param_ie); in mwifiex_ret_wmm_get_status()
991 mwifiex_wmm_setup_ac_downgrade(priv); in mwifiex_ret_wmm_get_status()
1004 mwifiex_wmm_process_association_req(struct mwifiex_private *priv, in mwifiex_wmm_process_association_req() argument
1021 mwifiex_dbg(priv->adapter, INFO, in mwifiex_wmm_process_association_req()
1025 if ((priv->wmm_required || in mwifiex_wmm_process_association_req()
1026 (ht_cap && (priv->adapter->config_bands & BAND_GN || in mwifiex_wmm_process_association_req()
1027 priv->adapter->config_bands & BAND_AN))) && in mwifiex_wmm_process_association_req()
1037 - sizeof(priv->wmm_qosinfo)), in mwifiex_wmm_process_association_req()
1038 &priv->wmm_qosinfo, sizeof(priv->wmm_qosinfo)); in mwifiex_wmm_process_association_req()
1059 mwifiex_wmm_compute_drv_pkt_delay(struct mwifiex_private *priv, in mwifiex_wmm_compute_drv_pkt_delay() argument
1071 ret_val = (u8) (min(queue_delay, priv->wmm.drv_pkt_delay_max) >> 1); in mwifiex_wmm_compute_drv_pkt_delay()
1073 mwifiex_dbg(priv->adapter, DATA, "data: WMM: Pkt Delay: %d ms,\t" in mwifiex_wmm_compute_drv_pkt_delay()
1084 struct mwifiex_private **priv, int *tid) in mwifiex_wmm_get_highest_priolist_ptr() argument
1100 priv_tmp = adapter->bss_prio_tbl[j].bss_prio_cur->priv; in mwifiex_wmm_get_highest_priolist_ptr()
1146 *priv = priv_tmp; in mwifiex_wmm_get_highest_priolist_ptr()
1161 void mwifiex_rotate_priolists(struct mwifiex_private *priv, in mwifiex_rotate_priolists() argument
1165 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_rotate_priolists()
1167 struct mwifiex_tid_tbl *tid_ptr = &priv->wmm.tid_tbl_ptr[tid]; in mwifiex_rotate_priolists()
1170 spin_lock_irqsave(&tbl[priv->bss_priority].bss_prio_lock, flags); in mwifiex_rotate_priolists()
1175 list_move(&tbl[priv->bss_priority].bss_prio_head, in mwifiex_rotate_priolists()
1176 &tbl[priv->bss_priority].bss_prio_cur->list); in mwifiex_rotate_priolists()
1177 spin_unlock_irqrestore(&tbl[priv->bss_priority].bss_prio_lock, flags); in mwifiex_rotate_priolists()
1179 spin_lock_irqsave(&priv->wmm.ra_list_spinlock, flags); in mwifiex_rotate_priolists()
1180 if (mwifiex_is_ralist_valid(priv, ra, tid)) { in mwifiex_rotate_priolists()
1181 priv->wmm.packets_out[tid]++; in mwifiex_rotate_priolists()
1185 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, flags); in mwifiex_rotate_priolists()
1192 mwifiex_is_11n_aggragation_possible(struct mwifiex_private *priv, in mwifiex_is_11n_aggragation_possible() argument
1200 if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP && priv->ap_11n_enabled && in mwifiex_is_11n_aggragation_possible()
1221 mwifiex_send_single_packet(struct mwifiex_private *priv, in mwifiex_send_single_packet() argument
1224 __releases(&priv->wmm.ra_list_spinlock) in mwifiex_send_single_packet()
1228 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_send_single_packet()
1232 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, in mwifiex_send_single_packet()
1251 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, ra_list_flags); in mwifiex_send_single_packet()
1256 if (mwifiex_process_tx(priv, skb, &tx_param) == -EBUSY) { in mwifiex_send_single_packet()
1258 spin_lock_irqsave(&priv->wmm.ra_list_spinlock, ra_list_flags); in mwifiex_send_single_packet()
1260 if (!mwifiex_is_ralist_valid(priv, ptr, ptr_index)) { in mwifiex_send_single_packet()
1261 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, in mwifiex_send_single_packet()
1272 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, in mwifiex_send_single_packet()
1275 mwifiex_rotate_priolists(priv, ptr, ptr_index); in mwifiex_send_single_packet()
1276 atomic_dec(&priv->wmm.tx_pkts_queued); in mwifiex_send_single_packet()
1285 mwifiex_is_ptr_processed(struct mwifiex_private *priv, in mwifiex_is_ptr_processed() argument
1308 mwifiex_send_processed_packet(struct mwifiex_private *priv, in mwifiex_send_processed_packet() argument
1311 __releases(&priv->wmm.ra_list_spinlock) in mwifiex_send_processed_packet()
1314 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_send_processed_packet()
1320 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, in mwifiex_send_processed_packet()
1328 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, in mwifiex_send_processed_packet()
1342 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, ra_list_flags); in mwifiex_send_processed_packet()
1345 ret = adapter->if_ops.host_to_card(adapter, priv->usb_port, in mwifiex_send_processed_packet()
1358 spin_lock_irqsave(&priv->wmm.ra_list_spinlock, ra_list_flags); in mwifiex_send_processed_packet()
1360 if (!mwifiex_is_ralist_valid(priv, ptr, ptr_index)) { in mwifiex_send_processed_packet()
1361 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, in mwifiex_send_processed_packet()
1370 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, in mwifiex_send_processed_packet()
1386 mwifiex_rotate_priolists(priv, ptr, ptr_index); in mwifiex_send_processed_packet()
1387 atomic_dec(&priv->wmm.tx_pkts_queued); in mwifiex_send_processed_packet()
1399 struct mwifiex_private *priv = NULL; in mwifiex_dequeue_tx_packet() local
1405 ptr = mwifiex_wmm_get_highest_priolist_ptr(adapter, &priv, &ptr_index); in mwifiex_dequeue_tx_packet()
1413 spin_lock_irqsave(&priv->wmm.ra_list_spinlock, flags); in mwifiex_dequeue_tx_packet()
1414 if (!mwifiex_is_ralist_valid(priv, ptr, ptr_index)) { in mwifiex_dequeue_tx_packet()
1415 spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, flags); in mwifiex_dequeue_tx_packet()
1419 if (mwifiex_is_ptr_processed(priv, ptr)) { in mwifiex_dequeue_tx_packet()
1420 mwifiex_send_processed_packet(priv, ptr, ptr_index, flags); in mwifiex_dequeue_tx_packet()
1428 priv->wps.session_enable) { in mwifiex_dequeue_tx_packet()
1432 mwifiex_is_amsdu_allowed(priv, tid) && in mwifiex_dequeue_tx_packet()
1433 mwifiex_is_11n_aggragation_possible(priv, ptr, in mwifiex_dequeue_tx_packet()
1435 mwifiex_11n_aggregate_pkt(priv, ptr, ptr_index, flags); in mwifiex_dequeue_tx_packet()
1440 mwifiex_send_single_packet(priv, ptr, ptr_index, flags); in mwifiex_dequeue_tx_packet()
1445 if (mwifiex_is_ampdu_allowed(priv, ptr, tid) && in mwifiex_dequeue_tx_packet()
1448 mwifiex_create_ba_tbl(priv, ptr->ra, tid, in mwifiex_dequeue_tx_packet()
1450 mwifiex_send_addba(priv, tid, ptr->ra); in mwifiex_dequeue_tx_packet()
1452 (priv, tid, &tid_del, ra)) { in mwifiex_dequeue_tx_packet()
1453 mwifiex_create_ba_tbl(priv, ptr->ra, tid, in mwifiex_dequeue_tx_packet()
1455 mwifiex_send_delba(priv, tid_del, ra, 1); in mwifiex_dequeue_tx_packet()
1458 if (mwifiex_is_amsdu_allowed(priv, tid) && in mwifiex_dequeue_tx_packet()
1459 mwifiex_is_11n_aggragation_possible(priv, ptr, in mwifiex_dequeue_tx_packet()
1461 mwifiex_11n_aggregate_pkt(priv, ptr, ptr_index, flags); in mwifiex_dequeue_tx_packet()
1465 mwifiex_send_single_packet(priv, ptr, ptr_index, flags); in mwifiex_dequeue_tx_packet()
1477 struct mwifiex_private *priv; in mwifiex_process_bypass_tx() local
1484 priv = adapter->priv[i]; in mwifiex_process_bypass_tx()
1486 if (!priv) in mwifiex_process_bypass_tx()
1490 !adapter->if_ops.is_port_ready(priv)) in mwifiex_process_bypass_tx()
1493 if (skb_queue_empty(&priv->bypass_txq)) in mwifiex_process_bypass_tx()
1496 skb = skb_dequeue(&priv->bypass_txq); in mwifiex_process_bypass_tx()
1502 if (mwifiex_process_tx(priv, skb, &tx_param) == -EBUSY) { in mwifiex_process_bypass_tx()
1503 skb_queue_head(&priv->bypass_txq, skb); in mwifiex_process_bypass_tx()