git: 8f41ee95f9e0 - main - cxgbe(4): decode the T7 MC interrupt correctly

From: Navdeep Parhar <np_at_FreeBSD.org>
Date: Wed, 18 Mar 2026 23:43:48 UTC
The branch main has been updated by np:

URL: https://cgit.FreeBSD.org/src/commit/?id=8f41ee95f9e05b3848d793deaacd591ee2387f0e

commit 8f41ee95f9e05b3848d793deaacd591ee2387f0e
Author:     Navdeep Parhar <np@FreeBSD.org>
AuthorDate: 2026-03-18 22:20:07 +0000
Commit:     Navdeep Parhar <np@FreeBSD.org>
CommitDate: 2026-03-18 22:22:57 +0000

    cxgbe(4): decode the T7 MC interrupt correctly
    
    The layout for the main INT_CAUSE is a bit different for T7.
    
    MFC after:      1 week
    Sponsored by:   Chelsio Communications
---
 sys/dev/cxgbe/common/t4_hw.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/sys/dev/cxgbe/common/t4_hw.c b/sys/dev/cxgbe/common/t4_hw.c
index 24ac018cc49c..f4eef54e5c6b 100644
--- a/sys/dev/cxgbe/common/t4_hw.c
+++ b/sys/dev/cxgbe/common/t4_hw.c
@@ -6103,6 +6103,14 @@ static bool mem_intr_handler(struct adapter *adap, int idx, int flags)
 		{ F_PERR_INT_CAUSE, "FIFO parity error" },
 		{ 0 }
 	};
+	static const struct intr_details t7_mem_intr_details[] = {
+		{ F_DDRPHY_INT_CAUSE, "DDRPHY" },
+		{ F_DDRCTL_INT_CAUSE, "DDRCTL" },
+		{ F_T7_ECC_CE_INT_CAUSE, "Correctable ECC data error(s)" },
+		{ F_T7_ECC_UE_INT_CAUSE, "Uncorrectable ECC data error(s)" },
+		{ F_PERR_INT_CAUSE, "FIFO parity error" },
+		{ 0 }
+	};
 	char rname[32];
 	struct intr_info ii = {
 		.name = &rname[0],
@@ -6157,6 +6165,8 @@ static bool mem_intr_handler(struct adapter *adap, int idx, int flags)
 		} else {
 			ii.cause_reg = MC_T7_REG(A_T7_MC_P_INT_CAUSE, i);
 			ii.enable_reg = MC_T7_REG(A_T7_MC_P_INT_ENABLE, i);
+			ii.fatal = F_PERR_INT_CAUSE | F_T7_ECC_UE_INT_CAUSE;
+			ii.details = t7_mem_intr_details;
 			count_reg = MC_T7_REG(A_T7_MC_P_ECC_STATUS, i);
 		}
 		fatal |= t4_handle_intr(adap, &ii, 0, flags);