svn commit: r211672 - user/nwhitehorn/ps3/powerpc/ps3

Nathan Whitehorn nwhitehorn at FreeBSD.org
Mon Aug 23 00:52:52 UTC 2010


Author: nwhitehorn
Date: Mon Aug 23 00:52:52 2010
New Revision: 211672
URL: http://svn.freebsd.org/changeset/base/211672

Log:
  Make glc(4) a little faster.

Modified:
  user/nwhitehorn/ps3/powerpc/ps3/if_glc.c

Modified: user/nwhitehorn/ps3/powerpc/ps3/if_glc.c
==============================================================================
--- user/nwhitehorn/ps3/powerpc/ps3/if_glc.c	Mon Aug 23 00:31:55 2010	(r211671)
+++ user/nwhitehorn/ps3/powerpc/ps3/if_glc.c	Mon Aug 23 00:52:52 2010	(r211672)
@@ -122,6 +122,7 @@ glc_attach(device_t dev) 
 
 	sc->sc_bus = ps3bus_get_bus(dev);
 	sc->sc_dev = ps3bus_get_device(dev);
+	sc->sc_self = dev;
 
 	mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK,
 	    MTX_DEF);
@@ -377,14 +378,16 @@ glc_start_locked(struct ifnet *ifp)
 			 */
 
 			if (sc->sc_txdmadesc[i].cmd_stat & GELIC_DESCR_OWNED) {
-				//kickstart = 0;
+				kickstart = 0;
 				break;
 			}
 		}
 	}
 
-	if (kickstart && first != 0)
+	if (kickstart && first != 0) {
+		lv1_net_stop_tx_dma(sc->sc_bus, sc->sc_dev, 0);
 		lv1_net_start_tx_dma(sc->sc_bus, sc->sc_dev, first, 0);
+	}
 }
 
 static void
@@ -689,6 +692,7 @@ glc_intr(void *xsc)
 	struct glc_softc *sc = xsc; 
 
 	mtx_lock(&sc->sc_mtx);
+	powerpc_sync();
 
 	if (*sc->sc_interrupt_status == 0) {
 		device_printf(sc->sc_self, "stray interrupt!\n");


More information about the svn-src-user mailing list