Methodize the process of adding the software TX queue to the taskqueue.
Move it (for now) to the TX taskqueue.
This commit is contained in:
parent
fbda3d5dae
commit
21bca442b9
@ -4230,9 +4230,9 @@ ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq, int dosched)
|
||||
ieee80211_ff_flush(ic, txq->axq_ac);
|
||||
#endif
|
||||
|
||||
/* Kick the TXQ scheduler */
|
||||
/* Kick the software TXQ scheduler */
|
||||
if (dosched) {
|
||||
taskqueue_enqueue(sc->sc_tx_tq, &sc->sc_txqtask);
|
||||
ath_tx_swq_kick(sc);
|
||||
}
|
||||
|
||||
ATH_KTR(sc, ATH_KTR_TXCOMP, 1,
|
||||
|
@ -120,12 +120,24 @@ extern void ath_tx_update_tim(struct ath_softc *sc,
|
||||
extern void ath_start(struct ifnet *ifp);
|
||||
extern void ath_start_task(void *arg, int npending);
|
||||
|
||||
/*
|
||||
* Kick the frame TX task.
|
||||
*/
|
||||
static inline void
|
||||
ath_tx_kick(struct ath_softc *sc)
|
||||
{
|
||||
|
||||
/* XXX eventually try sc_tx_tq? */
|
||||
taskqueue_enqueue(sc->sc_tx_tq, &sc->sc_txpkttask);
|
||||
}
|
||||
|
||||
/*
|
||||
* Kick the software TX queue task.
|
||||
*/
|
||||
static inline void
|
||||
ath_tx_swq_kick(struct ath_softc *sc)
|
||||
{
|
||||
|
||||
taskqueue_enqueue(sc->sc_tx_tq, &sc->sc_txqtask);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -2999,9 +2999,11 @@ ath_tx_tid_resume(struct ath_softc *sc, struct ath_tid *tid)
|
||||
}
|
||||
|
||||
ath_tx_tid_sched(sc, tid);
|
||||
/* Punt some frames to the hardware if needed */
|
||||
//ath_txq_sched(sc, sc->sc_ac2q[tid->ac]);
|
||||
taskqueue_enqueue(sc->sc_tx_tq, &sc->sc_txqtask);
|
||||
|
||||
/*
|
||||
* Queue the software TX scheduler.
|
||||
*/
|
||||
ath_tx_swq_kick(sc);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -655,7 +655,7 @@ ath_edma_tx_processq(struct ath_softc *sc, int dosched)
|
||||
* the txq task for _one_ TXQ. This should be fixed.
|
||||
*/
|
||||
if (dosched)
|
||||
taskqueue_enqueue(sc->sc_tx_tq, &sc->sc_txqtask);
|
||||
ath_tx_swq_kick(sc);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
x
Reference in New Issue
Block a user