Author: np
Date: Fri Jul 12 20:59:10 2019
New Revision: 349956
URL: https://svnweb.freebsd.org/changeset/base/349956

Log:
  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

Modified:
  head/sys/dev/cxgbe/common/t4_hw.c

Modified: head/sys/dev/cxgbe/common/t4_hw.c
==============================================================================
--- head/sys/dev/cxgbe/common/t4_hw.c   Fri Jul 12 20:05:30 2019        
(r349955)
+++ head/sys/dev/cxgbe/common/t4_hw.c   Fri Jul 12 20:59:10 2019        
(r349956)
@@ -4023,17 +4023,16 @@ t4_handle_intr(struct adapter *adap, const struct intr
        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);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to