Lines Matching refs:txq

733 		  struct ath5k_txq *txq, int padsize,  in ath5k_txbuf_setup()  argument
830 spin_lock_bh(&txq->lock); in ath5k_txbuf_setup()
831 list_add_tail(&bf->list, &txq->q); in ath5k_txbuf_setup()
832 txq->txq_len++; in ath5k_txbuf_setup()
833 if (txq->link == NULL) /* is this first packet? */ in ath5k_txbuf_setup()
834 ath5k_hw_set_txdp(ah, txq->qnum, bf->daddr); in ath5k_txbuf_setup()
836 *txq->link = bf->daddr; in ath5k_txbuf_setup()
838 txq->link = &ds->ds_link; in ath5k_txbuf_setup()
839 ath5k_hw_start_tx_dma(ah, txq->qnum); in ath5k_txbuf_setup()
841 spin_unlock_bh(&txq->lock); in ath5k_txbuf_setup()
978 struct ath5k_txq *txq; in ath5k_txq_setup() local
1011 txq = &ah->txqs[qnum]; in ath5k_txq_setup()
1012 if (!txq->setup) { in ath5k_txq_setup()
1013 txq->qnum = qnum; in ath5k_txq_setup()
1014 txq->link = NULL; in ath5k_txq_setup()
1015 INIT_LIST_HEAD(&txq->q); in ath5k_txq_setup()
1016 spin_lock_init(&txq->lock); in ath5k_txq_setup()
1017 txq->setup = true; in ath5k_txq_setup()
1018 txq->txq_len = 0; in ath5k_txq_setup()
1019 txq->txq_max = ATH5K_TXQ_LEN_MAX; in ath5k_txq_setup()
1020 txq->txq_poll_mark = false; in ath5k_txq_setup()
1021 txq->txq_stuck = 0; in ath5k_txq_setup()
1113 struct ath5k_txq *txq; in ath5k_drain_tx_buffs() local
1119 txq = &ah->txqs[i]; in ath5k_drain_tx_buffs()
1120 spin_lock_bh(&txq->lock); in ath5k_drain_tx_buffs()
1121 list_for_each_entry_safe(bf, bf0, &txq->q, list) { in ath5k_drain_tx_buffs()
1129 txq->txq_len--; in ath5k_drain_tx_buffs()
1132 txq->link = NULL; in ath5k_drain_tx_buffs()
1133 txq->txq_poll_mark = false; in ath5k_drain_tx_buffs()
1134 spin_unlock_bh(&txq->lock); in ath5k_drain_tx_buffs()
1142 struct ath5k_txq *txq = ah->txqs; in ath5k_txq_release() local
1145 for (i = 0; i < ARRAY_SIZE(ah->txqs); i++, txq++) in ath5k_txq_release()
1146 if (txq->setup) { in ath5k_txq_release()
1147 ath5k_hw_release_tx_queue(ah, txq->qnum); in ath5k_txq_release()
1148 txq->setup = false; in ath5k_txq_release()
1612 struct ath5k_txq *txq, struct ieee80211_tx_control *control) in ath5k_tx_queue() argument
1619 trace_ath5k_tx(ah, skb, txq); in ath5k_tx_queue()
1632 if (txq->txq_len >= txq->txq_max && in ath5k_tx_queue()
1633 txq->qnum <= AR5K_TX_QUEUE_ID_DATA_MAX) in ath5k_tx_queue()
1634 ieee80211_stop_queue(hw, txq->qnum); in ath5k_tx_queue()
1652 if (ath5k_txbuf_setup(ah, bf, txq, padsize, control)) { in ath5k_tx_queue()
1668 struct ath5k_txq *txq, struct ath5k_tx_status *ts, in ath5k_tx_frame_completed() argument
1728 trace_ath5k_tx_complete(ah, skb, txq, ts); in ath5k_tx_frame_completed()
1733 ath5k_tx_processq(struct ath5k_hw *ah, struct ath5k_txq *txq) in ath5k_tx_processq() argument
1741 spin_lock(&txq->lock); in ath5k_tx_processq()
1742 list_for_each_entry_safe(bf, bf0, &txq->q, list) { in ath5k_tx_processq()
1744 txq->txq_poll_mark = false; in ath5k_tx_processq()
1756 "queue %u\n", ret, txq->qnum); in ath5k_tx_processq()
1765 ath5k_tx_frame_completed(ah, skb, txq, &ts, bf); in ath5k_tx_processq()
1774 if (ath5k_hw_get_txdp(ah, txq->qnum) != bf->daddr) { in ath5k_tx_processq()
1778 txq->txq_len--; in ath5k_tx_processq()
1782 spin_unlock(&txq->lock); in ath5k_tx_processq()
1783 if (txq->txq_len < ATH5K_TXQ_LEN_LOW && txq->qnum < 4) in ath5k_tx_processq()
1784 ieee80211_wake_queue(ah->hw, txq->qnum); in ath5k_tx_processq()
2467 struct ath5k_txq *txq; in ath5k_tx_complete_poll_work() local
2478 txq = &ah->txqs[i]; in ath5k_tx_complete_poll_work()
2479 spin_lock_bh(&txq->lock); in ath5k_tx_complete_poll_work()
2480 if (txq->txq_len > 1) { in ath5k_tx_complete_poll_work()
2481 if (txq->txq_poll_mark) { in ath5k_tx_complete_poll_work()
2484 txq->qnum); in ath5k_tx_complete_poll_work()
2486 txq->txq_stuck++; in ath5k_tx_complete_poll_work()
2487 spin_unlock_bh(&txq->lock); in ath5k_tx_complete_poll_work()
2490 txq->txq_poll_mark = true; in ath5k_tx_complete_poll_work()
2493 spin_unlock_bh(&txq->lock); in ath5k_tx_complete_poll_work()
2988 struct ath5k_txq *txq; in ath5k_init() local
3038 txq = ath5k_txq_setup(ah, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_VO); in ath5k_init()
3039 if (IS_ERR(txq)) { in ath5k_init()
3041 ret = PTR_ERR(txq); in ath5k_init()
3044 txq = ath5k_txq_setup(ah, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_VI); in ath5k_init()
3045 if (IS_ERR(txq)) { in ath5k_init()
3047 ret = PTR_ERR(txq); in ath5k_init()
3050 txq = ath5k_txq_setup(ah, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_BE); in ath5k_init()
3051 if (IS_ERR(txq)) { in ath5k_init()
3053 ret = PTR_ERR(txq); in ath5k_init()
3056 txq = ath5k_txq_setup(ah, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_BK); in ath5k_init()
3057 if (IS_ERR(txq)) { in ath5k_init()
3059 ret = PTR_ERR(txq); in ath5k_init()
3065 txq = ath5k_txq_setup(ah, AR5K_TX_QUEUE_DATA, AR5K_WME_AC_BE); in ath5k_init()
3066 if (IS_ERR(txq)) { in ath5k_init()
3068 ret = PTR_ERR(txq); in ath5k_init()