Module Name: src
Committed By: ozaki-r
Date: Mon Feb 20 07:43:29 UTC 2017
Modified Files:
src/sys/dev/ic: dwc_gmac.c elinkxl.c gem.c hd64570.c i82557.c i82586.c
i82596.c lan9118.c mb86950.c rtl81x9.c smc83c170.c
Log Message:
Apply deferred if_start to more drivers
To generate a diff of this commit:
cvs rdiff -u -r1.39 -r1.40 src/sys/dev/ic/dwc_gmac.c
cvs rdiff -u -r1.120 -r1.121 src/sys/dev/ic/elinkxl.c
cvs rdiff -u -r1.107 -r1.108 src/sys/dev/ic/gem.c
cvs rdiff -u -r1.52 -r1.53 src/sys/dev/ic/hd64570.c
cvs rdiff -u -r1.146 -r1.147 src/sys/dev/ic/i82557.c
cvs rdiff -u -r1.75 -r1.76 src/sys/dev/ic/i82586.c
cvs rdiff -u -r1.35 -r1.36 src/sys/dev/ic/i82596.c
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/ic/lan9118.c
cvs rdiff -u -r1.25 -r1.26 src/sys/dev/ic/mb86950.c
cvs rdiff -u -r1.101 -r1.102 src/sys/dev/ic/rtl81x9.c
cvs rdiff -u -r1.84 -r1.85 src/sys/dev/ic/smc83c170.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/dev/ic/dwc_gmac.c
diff -u src/sys/dev/ic/dwc_gmac.c:1.39 src/sys/dev/ic/dwc_gmac.c:1.40
--- src/sys/dev/ic/dwc_gmac.c:1.39 Mon Jan 23 08:36:23 2017
+++ src/sys/dev/ic/dwc_gmac.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: dwc_gmac.c,v 1.39 2017/01/23 08:36:23 skrll Exp $ */
+/* $NetBSD: dwc_gmac.c,v 1.40 2017/02/20 07:43:29 ozaki-r Exp $ */
/*-
* Copyright (c) 2013, 2014 The NetBSD Foundation, Inc.
@@ -41,7 +41,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: dwc_gmac.c,v 1.39 2017/01/23 08:36:23 skrll Exp $");
+__KERNEL_RCSID(1, "$NetBSD: dwc_gmac.c,v 1.40 2017/02/20 07:43:29 ozaki-r Exp $");
/* #define DWC_GMAC_DEBUG 1 */
@@ -261,6 +261,7 @@ dwc_gmac_attach(struct dwc_gmac_softc *s
/* Attach the interface. */
if_initialize(ifp);
sc->sc_ipq = if_percpuq_create(&sc->sc_ec.ec_if);
+ if_deferred_start_init(ifp, NULL);
ether_ifattach(ifp, enaddr);
ether_set_ifflags_cb(&sc->sc_ec, dwc_gmac_ifflags_cb);
if_register(ifp);
@@ -1368,7 +1369,7 @@ dwc_gmac_intr(struct dwc_gmac_softc *sc)
* Get more packets
*/
if (rv)
- sc->sc_ec.ec_if.if_start(&sc->sc_ec.ec_if);
+ if_schedule_deferred_start(&sc->sc_ec.ec_if);
return rv;
}
Index: src/sys/dev/ic/elinkxl.c
diff -u src/sys/dev/ic/elinkxl.c:1.120 src/sys/dev/ic/elinkxl.c:1.121
--- src/sys/dev/ic/elinkxl.c:1.120 Thu Dec 15 09:28:05 2016
+++ src/sys/dev/ic/elinkxl.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: elinkxl.c,v 1.120 2016/12/15 09:28:05 ozaki-r Exp $ */
+/* $NetBSD: elinkxl.c,v 1.121 2017/02/20 07:43:29 ozaki-r Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: elinkxl.c,v 1.120 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: elinkxl.c,v 1.121 2017/02/20 07:43:29 ozaki-r Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -426,6 +426,7 @@ ex_config(struct ex_softc *sc)
IFCAP_CSUM_UDPv4_Tx | IFCAP_CSUM_UDPv4_Rx;
if_attach(ifp);
+ if_deferred_start_init(ifp, NULL);
ether_ifattach(ifp, macaddr);
ether_set_ifflags_cb(&sc->sc_ethercom, ex_ifflags_cb);
@@ -1418,8 +1419,8 @@ ex_intr(void *arg)
}
/* no more interrupts */
- if (ret && IFQ_IS_EMPTY(&ifp->if_snd) == 0)
- ex_start(ifp);
+ if (ret)
+ if_schedule_deferred_start(ifp);
return ret;
}
Index: src/sys/dev/ic/gem.c
diff -u src/sys/dev/ic/gem.c:1.107 src/sys/dev/ic/gem.c:1.108
--- src/sys/dev/ic/gem.c:1.107 Thu Dec 15 09:28:05 2016
+++ src/sys/dev/ic/gem.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: gem.c,v 1.107 2016/12/15 09:28:05 ozaki-r Exp $ */
+/* $NetBSD: gem.c,v 1.108 2017/02/20 07:43:29 ozaki-r Exp $ */
/*
*
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gem.c,v 1.107 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gem.c,v 1.108 2017/02/20 07:43:29 ozaki-r Exp $");
#include "opt_inet.h"
@@ -577,6 +577,7 @@ gem_attach(struct gem_softc *sc, const u
/* Attach the interface. */
if_attach(ifp);
+ if_deferred_start_init(ifp, NULL);
ether_ifattach(ifp, enaddr);
ether_set_ifflags_cb(&sc->sc_ethercom, gem_ifflags_cb);
@@ -1740,7 +1741,7 @@ gem_tint(struct gem_softc *sc)
ifp->if_flags &= ~IFF_OACTIVE;
sc->sc_if_flags = ifp->if_flags;
ifp->if_timer = SIMPLEQ_EMPTY(&sc->sc_txdirtyq) ? 0 : 5;
- gem_start(ifp);
+ if_schedule_deferred_start(ifp);
}
DPRINTF(sc, ("%s: gem_tint: watchdog %d\n",
device_xname(sc->sc_dev), ifp->if_timer));
Index: src/sys/dev/ic/hd64570.c
diff -u src/sys/dev/ic/hd64570.c:1.52 src/sys/dev/ic/hd64570.c:1.53
--- src/sys/dev/ic/hd64570.c:1.52 Tue Jan 24 09:05:28 2017
+++ src/sys/dev/ic/hd64570.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: hd64570.c,v 1.52 2017/01/24 09:05:28 ozaki-r Exp $ */
+/* $NetBSD: hd64570.c,v 1.53 2017/02/20 07:43:29 ozaki-r Exp $ */
/*
* Copyright (c) 1999 Christian E. Hopps
@@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hd64570.c,v 1.52 2017/01/24 09:05:28 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hd64570.c,v 1.53 2017/02/20 07:43:29 ozaki-r Exp $");
#include "opt_inet.h"
@@ -455,6 +455,7 @@ sca_port_attach(struct sca_softc *sc, u_
#endif
IFQ_SET_READY(&ifp->if_snd);
if_attach(ifp);
+ if_deferred_start_init(ifp, NULL);
if_alloc_sadl(ifp);
bpf_attach(ifp, DLT_HDLC, HDLC_HDRLEN);
bpf_mtap_softint_init(ifp);
@@ -1304,7 +1305,7 @@ sca_dmac_intr(sca_port_t *scp, u_int8_t
/*
* check for more packets
*/
- sca_start(&scp->sp_if);
+ if_schedule_deferred_start(&scp->sp_if);
}
}
}
Index: src/sys/dev/ic/i82557.c
diff -u src/sys/dev/ic/i82557.c:1.146 src/sys/dev/ic/i82557.c:1.147
--- src/sys/dev/ic/i82557.c:1.146 Thu Dec 15 09:28:05 2016
+++ src/sys/dev/ic/i82557.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: i82557.c,v 1.146 2016/12/15 09:28:05 ozaki-r Exp $ */
+/* $NetBSD: i82557.c,v 1.147 2017/02/20 07:43:29 ozaki-r Exp $ */
/*-
* Copyright (c) 1997, 1998, 1999, 2001, 2002 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i82557.c,v 1.146 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i82557.c,v 1.147 2017/02/20 07:43:29 ozaki-r Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -407,6 +407,7 @@ fxp_attach(struct fxp_softc *sc)
* Attach the interface.
*/
if_attach(ifp);
+ if_deferred_start_init(ifp, NULL);
ether_ifattach(ifp, enaddr);
rnd_attach_source(&sc->rnd_source, device_xname(sc->sc_dev),
RND_TYPE_NET, RND_FLAG_DEFAULT);
@@ -1120,7 +1121,7 @@ fxp_intr(void *arg)
/*
* Try to get more packets going.
*/
- fxp_start(ifp);
+ if_schedule_deferred_start(ifp);
if (sc->sc_txpending == 0) {
/*
Index: src/sys/dev/ic/i82586.c
diff -u src/sys/dev/ic/i82586.c:1.75 src/sys/dev/ic/i82586.c:1.76
--- src/sys/dev/ic/i82586.c:1.75 Thu Dec 15 09:28:05 2016
+++ src/sys/dev/ic/i82586.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: i82586.c,v 1.75 2016/12/15 09:28:05 ozaki-r Exp $ */
+/* $NetBSD: i82586.c,v 1.76 2017/02/20 07:43:29 ozaki-r Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -137,7 +137,7 @@ Mode of operation:
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i82586.c,v 1.75 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i82586.c,v 1.76 2017/02/20 07:43:29 ozaki-r Exp $");
#include <sys/param.h>
@@ -271,6 +271,7 @@ i82586_attach(struct ie_softc *sc, const
/* Attach the interface. */
if_attach(ifp);
+ if_deferred_start_init(ifp, NULL);
ether_ifattach(ifp, etheraddr);
aprint_normal(" address %s, type %s\n", ether_sprintf(etheraddr),name);
@@ -736,7 +737,7 @@ i82586_tint(struct ie_softc *sc, int scb
if (sc->xmit_busy > 0)
iexmit(sc);
- i82586_start(ifp);
+ if_schedule_deferred_start(ifp);
return (0);
}
Index: src/sys/dev/ic/i82596.c
diff -u src/sys/dev/ic/i82596.c:1.35 src/sys/dev/ic/i82596.c:1.36
--- src/sys/dev/ic/i82596.c:1.35 Thu Dec 15 09:28:05 2016
+++ src/sys/dev/ic/i82596.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: i82596.c,v 1.35 2016/12/15 09:28:05 ozaki-r Exp $ */
+/* $NetBSD: i82596.c,v 1.36 2017/02/20 07:43:29 ozaki-r Exp $ */
/*
* Copyright (c) 2003 Jochen Kunz.
@@ -43,7 +43,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i82596.c,v 1.35 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i82596.c,v 1.36 2017/02/20 07:43:29 ozaki-r Exp $");
/* autoconfig and device stuff */
#include <sys/param.h>
@@ -383,7 +383,7 @@ iee_intr(void *intarg)
(sc->sc_iee_cmd)(sc, IEE_SCB_CUC_EXE);
} else
/* Try to get deferred packets going. */
- iee_start(ifp);
+ if_schedule_deferred_start(ifp);
}
}
if (IEE_SWAP32(SC_SCB(sc)->scb_crc_err) != sc->sc_crc_err) {
@@ -663,6 +663,7 @@ iee_attach(struct iee_softc *sc, uint8_t
sc->sc_ethercom.ec_capabilities |= ETHERCAP_VLAN_MTU;
if_attach(ifp);
+ if_deferred_start_init(ifp, NULL);
ether_ifattach(ifp, eth_addr);
aprint_normal(": Intel 82596%s address %s\n",
Index: src/sys/dev/ic/lan9118.c
diff -u src/sys/dev/ic/lan9118.c:1.23 src/sys/dev/ic/lan9118.c:1.24
--- src/sys/dev/ic/lan9118.c:1.23 Thu Dec 15 09:28:05 2016
+++ src/sys/dev/ic/lan9118.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: lan9118.c,v 1.23 2016/12/15 09:28:05 ozaki-r Exp $ */
+/* $NetBSD: lan9118.c,v 1.24 2017/02/20 07:43:29 ozaki-r Exp $ */
/*
* Copyright (c) 2008 KIYOHARA Takashi
* All rights reserved.
@@ -25,7 +25,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lan9118.c,v 1.23 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lan9118.c,v 1.24 2017/02/20 07:43:29 ozaki-r Exp $");
/*
* The LAN9118 Family
@@ -274,6 +274,7 @@ lan9118_attach(struct lan9118_softc *sc)
/* Attach the interface. */
if_attach(ifp);
+ if_deferred_start_init(ifp, NULL);
ether_ifattach(ifp, sc->sc_enaddr);
callout_init(&sc->sc_tick, 0);
@@ -332,8 +333,7 @@ lan9118_intr(void *arg)
lan9118_rxintr(sc);
}
- if (!IFQ_IS_EMPTY(&ifp->if_snd))
- lan9118_start(ifp);
+ if_schedule_deferred_start(ifp);
rnd_add_uint32(&sc->rnd_source, datum);
Index: src/sys/dev/ic/mb86950.c
diff -u src/sys/dev/ic/mb86950.c:1.25 src/sys/dev/ic/mb86950.c:1.26
--- src/sys/dev/ic/mb86950.c:1.25 Thu Dec 15 09:28:05 2016
+++ src/sys/dev/ic/mb86950.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: mb86950.c,v 1.25 2016/12/15 09:28:05 ozaki-r Exp $ */
+/* $NetBSD: mb86950.c,v 1.26 2017/02/20 07:43:29 ozaki-r Exp $ */
/*
* All Rights Reserved, Copyright (C) Fujitsu Limited 1995
@@ -67,7 +67,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mb86950.c,v 1.25 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mb86950.c,v 1.26 2017/02/20 07:43:29 ozaki-r Exp $");
/*
* Device driver for Fujitsu mb86950 based Ethernet cards.
@@ -287,6 +287,7 @@ mb86950_config(struct mb86950_softc *sc,
/* Attach the interface. */
if_attach(ifp);
+ if_deferred_start_init(ifp, NULL);
/* Feed the chip the station address. */
bus_space_write_region_1(bst, bsh, DLCR_NODE_ID, sc->sc_enaddr, ETHER_ADDR_LEN);
@@ -720,7 +721,7 @@ mb86950_intr(void *arg)
*/
if ((ifp->if_flags & IFF_OACTIVE) == 0)
- mb86950_start(ifp);
+ if_schedule_deferred_start(ifp);
/* Set receive interrupts back */
bus_space_write_1(bst, bsh, DLCR_RX_INT_EN, RX_MASK);
Index: src/sys/dev/ic/rtl81x9.c
diff -u src/sys/dev/ic/rtl81x9.c:1.101 src/sys/dev/ic/rtl81x9.c:1.102
--- src/sys/dev/ic/rtl81x9.c:1.101 Thu Dec 15 09:28:05 2016
+++ src/sys/dev/ic/rtl81x9.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: rtl81x9.c,v 1.101 2016/12/15 09:28:05 ozaki-r Exp $ */
+/* $NetBSD: rtl81x9.c,v 1.102 2017/02/20 07:43:29 ozaki-r Exp $ */
/*
* Copyright (c) 1997, 1998
@@ -86,7 +86,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rtl81x9.c,v 1.101 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rtl81x9.c,v 1.102 2017/02/20 07:43:29 ozaki-r Exp $");
#include <sys/param.h>
@@ -737,6 +737,7 @@ rtk_attach(struct rtk_softc *sc)
* Call MI attach routines.
*/
if_attach(ifp);
+ if_deferred_start_init(ifp, NULL);
ether_ifattach(ifp, eaddr);
rnd_attach_source(&sc->rnd_source, device_xname(self),
@@ -1200,8 +1201,7 @@ rtk_intr(void *arg)
/* Re-enable interrupts. */
CSR_WRITE_2(sc, RTK_IMR, RTK_INTRS);
- if (IFQ_IS_EMPTY(&ifp->if_snd) == 0)
- rtk_start(ifp);
+ if_schedule_deferred_start(ifp);
rnd_add_uint32(&sc->rnd_source, status);
Index: src/sys/dev/ic/smc83c170.c
diff -u src/sys/dev/ic/smc83c170.c:1.84 src/sys/dev/ic/smc83c170.c:1.85
--- src/sys/dev/ic/smc83c170.c:1.84 Thu Dec 15 09:28:05 2016
+++ src/sys/dev/ic/smc83c170.c Mon Feb 20 07:43:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: smc83c170.c,v 1.84 2016/12/15 09:28:05 ozaki-r Exp $ */
+/* $NetBSD: smc83c170.c,v 1.85 2017/02/20 07:43:29 ozaki-r Exp $ */
/*-
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: smc83c170.c,v 1.84 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: smc83c170.c,v 1.85 2017/02/20 07:43:29 ozaki-r Exp $");
#include <sys/param.h>
@@ -291,6 +291,7 @@ epic_attach(struct epic_softc *sc)
* Attach the interface.
*/
if_attach(ifp);
+ if_deferred_start_init(ifp, NULL);
ether_ifattach(ifp, enaddr);
/*
@@ -797,7 +798,7 @@ epic_intr(void *arg)
/*
* Try to get more packets going.
*/
- epic_start(ifp);
+ if_schedule_deferred_start(ifp);
}
/*