Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Nov 2012 16:42:13 +0000 (UTC)
From:      Andre Oppermann <andre@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r243090 - user/andre/tcp_workqueue/sys/dev/fxp
Message-ID:  <201211151642.qAFGgDZx019148@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andre
Date: Thu Nov 15 16:42:12 2012
New Revision: 243090
URL: http://svnweb.freebsd.org/changeset/base/243090

Log:
  Remove traditional polling code.

Modified:
  user/andre/tcp_workqueue/sys/dev/fxp/if_fxp.c

Modified: user/andre/tcp_workqueue/sys/dev/fxp/if_fxp.c
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/fxp/if_fxp.c	Thu Nov 15 16:01:49 2012	(r243089)
+++ user/andre/tcp_workqueue/sys/dev/fxp/if_fxp.c	Thu Nov 15 16:42:12 2012	(r243090)
@@ -33,11 +33,6 @@ __FBSDID("$FreeBSD$");
 /*
  * Intel EtherExpress Pro/100B PCI Fast Ethernet driver
  */
-
-#ifdef HAVE_KERNEL_OPTION_HEADERS
-#include "opt_device_polling.h"
-#endif
-
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
@@ -860,11 +855,6 @@ fxp_attach(device_t dev)
 		ifp->if_capenable |= IFCAP_WOL_MAGIC;
 	}
 
-#ifdef DEVICE_POLLING
-	/* Inform the world we support polling. */
-	ifp->if_capabilities |= IFCAP_POLLING;
-#endif
-
 	/*
 	 * Attach the interface.
 	 */
@@ -1003,11 +993,6 @@ fxp_detach(device_t dev)
 {
 	struct fxp_softc *sc = device_get_softc(dev);
 
-#ifdef DEVICE_POLLING
-	if (sc->ifp->if_capenable & IFCAP_POLLING)
-		ether_poll_deregister(sc->ifp);
-#endif
-
 	FXP_LOCK(sc);
 	/*
 	 * Stop DMA and drop transmit queue, but disable interrupts first.
@@ -1630,44 +1615,6 @@ fxp_encap(struct fxp_softc *sc, struct m
 	return (0);
 }
 
-#ifdef DEVICE_POLLING
-static poll_handler_t fxp_poll;
-
-static int
-fxp_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
-{
-	struct fxp_softc *sc = ifp->if_softc;
-	uint8_t statack;
-	int rx_npkts = 0;
-
-	FXP_LOCK(sc);
-	if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
-		FXP_UNLOCK(sc);
-		return (rx_npkts);
-	}
-
-	statack = FXP_SCB_STATACK_CXTNO | FXP_SCB_STATACK_CNA |
-	    FXP_SCB_STATACK_FR;
-	if (cmd == POLL_AND_CHECK_STATUS) {
-		uint8_t tmp;
-
-		tmp = CSR_READ_1(sc, FXP_CSR_SCB_STATACK);
-		if (tmp == 0xff || tmp == 0) {
-			FXP_UNLOCK(sc);
-			return (rx_npkts); /* nothing to do */
-		}
-		tmp &= ~statack;
-		/* ack what we can */
-		if (tmp != 0)
-			CSR_WRITE_1(sc, FXP_CSR_SCB_STATACK, tmp);
-		statack |= tmp;
-	}
-	rx_npkts = fxp_intr_body(sc, ifp, statack, count);
-	FXP_UNLOCK(sc);
-	return (rx_npkts);
-}
-#endif /* DEVICE_POLLING */
-
 /*
  * Process interface interrupts.
  */
@@ -2540,15 +2487,6 @@ fxp_init_body(struct fxp_softc *sc, int 
 	/*
 	 * Enable interrupts.
 	 */
-#ifdef DEVICE_POLLING
-	/*
-	 * ... but only do that if we are not polling. And because (presumably)
-	 * the default is interrupts on, we need to disable them explicitly!
-	 */
-	if (ifp->if_capenable & IFCAP_POLLING )
-		CSR_WRITE_1(sc, FXP_CSR_SCB_INTRCNTL, FXP_SCB_INTR_DISABLE);
-	else
-#endif /* DEVICE_POLLING */
 	CSR_WRITE_1(sc, FXP_CSR_SCB_INTRCNTL, 0);
 
 	/*
@@ -2864,27 +2802,6 @@ fxp_ioctl(struct ifnet *ifp, u_long comm
 	case SIOCSIFCAP:
 		reinit = 0;
 		mask = ifp->if_capenable ^ ifr->ifr_reqcap;
-#ifdef DEVICE_POLLING
-		if (mask & IFCAP_POLLING) {
-			if (ifr->ifr_reqcap & IFCAP_POLLING) {
-				error = ether_poll_register(fxp_poll, ifp);
-				if (error)
-					return(error);
-				FXP_LOCK(sc);
-				CSR_WRITE_1(sc, FXP_CSR_SCB_INTRCNTL,
-				    FXP_SCB_INTR_DISABLE);
-				ifp->if_capenable |= IFCAP_POLLING;
-				FXP_UNLOCK(sc);
-			} else {
-				error = ether_poll_deregister(ifp);
-				/* Enable interrupts in any case */
-				FXP_LOCK(sc);
-				CSR_WRITE_1(sc, FXP_CSR_SCB_INTRCNTL, 0);
-				ifp->if_capenable &= ~IFCAP_POLLING;
-				FXP_UNLOCK(sc);
-			}
-		}
-#endif
 		FXP_LOCK(sc);
 		if ((mask & IFCAP_TXCSUM) != 0 &&
 		    (ifp->if_capabilities & IFCAP_TXCSUM) != 0) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211151642.qAFGgDZx019148>