aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/cxgbe/adapter.h
diff options
context:
space:
mode:
authorNavdeep Parhar <np@FreeBSD.org>2019-02-01 20:42:49 +0000
committerNavdeep Parhar <np@FreeBSD.org>2019-02-01 20:42:49 +0000
commitcb7c3f124a9b17d0f4200008d0661c239ec3520f (patch)
treed56be90a755baf6fd60888eb5403e80dadd48cd0 /sys/dev/cxgbe/adapter.h
parent6b2779a02230e2270531e1697a48f076da7cebed (diff)
Notes
Diffstat (limited to 'sys/dev/cxgbe/adapter.h')
-rw-r--r--sys/dev/cxgbe/adapter.h53
1 files changed, 34 insertions, 19 deletions
diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h
index 6f9fc82ab9be6..e7a890af69d76 100644
--- a/sys/dev/cxgbe/adapter.h
+++ b/sys/dev/cxgbe/adapter.h
@@ -155,7 +155,7 @@ enum {
CHK_MBOX_ACCESS = (1 << 2),
MASTER_PF = (1 << 3),
ADAP_SYSCTL_CTX = (1 << 4),
- /* TOM_INIT_DONE= (1 << 5), No longer used */
+ ADAP_ERR = (1 << 5),
BUF_PACKING_OK = (1 << 6),
IS_VF = (1 << 7),
@@ -175,6 +175,7 @@ enum {
DF_LOAD_FW_ANYTIME = (1 << 1), /* Allow LOAD_FW after init */
DF_DISABLE_TCB_CACHE = (1 << 2), /* Disable TCB cache (T6+) */
DF_DISABLE_CFG_RETRY = (1 << 3), /* Disable fallback config */
+ DF_VERBOSE_SLOWINTR = (1 << 4), /* Chatty slow intr handler */
};
#define IS_DOOMED(vi) ((vi)->flags & DOOMED)
@@ -932,24 +933,6 @@ 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(vi, iter, q) \
for (q = &vi->pi->adapter->sge.txq[vi->first_txq], iter = 0; \
iter < vi->ntxq; ++iter, ++q)
@@ -1105,6 +1088,38 @@ t4_use_ldst(struct adapter *sc)
#endif
}
+static inline void
+CH_DUMP_MBOX(struct adapter *sc, int mbox, const int reg,
+ const char *msg, const __be64 *const p, const bool err)
+{
+
+ if (!(sc->debug_flags & DF_DUMP_MBOX) && !err)
+ return;
+ if (p != NULL) {
+ log(err ? LOG_ERR : LOG_DEBUG,
+ "%s: mbox %u %s %016llx %016llx %016llx %016llx "
+ "%016llx %016llx %016llx %016llx\n",
+ device_get_nameunit(sc->dev), mbox, msg,
+ (long long)be64_to_cpu(p[0]), (long long)be64_to_cpu(p[1]),
+ (long long)be64_to_cpu(p[2]), (long long)be64_to_cpu(p[3]),
+ (long long)be64_to_cpu(p[4]), (long long)be64_to_cpu(p[5]),
+ (long long)be64_to_cpu(p[6]), (long long)be64_to_cpu(p[7]));
+ } else {
+ log(err ? LOG_ERR : LOG_DEBUG,
+ "%s: mbox %u %s %016llx %016llx %016llx %016llx "
+ "%016llx %016llx %016llx %016llx\n",
+ device_get_nameunit(sc->dev), mbox, msg,
+ (long long)t4_read_reg64(sc, reg),
+ (long long)t4_read_reg64(sc, reg + 8),
+ (long long)t4_read_reg64(sc, reg + 16),
+ (long long)t4_read_reg64(sc, reg + 24),
+ (long long)t4_read_reg64(sc, reg + 32),
+ (long long)t4_read_reg64(sc, reg + 40),
+ (long long)t4_read_reg64(sc, reg + 48),
+ (long long)t4_read_reg64(sc, reg + 56));
+ }
+}
+
/* t4_main.c */
extern int t4_ntxq;
extern int t4_nrxq;