Lines Matching refs:txq

699 ath_tx_handoff_mcast(struct ath_softc *sc, struct ath_txq *txq,  in ath_tx_handoff_mcast()  argument
715 txq->axq_qnum); in ath_tx_handoff_mcast()
718 ATH_TXQ_LOCK(txq); in ath_tx_handoff_mcast()
719 if (ATH_TXQ_LAST(txq, axq_q_s) != NULL) { in ath_tx_handoff_mcast()
720 struct ath_buf *bf_last = ATH_TXQ_LAST(txq, axq_q_s); in ath_tx_handoff_mcast()
734 ATH_TXQ_INSERT_TAIL(txq, bf, bf_list); in ath_tx_handoff_mcast()
735 ATH_TXQ_UNLOCK(txq); in ath_tx_handoff_mcast()
742 ath_tx_handoff_hw(struct ath_softc *sc, struct ath_txq *txq, in ath_tx_handoff_hw() argument
759 KASSERT(txq->axq_qnum != ATH_TXQ_SWQ, in ath_tx_handoff_hw()
779 ATH_TXQ_LOCK(txq); in ath_tx_handoff_hw()
804 ATH_TXQ_INSERT_TAIL(txq, bf, bf_list); in ath_tx_handoff_hw()
808 txq->axq_qnum, in ath_tx_handoff_hw()
810 txq->axq_depth); in ath_tx_handoff_hw()
818 if (txq->axq_link != NULL) { in ath_tx_handoff_hw()
819 *txq->axq_link = bf->bf_daddr; in ath_tx_handoff_hw()
822 txq->axq_qnum, txq->axq_link, in ath_tx_handoff_hw()
824 txq->axq_depth); in ath_tx_handoff_hw()
828 txq->axq_qnum, txq->axq_link, in ath_tx_handoff_hw()
844 if (! (txq->axq_flags & ATH_TXQ_PUTRUNNING)) { in ath_tx_handoff_hw()
845 bf_first = TAILQ_FIRST(&txq->axq_q); in ath_tx_handoff_hw()
846 txq->axq_flags |= ATH_TXQ_PUTRUNNING; in ath_tx_handoff_hw()
847 ath_hal_puttxbuf(ah, txq->axq_qnum, bf_first->bf_daddr); in ath_tx_handoff_hw()
850 __func__, txq->axq_qnum, in ath_tx_handoff_hw()
852 txq->axq_depth); in ath_tx_handoff_hw()
856 txq->axq_qnum, in ath_tx_handoff_hw()
859 txq->axq_depth); in ath_tx_handoff_hw()
866 if (bf->bf_state.bfs_tx_queue != txq->axq_qnum) { in ath_tx_handoff_hw()
870 txq->axq_qnum); in ath_tx_handoff_hw()
877 txq->axq_aggr_depth++; in ath_tx_handoff_hw()
882 ath_hal_gettxdesclinkptr(ah, bf->bf_lastds, &txq->axq_link); in ath_tx_handoff_hw()
899 ath_hal_txstart(ah, txq->axq_qnum); in ath_tx_handoff_hw()
900 ATH_TXQ_UNLOCK(txq); in ath_tx_handoff_hw()
902 "ath_tx_handoff: txq=%u, txstart", txq->axq_qnum); in ath_tx_handoff_hw()
911 ath_legacy_tx_dma_restart(struct ath_softc *sc, struct ath_txq *txq) in ath_legacy_tx_dma_restart() argument
915 ATH_TXQ_LOCK_ASSERT(txq); in ath_legacy_tx_dma_restart()
918 bf = TAILQ_FIRST(&txq->axq_q); in ath_legacy_tx_dma_restart()
919 bf_last = ATH_TXQ_LAST(txq, axq_q_s); in ath_legacy_tx_dma_restart()
927 txq->axq_qnum, in ath_legacy_tx_dma_restart()
934 ath_tx_dump(sc, txq); in ath_legacy_tx_dma_restart()
941 KASSERT((!(txq->axq_flags & ATH_TXQ_PUTRUNNING)), in ath_legacy_tx_dma_restart()
944 txq->axq_qnum)); in ath_legacy_tx_dma_restart()
946 ath_hal_puttxbuf(sc->sc_ah, txq->axq_qnum, bf->bf_daddr); in ath_legacy_tx_dma_restart()
947 txq->axq_flags |= ATH_TXQ_PUTRUNNING; in ath_legacy_tx_dma_restart()
950 &txq->axq_link); in ath_legacy_tx_dma_restart()
951 ath_hal_txstart(sc->sc_ah, txq->axq_qnum); in ath_legacy_tx_dma_restart()
960 ath_legacy_xmit_handoff(struct ath_softc *sc, struct ath_txq *txq, in ath_legacy_xmit_handoff() argument
970 if (txq->axq_qnum == ATH_TXQ_SWQ) in ath_legacy_xmit_handoff()
971 ath_tx_handoff_mcast(sc, txq, bf); in ath_legacy_xmit_handoff()
973 ath_tx_handoff_hw(sc, txq, bf); in ath_legacy_xmit_handoff()
1505 ath_tx_xmit_normal(struct ath_softc *sc, struct ath_txq *txq, in ath_tx_xmit_normal() argument
1539 ath_tx_handoff(sc, txq, bf); in ath_tx_xmit_normal()
1556 struct ath_buf *bf, struct mbuf *m0, struct ath_txq *txq) in ath_tx_normal_setup() argument
1740 if (txq != sc->sc_ac2q[pri]) { in ath_tx_normal_setup()
1744 txq, in ath_tx_normal_setup()
1745 txq->axq_qnum, in ath_tx_normal_setup()
1828 txq->axq_intrcnt = 0; in ath_tx_normal_setup()
1829 } else if (++txq->axq_intrcnt >= sc->sc_txintrperiod) { in ath_tx_normal_setup()
1831 txq->axq_intrcnt = 0; in ath_tx_normal_setup()
1912 struct ath_txq *txq; in ath_tx_start() local
1950 txq = sc->sc_ac2q[pri]; in ath_tx_start()
2006 bf->bf_state.bfs_tx_queue = txq->axq_qnum; in ath_tx_start()
2019 txq = &avp->av_mcastq; in ath_tx_start()
2074 r = ath_tx_normal_setup(sc, ni, bf, m0, txq); in ath_tx_start()
2108 if (txq == &avp->av_mcastq) { in ath_tx_start()
2112 ath_tx_xmit_normal(sc, txq, bf); in ath_tx_start()
2115 ath_tx_swq(sc, ni, txq, queue_to_head, bf); in ath_tx_start()
2118 ath_tx_xmit_normal(sc, txq, bf); in ath_tx_start()
2132 ath_tx_xmit_normal(sc, txq, bf); in ath_tx_start()
2910 struct ath_txq *txq = sc->sc_ac2q[tid->ac]; in ath_tx_tid_sched() local
2933 TAILQ_INSERT_HEAD(&txq->axq_tidq, tid, axq_qelem); in ath_tx_tid_sched()
2935 TAILQ_INSERT_TAIL(&txq->axq_tidq, tid, axq_qelem); in ath_tx_tid_sched()
2951 TAILQ_INSERT_TAIL(&txq->axq_tidq, tid, axq_qelem); in ath_tx_tid_sched()
2963 struct ath_txq *txq = sc->sc_ac2q[tid->ac]; in ath_tx_tid_unsched() local
2971 TAILQ_REMOVE(&txq->axq_tidq, tid, axq_qelem); in ath_tx_tid_unsched()
3049 struct ath_txq *txq, struct ath_buf *bf) in ath_tx_xmit_aggr() argument
3127 ath_tx_handoff(sc, txq, bf); in ath_tx_xmit_aggr()
3138 struct ath_txq *txq, int queue_to_head, struct ath_buf *bf) in ath_tx_swq() argument
3160 bf->bf_state.bfs_tx_queue = txq->axq_qnum; in ath_tx_swq()
3222 if (txq->axq_depth + txq->fifo.axq_depth == 0) { in ath_tx_swq()
3235 ath_tx_xmit_aggr(sc, an, txq, bf); in ath_tx_swq()
3260 } else if ((txq->axq_depth + txq->fifo.axq_depth < sc->sc_hwq_limit_nonaggr) && in ath_tx_swq()
3261 (txq->axq_aggr_depth < sc->sc_hwq_limit_aggr)) { in ath_tx_swq()
3277 ath_tx_xmit_normal(sc, txq, bf); in ath_tx_swq()
3852 struct ath_txq *txq; in ath_tx_tid_drain_print() local
3855 txq = sc->sc_ac2q[tid->ac]; in ath_tx_tid_drain_print()
3877 txq->axq_qnum, in ath_tx_tid_drain_print()
3878 txq->axq_depth, in ath_tx_tid_drain_print()
3879 txq->axq_aggr_depth); in ath_tx_tid_drain_print()
4144 ath_tx_txq_drain(struct ath_softc *sc, struct ath_txq *txq) in ath_tx_txq_drain() argument
4157 while (! TAILQ_EMPTY(&txq->axq_tidq)) { in ath_tx_txq_drain()
4158 tid = TAILQ_FIRST(&txq->axq_tidq); in ath_tx_txq_drain()
5431 struct ath_txq *txq = sc->sc_ac2q[tid->ac]; local
5624 ath_tx_handoff(sc, txq, bf);
5638 if (txq->axq_aggr_depth >= sc->sc_hwq_limit_aggr ||
5662 struct ath_txq *txq = sc->sc_ac2q[tid->ac]; local
5734 ath_tx_handoff(sc, txq, bf);
5750 ath_txq_sched(struct ath_softc *sc, struct ath_txq *txq) argument
5779 if (txq->axq_aggr_depth >= sc->sc_hwq_limit_aggr) {
5790 if (txq->axq_depth + txq->fifo.axq_depth >= sc->sc_hwq_limit_nonaggr) {
5795 last = TAILQ_LAST(&txq->axq_tidq, axq_t_s);
5797 TAILQ_FOREACH_SAFE(tid, &txq->axq_tidq, axq_qelem, next) {
5827 if (txq->axq_aggr_depth + txq->fifo.axq_depth >= sc->sc_hwq_limit_aggr) {
5830 if (txq->axq_depth >= sc->sc_hwq_limit_nonaggr) {
6312 struct ath_txq *txq; local
6330 txq = sc->sc_ac2q[atid->ac];
6349 struct ath_txq *txq; local
6374 txq = sc->sc_ac2q[atid->ac];