summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-11-03 04:53:44 +0000
committeradrian <adrian@FreeBSD.org>2012-11-03 04:53:44 +0000
commit87c36b9b3e9601fb483fab2c599276adbdabf746 (patch)
tree4ca9d1b19b6f49f3ce102769b208399d71150730
parent20c3c08700dcc0fe1e8581051372bc778d209a58 (diff)
downloadFreeBSD-src-87c36b9b3e9601fb483fab2c599276adbdabf746.zip
FreeBSD-src-87c36b9b3e9601fb483fab2c599276adbdabf746.tar.gz
Add a debug method to dump the EDMA TX status descriptor contents out.
This requires some HAL API changes to be useful, as there's no way right now to pull out the TX status descriptor contents.
-rw-r--r--sys/dev/ath/if_ath_debug.c12
-rw-r--r--sys/dev/ath/if_ath_debug.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath_debug.c b/sys/dev/ath/if_ath_debug.c
index 9a01e64..7d620dd 100644
--- a/sys/dev/ath/if_ath_debug.c
+++ b/sys/dev/ath/if_ath_debug.c
@@ -247,4 +247,16 @@ ath_printtxbuf(struct ath_softc *sc, const struct ath_buf *first_bf,
ath_printtxbuf_legacy(sc, first_bf, qnum, ix, done);
}
+void
+ath_printtxstatbuf(struct ath_softc *sc, const struct ath_buf *first_bf,
+ const uint32_t *ds, u_int qnum, u_int ix, int done)
+{
+
+ printf("Q%u[%3u] ", qnum, ix);
+ printf(" %08x %08x %08x %08x %08x %08x\n",
+ ds[0], ds[1], ds[2], ds[3], ds[4], ds[5]);
+ printf(" %08x %08x %08x %08x %08x\n",
+ ds[6], ds[7], ds[8], ds[9], ds[10]);
+}
+
#endif /* ATH_DEBUG */
diff --git a/sys/dev/ath/if_ath_debug.h b/sys/dev/ath/if_ath_debug.h
index 1a591e4..b7b5a78 100644
--- a/sys/dev/ath/if_ath_debug.h
+++ b/sys/dev/ath/if_ath_debug.h
@@ -105,6 +105,8 @@ extern void ath_printrxbuf(struct ath_softc *, const struct ath_buf *bf,
u_int ix, int);
extern void ath_printtxbuf(struct ath_softc *, const struct ath_buf *bf,
u_int qnum, u_int ix, int done);
+extern void ath_printtxstatbuf(struct ath_softc *sc, const struct ath_buf *bf,
+ const uint32_t *ds, u_int qnum, u_int ix, int done);
#else /* ATH_DEBUG */
#define ATH_KTR(_sc, _km, _kf, ...) do { } while (0)
OpenPOWER on IntegriCloud