aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ath
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2016-09-12 04:50:40 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2016-09-12 04:50:40 +0000
commitbd3b336251cce7ec386049af36803cc7b13a290c (patch)
tree0f3e4030fc5b0a1124daeca5a8e3ac0232047380 /sys/dev/ath
parentb763171b46353f773da65ef7398df966d692da68 (diff)
downloadsrc-bd3b336251cce7ec386049af36803cc7b13a290c.tar.gz
src-bd3b336251cce7ec386049af36803cc7b13a290c.zip
[ath] tweak the TX EDMA debugging a bit.
I've used this to debug some amusing issues with the EDMA code. Tested: * AR9380, STA mode * AR9380, TDMA mode (master, slave)
Notes
Notes: svn path=/head/; revision=305720
Diffstat (limited to 'sys/dev/ath')
-rw-r--r--sys/dev/ath/if_ath_tx_edma.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/sys/dev/ath/if_ath_tx_edma.c b/sys/dev/ath/if_ath_tx_edma.c
index 486c06a8a6ba..c465bb98fdbe 100644
--- a/sys/dev/ath/if_ath_tx_edma.c
+++ b/sys/dev/ath/if_ath_tx_edma.c
@@ -268,7 +268,7 @@ ath_tx_edma_push_staging_list(struct ath_softc *sc, struct ath_txq *txq,
/* Bump FIFO queue */
txq->axq_fifo_depth++;
- DPRINTF(sc, ATH_DEBUG_XMIT,
+ DPRINTF(sc, ATH_DEBUG_XMIT | ATH_DEBUG_TX_PROC,
"%s: queued %d packets; depth=%d, fifo depth=%d\n",
__func__, sqdepth, txq->fifo.axq_depth, txq->axq_fifo_depth);
@@ -296,16 +296,21 @@ ath_edma_tx_fifo_fill(struct ath_softc *sc, struct ath_txq *txq)
ATH_TXQ_LOCK_ASSERT(txq);
- DPRINTF(sc, ATH_DEBUG_TX_PROC, "%s: Q%d: called\n",
+ DPRINTF(sc, ATH_DEBUG_TX_PROC,
+ "%s: Q%d: called; fifo.depth=%d, fifo depth=%d, depth=%d, aggr_depth=%d\n",
__func__,
- txq->axq_qnum);
+ txq->axq_qnum,
+ txq->fifo.axq_depth,
+ txq->axq_fifo_depth,
+ txq->axq_depth,
+ txq->axq_aggr_depth);
/*
- * For now, push up to 4 frames per TX FIFO slot.
+ * For now, push up to 32 frames per TX FIFO slot.
* If more are in the hardware queue then they'll
* get populated when we try to send another frame
* or complete a frame - so at most there'll be
- * 32 non-AMPDU frames per TXQ.
+ * 32 non-AMPDU frames per node/TID anyway.
*
* Note that the hardware staging queue will limit
* how many frames in total we will have pushed into
@@ -811,10 +816,11 @@ ath_edma_tx_processq(struct ath_softc *sc, int dosched)
}
#if defined(ATH_DEBUG_ALQ) && defined(ATH_DEBUG)
- if (if_ath_alq_checkdebug(&sc->sc_alq, ATH_ALQ_EDMA_TXSTATUS))
+ if (if_ath_alq_checkdebug(&sc->sc_alq, ATH_ALQ_EDMA_TXSTATUS)) {
if_ath_alq_post(&sc->sc_alq, ATH_ALQ_EDMA_TXSTATUS,
sc->sc_tx_statuslen,
(char *) txstatus);
+ }
#endif /* ATH_DEBUG_ALQ */
/*