cxgbe(4): Do not read indirect INT_CAUSE registers directly

Some of the registers added in a172f9e5b3 are not directly accessible
and should be avoided.

Fixes:		a172f9e5b3 cxgbe(4): Improvements to the slow interrupt handler
MFC after:	1 week
Sponsored by:	Chelsio Communications
This commit is contained in:
Navdeep Parhar
2026-06-01 16:36:36 -07:00
parent c029d04671
commit 4b6887e386
+8
View File
@@ -6610,6 +6610,7 @@ static bool pmtx_intr_handler(struct adapter *adap, int arg, int flags)
.details = NULL,
.actions = pmtx_int_cause_actions,
};
#ifdef notyet
static const struct intr_details pmtx_perr_cause_details[] = {
{ F_ICSPI_OVFL, "icspi FIFO Overflow" },
{ F_OSPI_OVERFLOW3_TX, " OSPI overflow on channel 3 error." },
@@ -6641,6 +6642,7 @@ static bool pmtx_intr_handler(struct adapter *adap, int arg, int flags)
.details = pmtx_perr_cause_details,
.actions = NULL,
};
#endif
bool fatal;
if (chip_id(adap) >= CHELSIO_T7)
@@ -6648,8 +6650,10 @@ static bool pmtx_intr_handler(struct adapter *adap, int arg, int flags)
else
pmtx_int_cause.details = pmtx_int_cause_fields;
fatal = t4_handle_intr(adap, &pmtx_int_cause, 0, flags);
#ifdef notyet
if (chip_id(adap) >= CHELSIO_T7)
fatal |= t4_handle_intr(adap, &pmtx_perr_cause, 0, flags);
#endif
clear_int_cause_reg(adap, &pmtx_int_cause, flags);
return (fatal);
@@ -6705,6 +6709,7 @@ static bool pmrx_intr_handler(struct adapter *adap, int arg, int flags)
.details = NULL,
.actions = NULL,
};
#ifdef notyet
static const struct intr_details pm_rx_int_cause_2_details[] = {
{ F_CACHE_SRAM_ODD_CERR, "Cache Data Odd SRAM Correctable Error" },
{ F_CACHE_SRAM_EVEN_CERR, "Cache Data Even SRAM Correctable Error" },
@@ -6766,13 +6771,16 @@ static bool pmrx_intr_handler(struct adapter *adap, int arg, int flags)
.details = pm_rx_perr_cause_details,
.actions = NULL,
};
#endif
bool fatal;
if (chip_id(adap) >= CHELSIO_T7) {
pmrx_int_cause.details = t7_pmrx_int_cause_fields;
fatal = t4_handle_intr(adap, &pmrx_int_cause, 0, flags);
#ifdef notyet
fatal |= t4_handle_intr(adap, &pmrx_int_cause2, 0, flags);
fatal |= t4_handle_intr(adap, &pmrx_perr_cause, 0, flags);
#endif
} else {
pmrx_int_cause.details = pmrx_int_cause_fields;
fatal = t4_handle_intr(adap, &pmrx_int_cause, 0, flags);