From owner-freebsd-net@FreeBSD.ORG Fri Nov 18 21:34:19 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F26FF106566C; Fri, 18 Nov 2011 21:34:19 +0000 (UTC) (envelope-from bhutchings@solarflare.com) Received: from exchange.solarflare.com (exchange.solarflare.com [216.237.3.220]) by mx1.freebsd.org (Postfix) with ESMTP id D0A4D8FC13; Fri, 18 Nov 2011 21:34:19 +0000 (UTC) Received: from OCEX02.SolarFlarecom.com ([10.20.40.31]) by exchange.solarflare.com with Microsoft SMTPSVC(6.0.3790.4675); Fri, 18 Nov 2011 13:34:14 -0800 Received: from [10.17.20.137] (10.17.20.137) by ocex02.SolarFlarecom.com (10.20.40.31) with Microsoft SMTP Server (TLS) id 14.1.339.1; Fri, 18 Nov 2011 13:34:14 -0800 From: Ben Hutchings To: Philip Paeps Content-Type: text/plain; charset="UTF-8" Organization: Solarflare Communications Date: Fri, 18 Nov 2011 21:34:11 +0000 Message-ID: <1321652051.2883.76.camel@bwh-desktop> MIME-Version: 1.0 X-Mailer: Evolution 2.32.2 (2.32.2-1.fc14) Content-Transfer-Encoding: 7bit X-Originating-IP: [10.17.20.137] X-TM-AS-Product-Ver: SMEX-8.0.0.1181-6.500.1024-18526.005 X-TM-AS-Result: No--3.092200-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-OriginalArrivalTime: 18 Nov 2011 21:34:14.0755 (UTC) FILETIME=[D1A5C330:01CCA639] Cc: freebsd-net@freebsd.org, marius@freebsd.org Subject: sfxge: Remove interrupt self-test code X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Nov 2011 21:34:20 -0000 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. --- a/sys/dev/sfxge/sfxge.h +++ b/sys/dev/sfxge/sfxge.h @@ -144,7 +144,6 @@ struct sfxge_intr { int n_alloc; int type; efsys_mem_t status; - uint64_t mask; uint32_t zero_count; }; --- a/sys/dev/sfxge/sfxge_intr.c +++ b/sys/dev/sfxge/sfxge_intr.c @@ -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: -- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.