diff options
author | Navdeep Parhar <np@FreeBSD.org> | 2019-07-12 20:59:10 +0000 |
---|---|---|
committer | Navdeep Parhar <np@FreeBSD.org> | 2019-07-12 20:59:10 +0000 |
commit | 6620004df5bf3ed1a58d415af4bdf089d75c00cc (patch) | |
tree | c67665a6f774f395955f0481241a9b709ee6fd5d /sys/dev/cxgbe/common/t4_hw.c | |
parent | 026e450262c8a7cfd36801fd39b7548352ec7cb7 (diff) |
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
Notes
Notes:
svn path=/head/; revision=349956
Diffstat (limited to 'sys/dev/cxgbe/common/t4_hw.c')
-rw-r--r-- | sys/dev/cxgbe/common/t4_hw.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sys/dev/cxgbe/common/t4_hw.c b/sys/dev/cxgbe/common/t4_hw.c index b6f170310c1f..b76e11effc46 100644 --- a/sys/dev/cxgbe/common/t4_hw.c +++ b/sys/dev/cxgbe/common/t4_hw.c @@ -4023,17 +4023,16 @@ t4_handle_intr(struct adapter *adap, const struct intr_info *ii, bool rc; 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 - * the bits that are not in the enable. Note that we did display them - * above in t4_show_intr_info but will not clear them. + * Read and display cause. Note that the top level PL_INT_CAUSE is a + * bit special and we need to completely ignore the bits that are not in + * PL_INT_ENABLE. */ + cause = t4_read_reg(adap, ii->cause_reg); if (ii->cause_reg == A_PL_INT_CAUSE) cause &= t4_read_reg(adap, ii->enable_reg); + if (verbose || cause != 0) + t4_show_intr_info(adap, ii, cause); fatal = cause & ii->fatal; if (fatal != 0 && ii->flags & NONFATAL_IF_DISABLED) fatal &= t4_read_reg(adap, ii->enable_reg); |