Author: philip
Date: Sat Nov 19 09:16:52 2011
New Revision: 227700
URL: http://svn.freebsd.org/changeset/base/227700

Log:
  sfxge: Remove interrupt self-test code
  
  It's not currently used; it didn't build on 32-bit and the previous build fix
  is incorrect.  If we really implement self-tests we can do this again
  properly.
  
  Submitted by: Ben Hutchings <bwh -at- solarflare.com>
  MFC after:    3 weeks

Modified:
  head/sys/dev/sfxge/sfxge.h
  head/sys/dev/sfxge/sfxge_intr.c

Modified: head/sys/dev/sfxge/sfxge.h
==============================================================================
--- head/sys/dev/sfxge/sfxge.h  Sat Nov 19 09:13:58 2011        (r227699)
+++ head/sys/dev/sfxge/sfxge.h  Sat Nov 19 09:16:52 2011        (r227700)
@@ -144,7 +144,6 @@ struct sfxge_intr {
        int                     n_alloc;
        int                     type;
        efsys_mem_t             status;
-       uint64_t                mask;
        uint32_t                zero_count;
 };
 

Modified: head/sys/dev/sfxge/sfxge_intr.c
==============================================================================
--- head/sys/dev/sfxge/sfxge_intr.c     Sat Nov 19 09:13:58 2011        
(r227699)
+++ head/sys/dev/sfxge/sfxge_intr.c     Sat Nov 19 09:16:52 2011        
(r227700)
@@ -65,15 +65,9 @@ sfxge_intr_line_filter(void *arg)
        KASSERT(intr->type == EFX_INTR_LINE,
            ("intr->type != EFX_INTR_LINE"));
 
-       if (intr->state != SFXGE_INTR_STARTED &&
-           intr->state != SFXGE_INTR_TESTING)
+       if (intr->state != SFXGE_INTR_STARTED)
                return FILTER_STRAY;
 
-       if (intr->state == SFXGE_INTR_TESTING) {
-               intr->mask |= 1;        /* only one interrupt */
-               return FILTER_HANDLED;
-       }
-
        (void)efx_intr_status_line(enp, &fatal, &qmask);
 
        if (fatal) {
@@ -137,21 +131,9 @@ sfxge_intr_message(void *arg)
        KASSERT(intr->type == EFX_INTR_MESSAGE,
            ("intr->type != EFX_INTR_MESSAGE"));
 
-       if (intr->state != SFXGE_INTR_STARTED &&
-           intr->state != SFXGE_INTR_TESTING)
+       if (intr->state != SFXGE_INTR_STARTED)
                return;
 
-       if (intr->state == SFXGE_INTR_TESTING) {
-               uint64_t mask;
-
-               do {
-                       mask = intr->mask;
-               } while (atomic_cmpset_ptr(&intr->mask, mask,
-                   mask | (1 << index)) == 0);
-
-               return;
-       }
-
        (void)efx_intr_status_message(enp, index, &fatal);
 
        if (fatal) {
@@ -447,7 +429,6 @@ sfxge_intr_stop(struct sfxge_softc *sc)
        intr->state = SFXGE_INTR_INITIALIZED;
 
        /* Disable interrupts at the NIC */
-       intr->mask = 0;
        efx_intr_disable(sc->enp);
 
        /* Disable interrupts at the bus */
@@ -480,13 +461,11 @@ sfxge_intr_start(struct sfxge_softc *sc)
        if ((rc = sfxge_intr_bus_enable(sc)) != 0)
                goto fail;
 
-       intr->state = SFXGE_INTR_TESTING;
+       intr->state = SFXGE_INTR_STARTED;
 
        /* Enable interrupts at the NIC */
        efx_intr_enable(sc->enp);
 
-       intr->state = SFXGE_INTR_STARTED;
-
        return (0);
 
 fail:
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to