svn commit: r227700 - head/sys/dev/sfxge

Philip Paeps philip at FreeBSD.org
Sat Nov 19 09:16:53 UTC 2011


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:


More information about the svn-src-head mailing list