Lines Matching refs:tx
58 spin_lock_bh(&priv->tx.tx_lock); in ath9k_htc_check_stop_queues()
59 priv->tx.queued_cnt++; in ath9k_htc_check_stop_queues()
60 if ((priv->tx.queued_cnt >= ATH9K_HTC_TX_THRESHOLD) && in ath9k_htc_check_stop_queues()
61 !(priv->tx.flags & ATH9K_HTC_OP_TX_QUEUES_STOP)) { in ath9k_htc_check_stop_queues()
62 priv->tx.flags |= ATH9K_HTC_OP_TX_QUEUES_STOP; in ath9k_htc_check_stop_queues()
65 spin_unlock_bh(&priv->tx.tx_lock); in ath9k_htc_check_stop_queues()
70 spin_lock_bh(&priv->tx.tx_lock); in ath9k_htc_check_wake_queues()
71 if ((priv->tx.queued_cnt < ATH9K_HTC_TX_THRESHOLD) && in ath9k_htc_check_wake_queues()
72 (priv->tx.flags & ATH9K_HTC_OP_TX_QUEUES_STOP)) { in ath9k_htc_check_wake_queues()
73 priv->tx.flags &= ~ATH9K_HTC_OP_TX_QUEUES_STOP; in ath9k_htc_check_wake_queues()
76 spin_unlock_bh(&priv->tx.tx_lock); in ath9k_htc_check_wake_queues()
83 spin_lock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_get_slot()
84 slot = find_first_zero_bit(priv->tx.tx_slot, MAX_TX_BUF_NUM); in ath9k_htc_tx_get_slot()
86 spin_unlock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_get_slot()
89 __set_bit(slot, priv->tx.tx_slot); in ath9k_htc_tx_get_slot()
90 spin_unlock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_get_slot()
97 spin_lock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_clear_slot()
98 __clear_bit(slot, priv->tx.tx_slot); in ath9k_htc_tx_clear_slot()
99 spin_unlock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_clear_slot()
137 epid_queue = &priv->tx.mgmt_ep_queue; in get_htc_epid_queue()
139 epid_queue = &priv->tx.cab_ep_queue; in get_htc_epid_queue()
141 epid_queue = &priv->tx.data_be_queue; in get_htc_epid_queue()
143 epid_queue = &priv->tx.data_bk_queue; in get_htc_epid_queue()
145 epid_queue = &priv->tx.data_vi_queue; in get_htc_epid_queue()
147 epid_queue = &priv->tx.data_vo_queue; in get_htc_epid_queue()
397 spin_lock_bh(&priv->tx.tx_lock); in __ath9k_htc_check_tx_aggr()
400 spin_unlock_bh(&priv->tx.tx_lock); in __ath9k_htc_check_tx_aggr()
435 spin_lock_bh(&priv->tx.tx_lock); in ath9k_htc_check_tx_aggr()
437 spin_unlock_bh(&priv->tx.tx_lock); in ath9k_htc_check_tx_aggr()
509 spin_lock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_process()
510 if (WARN_ON(--priv->tx.queued_cnt < 0)) in ath9k_htc_tx_process()
511 priv->tx.queued_cnt = 0; in ath9k_htc_tx_process()
512 spin_unlock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_process()
543 spin_lock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_drain()
544 priv->tx.flags |= ATH9K_HTC_OP_TX_DRAIN; in ath9k_htc_tx_drain()
545 spin_unlock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_drain()
555 ath9k_htc_tx_drainq(priv, &priv->tx.mgmt_ep_queue); in ath9k_htc_tx_drain()
556 ath9k_htc_tx_drainq(priv, &priv->tx.cab_ep_queue); in ath9k_htc_tx_drain()
557 ath9k_htc_tx_drainq(priv, &priv->tx.data_be_queue); in ath9k_htc_tx_drain()
558 ath9k_htc_tx_drainq(priv, &priv->tx.data_bk_queue); in ath9k_htc_tx_drain()
559 ath9k_htc_tx_drainq(priv, &priv->tx.data_vi_queue); in ath9k_htc_tx_drain()
560 ath9k_htc_tx_drainq(priv, &priv->tx.data_vo_queue); in ath9k_htc_tx_drain()
561 ath9k_htc_tx_drainq(priv, &priv->tx.tx_failed); in ath9k_htc_tx_drain()
573 spin_lock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_drain()
574 priv->tx.flags &= ~ATH9K_HTC_OP_TX_DRAIN; in ath9k_htc_tx_drain()
575 spin_unlock_bh(&priv->tx.tx_lock); in ath9k_htc_tx_drain()
582 spin_lock(&priv->tx.tx_lock); in ath9k_tx_failed_tasklet()
583 if (priv->tx.flags & ATH9K_HTC_OP_TX_DRAIN) { in ath9k_tx_failed_tasklet()
584 spin_unlock(&priv->tx.tx_lock); in ath9k_tx_failed_tasklet()
587 spin_unlock(&priv->tx.tx_lock); in ath9k_tx_failed_tasklet()
589 ath9k_htc_tx_drainq(priv, &priv->tx.tx_failed); in ath9k_tx_failed_tasklet()
702 skb_queue_tail(&priv->tx.tx_failed, skb); in ath9k_htc_txep()
763 struct ath9k_htc_priv *priv = from_timer(priv, t, tx.cleanup_timer); in ath9k_htc_tx_cleanup_timer()
794 ath9k_htc_tx_cleanup_queue(priv, &priv->tx.mgmt_ep_queue); in ath9k_htc_tx_cleanup_timer()
795 ath9k_htc_tx_cleanup_queue(priv, &priv->tx.cab_ep_queue); in ath9k_htc_tx_cleanup_timer()
796 ath9k_htc_tx_cleanup_queue(priv, &priv->tx.data_be_queue); in ath9k_htc_tx_cleanup_timer()
797 ath9k_htc_tx_cleanup_queue(priv, &priv->tx.data_bk_queue); in ath9k_htc_tx_cleanup_timer()
798 ath9k_htc_tx_cleanup_queue(priv, &priv->tx.data_vi_queue); in ath9k_htc_tx_cleanup_timer()
799 ath9k_htc_tx_cleanup_queue(priv, &priv->tx.data_vo_queue); in ath9k_htc_tx_cleanup_timer()
804 mod_timer(&priv->tx.cleanup_timer, in ath9k_htc_tx_cleanup_timer()
810 skb_queue_head_init(&priv->tx.mgmt_ep_queue); in ath9k_tx_init()
811 skb_queue_head_init(&priv->tx.cab_ep_queue); in ath9k_tx_init()
812 skb_queue_head_init(&priv->tx.data_be_queue); in ath9k_tx_init()
813 skb_queue_head_init(&priv->tx.data_bk_queue); in ath9k_tx_init()
814 skb_queue_head_init(&priv->tx.data_vi_queue); in ath9k_tx_init()
815 skb_queue_head_init(&priv->tx.data_vo_queue); in ath9k_tx_init()
816 skb_queue_head_init(&priv->tx.tx_failed); in ath9k_tx_init()
820 priv->tx.initialized = true; in ath9k_tx_init()