git: a7d081a8ce0e - main - cxgbe(4): Decode and display some more bits in the PL interrupt handler.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 16 Aug 2022 08:57:20 UTC
The branch main has been updated by np:
URL: https://cgit.FreeBSD.org/src/commit/?id=a7d081a8ce0e1f4c985d2a771859d35561602b5c
commit a7d081a8ce0e1f4c985d2a771859d35561602b5c
Author: Navdeep Parhar <np@FreeBSD.org>
AuthorDate: 2022-08-13 04:11:13 +0000
Commit: Navdeep Parhar <np@FreeBSD.org>
CommitDate: 2022-08-16 08:07:36 +0000
cxgbe(4): Decode and display some more bits in the PL interrupt handler.
MFC after: 1 week
Sponsored by: Chelsio Communications
---
sys/dev/cxgbe/common/t4_hw.c | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
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));