aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNavdeep Parhar <np@FreeBSD.org>2022-08-13 04:11:13 +0000
committerNavdeep Parhar <np@FreeBSD.org>2022-08-16 08:07:36 +0000
commita7d081a8ce0e1f4c985d2a771859d35561602b5c (patch)
treeff2225d8e750bc8fcb594bcf6a18d65e71bf82c1
parent2bb28b5f8cb5700945539584e7864773f0dfcd51 (diff)
downloadsrc-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.c20
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));