summaryrefslogtreecommitdiffstats
path: root/sys/dev/cxgbe/adapter.h
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-06-20 19:34:50 +0000
committerdim <dim@FreeBSD.org>2015-06-20 19:34:50 +0000
commite109f99dcb6c95c84bbec22229de29a25491f7c2 (patch)
treed142d742b698973a366ae768a3f4033924e314c8 /sys/dev/cxgbe/adapter.h
parent238df27d058d0d8912acf0a186d3f43289a0a2b6 (diff)
parentcb167b45a82327b0d6d88e85e3d6e2e326291ee4 (diff)
downloadFreeBSD-src-e109f99dcb6c95c84bbec22229de29a25491f7c2.zip
FreeBSD-src-e109f99dcb6c95c84bbec22229de29a25491f7c2.tar.gz
Merge ^/head r284188 through r284643.
Diffstat (limited to 'sys/dev/cxgbe/adapter.h')
-rw-r--r--sys/dev/cxgbe/adapter.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h
index 2655dae..c178297 100644
--- a/sys/dev/cxgbe/adapter.h
+++ b/sys/dev/cxgbe/adapter.h
@@ -206,6 +206,9 @@ enum {
INTR_OFLD_RXQ = (1 << 5), /* All TOE rxq's take interrupts */
INTR_NM_RXQ = (1 << 6), /* All netmap rxq's take interrupts */
INTR_ALL = (INTR_RXQ | INTR_OFLD_RXQ | INTR_NM_RXQ),
+
+ /* adapter debug_flags */
+ DF_DUMP_MBOX = (1 << 0),
};
#define IS_DOOMED(pi) ((pi)->flags & DOOMED)
@@ -762,6 +765,7 @@ struct adapter {
int active_ulds; /* ULDs activated on this adapter */
#endif
int flags;
+ int debug_flags;
char ifp_lockname[16];
struct mtx ifp_lock;
@@ -846,6 +850,24 @@ struct adapter {
#define TXQ_LOCK_ASSERT_OWNED(txq) EQ_LOCK_ASSERT_OWNED(&(txq)->eq)
#define TXQ_LOCK_ASSERT_NOTOWNED(txq) EQ_LOCK_ASSERT_NOTOWNED(&(txq)->eq)
+#define CH_DUMP_MBOX(sc, mbox, data_reg) \
+ do { \
+ if (sc->debug_flags & DF_DUMP_MBOX) { \
+ log(LOG_NOTICE, \
+ "%s mbox %u: %016llx %016llx %016llx %016llx " \
+ "%016llx %016llx %016llx %016llx\n", \
+ device_get_nameunit(sc->dev), mbox, \
+ (unsigned long long)t4_read_reg64(sc, data_reg), \
+ (unsigned long long)t4_read_reg64(sc, data_reg + 8), \
+ (unsigned long long)t4_read_reg64(sc, data_reg + 16), \
+ (unsigned long long)t4_read_reg64(sc, data_reg + 24), \
+ (unsigned long long)t4_read_reg64(sc, data_reg + 32), \
+ (unsigned long long)t4_read_reg64(sc, data_reg + 40), \
+ (unsigned long long)t4_read_reg64(sc, data_reg + 48), \
+ (unsigned long long)t4_read_reg64(sc, data_reg + 56)); \
+ } \
+ } while (0)
+
#define for_each_txq(pi, iter, q) \
for (q = &pi->adapter->sge.txq[pi->first_txq], iter = 0; \
iter < pi->ntxq; ++iter, ++q)
OpenPOWER on IntegriCloud