diff options
author | Navdeep Parhar <np@FreeBSD.org> | 2022-08-13 04:11:13 +0000 |
---|---|---|
committer | Navdeep Parhar <np@FreeBSD.org> | 2022-08-16 08:07:36 +0000 |
commit | a7d081a8ce0e1f4c985d2a771859d35561602b5c (patch) | |
tree | ff2225d8e750bc8fcb594bcf6a18d65e71bf82c1 | |
parent | 2bb28b5f8cb5700945539584e7864773f0dfcd51 (diff) | |
download | src-a7d081a8ce0e1f4c985d2a771859d35561602b5c.tar.gz src-a7d081a8ce0e1f4c985d2a771859d35561602b5c.zip |
cxgbe(4): Decode and display some more bits in the PL interrupt handler.
MFC after: 1 week
Sponsored by: Chelsio Communications
-rw-r--r-- | sys/dev/cxgbe/common/t4_hw.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/sys/dev/cxgbe/common/t4_hw.c b/sys/dev/cxgbe/common/t4_hw.c index 0176eb3e2b0d..75797199e1cf 100644 --- a/sys/dev/cxgbe/common/t4_hw.c +++ b/sys/dev/cxgbe/common/t4_hw.c @@ -5266,10 +5266,28 @@ static bool mac_intr_handler(struct adapter *adap, int port, bool verbose) return (fatal); } +static bool pl_timeout_status(struct adapter *adap, int arg, bool verbose) +{ + + CH_ALERT(adap, " PL_TIMEOUT_STATUS 0x%08x 0x%08x\n", + t4_read_reg(adap, A_PL_TIMEOUT_STATUS0), + t4_read_reg(adap, A_PL_TIMEOUT_STATUS1)); + + return (false); +} + static bool plpl_intr_handler(struct adapter *adap, int arg, bool verbose) { + static const struct intr_action plpl_intr_actions[] = { + { F_TIMEOUT, 0, pl_timeout_status }, + { 0 }, + }; static const struct intr_details plpl_intr_details[] = { + { F_PL_BUSPERR, "Bus parity error" }, { F_FATALPERR, "Fatal parity error" }, + { F_INVALIDACCESS, "Global reserved memory access" }, + { F_TIMEOUT, "Bus timeout" }, + { F_PLERR, "Module reserved access" }, { F_PERRVFID, "VFID_MAP parity error" }, { 0 } }; @@ -5280,7 +5298,7 @@ static bool plpl_intr_handler(struct adapter *adap, int arg, bool verbose) .fatal = F_FATALPERR | F_PERRVFID, .flags = NONFATAL_IF_DISABLED, .details = plpl_intr_details, - .actions = NULL, + .actions = plpl_intr_actions, }; return (t4_handle_intr(adap, &plpl_intr_info, 0, verbose)); |