cxgbe(4): Completely ignore all top level interrupts that are not enabled.

The driver used to log any non-zero cause and when running with a single
line interrupt it would spam the console/logs with reports of interrupts
that are of no interest to anyone.

MFC after:	1 week
Sponsored by:	Chelsio Communications
This commit is contained in:
Navdeep Parhar 2019-07-12 20:59:10 +00:00
parent 026e450262
commit 6620004df5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=349956

View file

@ -4023,17 +4023,16 @@ t4_handle_intr(struct adapter *adap, const struct intr_info *ii,
bool rc; bool rc;
const struct intr_action *action; const struct intr_action *action;
/* read and display cause. */
cause = t4_read_reg(adap, ii->cause_reg);
if (verbose || cause != 0)
t4_show_intr_info(adap, ii, cause);
/* /*
* The top level interrupt cause is a bit special and we need to ignore * Read and display cause. Note that the top level PL_INT_CAUSE is a
* the bits that are not in the enable. Note that we did display them * bit special and we need to completely ignore the bits that are not in
* above in t4_show_intr_info but will not clear them. * PL_INT_ENABLE.
*/ */
cause = t4_read_reg(adap, ii->cause_reg);
if (ii->cause_reg == A_PL_INT_CAUSE) if (ii->cause_reg == A_PL_INT_CAUSE)
cause &= t4_read_reg(adap, ii->enable_reg); cause &= t4_read_reg(adap, ii->enable_reg);
if (verbose || cause != 0)
t4_show_intr_info(adap, ii, cause);
fatal = cause & ii->fatal; fatal = cause & ii->fatal;
if (fatal != 0 && ii->flags & NONFATAL_IF_DISABLED) if (fatal != 0 && ii->flags & NONFATAL_IF_DISABLED)
fatal &= t4_read_reg(adap, ii->enable_reg); fatal &= t4_read_reg(adap, ii->enable_reg);