Author: np
Date: Sat Nov 30 19:52:47 2019
New Revision: 355244
URL: https://svnweb.freebsd.org/changeset/base/355244

Log:
  MFC r349956:
  
  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.
  
  Sponsored by: Chelsio Communications

Modified:
  stable/11/sys/dev/cxgbe/common/t4_hw.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/cxgbe/common/t4_hw.c
==============================================================================
--- stable/11/sys/dev/cxgbe/common/t4_hw.c      Sat Nov 30 19:35:20 2019        
(r355243)
+++ stable/11/sys/dev/cxgbe/common/t4_hw.c      Sat Nov 30 19:52:47 2019        
(r355244)
@@ -4021,17 +4021,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);
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to