Module Name:    src
Committed By:   ozaki-r
Date:           Mon Feb 20 08:25:57 UTC 2017

Modified Files:
        src/sys/arch/arm/at91: at91emac.c
        src/sys/arch/arm/gemini: if_gmc.c
        src/sys/arch/arm/rockchip: rockchip_emac.c
        src/sys/arch/mips/ralink: ralink_eth.c
        src/sys/arch/mips/sibyte/dev: sbmac.c

Log Message:
Apply deferred if_start to more drivers...


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/at91/at91emac.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/gemini/if_gmc.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/rockchip/rockchip_emac.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/mips/ralink/ralink_eth.c
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/mips/sibyte/dev/sbmac.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/at91/at91emac.c
diff -u src/sys/arch/arm/at91/at91emac.c:1.18 src/sys/arch/arm/at91/at91emac.c:1.19
--- src/sys/arch/arm/at91/at91emac.c:1.18	Thu Dec 15 09:28:02 2016
+++ src/sys/arch/arm/at91/at91emac.c	Mon Feb 20 08:25:57 2017
@@ -1,5 +1,5 @@
-/*	$Id: at91emac.c,v 1.18 2016/12/15 09:28:02 ozaki-r Exp $	*/
-/*	$NetBSD: at91emac.c,v 1.18 2016/12/15 09:28:02 ozaki-r Exp $	*/
+/*	$Id: at91emac.c,v 1.19 2017/02/20 08:25:57 ozaki-r Exp $	*/
+/*	$NetBSD: at91emac.c,v 1.19 2017/02/20 08:25:57 ozaki-r Exp $	*/
 
 /*
  * Copyright (c) 2007 Embedtronics Oy
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: at91emac.c,v 1.18 2016/12/15 09:28:02 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: at91emac.c,v 1.19 2017/02/20 08:25:57 ozaki-r Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -312,9 +312,8 @@ emac_intr(void *arg)
 //		bus_dmamap_sync(sc->sc_dmat, sc->rbqpage_dmamap, 0, sc->rbqlen, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
 	}
 
-	if (emac_gctx(sc) > 0 && IFQ_IS_EMPTY(&ifp->if_snd) == 0) {
-		emac_ifstart(ifp);
-	} 
+	if (emac_gctx(sc) > 0)
+		if_schedule_deferred_start(ifp);
 #if 0 // reloop
 	irq = EMAC_READ(IntStsC);
 	if ((irq & (IntSts_RxSQ|IntSts_ECI)) != 0)
@@ -496,6 +495,7 @@ emac_init(struct emac_softc *sc)
 	ifp->if_softc = sc;
         IFQ_SET_READY(&ifp->if_snd);
         if_attach(ifp);
+	if_deferred_start_init(ifp, NULL);
         ether_ifattach(ifp, (sc)->sc_enaddr);
 }
 

Index: src/sys/arch/arm/gemini/if_gmc.c
diff -u src/sys/arch/arm/gemini/if_gmc.c:1.6 src/sys/arch/arm/gemini/if_gmc.c:1.7
--- src/sys/arch/arm/gemini/if_gmc.c:1.6	Tue Jun 11 16:57:05 2013
+++ src/sys/arch/arm/gemini/if_gmc.c	Mon Feb 20 08:25:57 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: if_gmc.c,v 1.6 2013/06/11 16:57:05 msaitoh Exp $ */
+/* $NetBSD: if_gmc.c,v 1.7 2017/02/20 08:25:57 ozaki-r Exp $ */
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -47,7 +47,7 @@
 #include <net/if_ether.h>
 #include <net/if_dl.h>
 
-__KERNEL_RCSID(0, "$NetBSD: if_gmc.c,v 1.6 2013/06/11 16:57:05 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_gmc.c,v 1.7 2017/02/20 08:25:57 ozaki-r Exp $");
 
 #define	MAX_TXSEG	32
 
@@ -711,7 +711,7 @@ gmc_intr(void *arg)
 	bus_space_write_4(sc->sc_iot, sc->sc_ioh, GMAC_INT4_STATUS, status);
 
 	if (do_ifstart)
-		gmc_ifstart(&sc->sc_if);
+		if_schedule_deferred_start(&sc->sc_if);
 
 	aprint_debug_dev(sc->sc_dev, "gmac_intr: sts=%#x/%#x/%#x/%#x/%#x\n",
 	    bus_space_read_4(sc->sc_iot, sc->sc_ioh, GMAC_INT0_STATUS),
@@ -795,6 +795,7 @@ gmc_attach(device_t parent, device_t sel
 	   gmc_mediastatus);
 
 	if_attach(ifp);
+	if_deferred_start_init(ifp, NULL);
 	ether_ifattach(ifp, eaddrs[gma->gma_port]);
 	mii_attach(sc->sc_dev, &sc->sc_mii, 0xffffffff,
 	    gma->gma_phy, MII_OFFSET_ANY, 0);

Index: src/sys/arch/arm/rockchip/rockchip_emac.c
diff -u src/sys/arch/arm/rockchip/rockchip_emac.c:1.16 src/sys/arch/arm/rockchip/rockchip_emac.c:1.17
--- src/sys/arch/arm/rockchip/rockchip_emac.c:1.16	Thu Dec 15 09:28:02 2016
+++ src/sys/arch/arm/rockchip/rockchip_emac.c	Mon Feb 20 08:25:57 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: rockchip_emac.c,v 1.16 2016/12/15 09:28:02 ozaki-r Exp $ */
+/* $NetBSD: rockchip_emac.c,v 1.17 2017/02/20 08:25:57 ozaki-r Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -29,7 +29,7 @@
 #include "opt_rkemac.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rockchip_emac.c,v 1.16 2016/12/15 09:28:02 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rockchip_emac.c,v 1.17 2017/02/20 08:25:57 ozaki-r Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -275,6 +275,7 @@ rkemac_attach(device_t parent, device_t 
 	ifmedia_set(&mii->mii_media, IFM_ETHER|IFM_AUTO);
 
 	if_attach(ifp);
+	if_deferred_start_init(ifp, NULL);
 	ether_ifattach(ifp, enaddr);
 
 	EMAC_WRITE(sc, EMAC_ENABLE_REG, RKEMAC_ENABLE_INTR);
@@ -401,7 +402,7 @@ rkemac_intr(void *priv)
 		ifp->if_oerrors++;
 
 	if (stat & (EMAC_STAT_TXINT|EMAC_STAT_RXINT))
-		rkemac_start(ifp);
+		if_schedule_deferred_start(ifp);
 
 	return 1;
 }

Index: src/sys/arch/mips/ralink/ralink_eth.c
diff -u src/sys/arch/mips/ralink/ralink_eth.c:1.12 src/sys/arch/mips/ralink/ralink_eth.c:1.13
--- src/sys/arch/mips/ralink/ralink_eth.c:1.12	Thu Dec 15 09:28:03 2016
+++ src/sys/arch/mips/ralink/ralink_eth.c	Mon Feb 20 08:25:57 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: ralink_eth.c,v 1.12 2016/12/15 09:28:03 ozaki-r Exp $	*/
+/*	$NetBSD: ralink_eth.c,v 1.13 2017/02/20 08:25:57 ozaki-r Exp $	*/
 /*-
  * Copyright (c) 2011 CradlePoint Technology, Inc.
  * All rights reserved.
@@ -29,7 +29,7 @@
 /* ralink_eth.c -- Ralink Ethernet Driver */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ralink_eth.c,v 1.12 2016/12/15 09:28:03 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ralink_eth.c,v 1.13 2017/02/20 08:25:57 ozaki-r Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -524,6 +524,7 @@ ralink_eth_attach(device_t parent, devic
 
 	/* Attach the interface. */
 	if_attach(ifp);
+	if_deferred_start_init(ifp, NULL);
 	ether_ifattach(ifp, enaddr);
 
 	/* init our mii ticker */
@@ -1446,7 +1447,7 @@ ralink_eth_intr(void *arg)
 	}
 
 	/* Try to get more packets going. */
-	ralink_eth_start(&sc->sc_ethercom.ec_if);
+	if_schedule_deferred_start(&sc->sc_ethercom.ec_if);
 
 	return 1;
 }

Index: src/sys/arch/mips/sibyte/dev/sbmac.c
diff -u src/sys/arch/mips/sibyte/dev/sbmac.c:1.47 src/sys/arch/mips/sibyte/dev/sbmac.c:1.48
--- src/sys/arch/mips/sibyte/dev/sbmac.c:1.47	Thu Dec 15 09:28:03 2016
+++ src/sys/arch/mips/sibyte/dev/sbmac.c	Mon Feb 20 08:25:57 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: sbmac.c,v 1.47 2016/12/15 09:28:03 ozaki-r Exp $ */
+/* $NetBSD: sbmac.c,v 1.48 2017/02/20 08:25:57 ozaki-r Exp $ */
 
 /*
  * Copyright 2000, 2001, 2004
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sbmac.c,v 1.47 2016/12/15 09:28:03 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sbmac.c,v 1.48 2017/02/20 08:25:57 ozaki-r Exp $");
 
 #include "opt_inet.h"
 #include "opt_ns.h"
@@ -1754,7 +1754,7 @@ sbmac_intr(void *xsc, uint32_t status, v
 	}
 
 	/* try to get more packets going */
-	sbmac_start(ifp);
+	if_schedule_deferred_start(ifp);
 }
 
 
@@ -2353,5 +2353,6 @@ sbmac_attach(device_t parent, device_t s
 	 * Call MI attach routines.
 	 */
 	if_attach(ifp);
+	if_deferred_start_init(ifp, NULL);
 	ether_ifattach(ifp, eaddr);
 }

Reply via email to