git: 6c2b290e579a - stable/13 - cxgbe(4): Decode and display some more bits in the PL interrupt handler.

From: Navdeep Parhar <np_at_FreeBSD.org>
Date: Thu, 02 Feb 2023 07:39:34 UTC
The branch stable/13 has been updated by np:

URL: https://cgit.FreeBSD.org/src/commit/?id=6c2b290e579a444c833d3bf784d762498a123f93

commit 6c2b290e579a444c833d3bf784d762498a123f93
Author:     Navdeep Parhar <np@FreeBSD.org>
AuthorDate: 2022-08-13 04:11:13 +0000
Commit:     Navdeep Parhar <np@FreeBSD.org>
CommitDate: 2023-02-02 07:16:01 +0000

    cxgbe(4): Decode and display some more bits in the PL interrupt handler.
    
    Sponsored by:   Chelsio Communications
    
    (cherry picked from commit a7d081a8ce0e1f4c985d2a771859d35561602b5c)
---
 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));