Module Name: src
Committed By: thorpej
Date: Wed Jan 29 06:05:31 UTC 2020
Modified Files:
src/sys/arch/arm/imx: if_enet.c
src/sys/arch/arm/sunxi: sun4i_emac.c sunxi_can.c sunxi_emac.c
src/sys/arch/arm/ti: if_cpsw.c
src/sys/arch/arm/xscale: ixp425_if_npe.c
Log Message:
Adopt <net/if_stats.h>.
To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/arm/imx/if_enet.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/sunxi/sun4i_emac.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/sunxi/sunxi_can.c
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/arm/sunxi/sunxi_emac.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/arm/ti/if_cpsw.c
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/arm/xscale/ixp425_if_npe.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/imx/if_enet.c
diff -u src/sys/arch/arm/imx/if_enet.c:1.30 src/sys/arch/arm/imx/if_enet.c:1.31
--- src/sys/arch/arm/imx/if_enet.c:1.30 Wed Jan 15 01:09:56 2020
+++ src/sys/arch/arm/imx/if_enet.c Wed Jan 29 06:05:31 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: if_enet.c,v 1.30 2020/01/15 01:09:56 jmcneill Exp $ */
+/* $NetBSD: if_enet.c,v 1.31 2020/01/29 06:05:31 thorpej Exp $ */
/*
* Copyright (c) 2014 Ryo Shimizu <[email protected]>
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_enet.c,v 1.30 2020/01/15 01:09:56 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_enet.c,v 1.31 2020/01/29 06:05:31 thorpej Exp $");
#include "vlan.h"
@@ -381,9 +381,10 @@ enet_tick(void *arg)
#endif
/* update counters */
- ifp->if_ierrors += ENET_REG_READ(sc, ENET_RMON_R_UNDERSIZE);
- ifp->if_ierrors += ENET_REG_READ(sc, ENET_RMON_R_FRAG);
- ifp->if_ierrors += ENET_REG_READ(sc, ENET_RMON_R_JAB);
+ if_statadd(ifp, if_ierrors,
+ (uint64_t)ENET_REG_READ(sc, ENET_RMON_R_UNDERSIZE) +
+ (uint64_t)ENET_REG_READ(sc, ENET_RMON_R_FRAG) +
+ (uint64_t)ENET_REG_READ(sc, ENET_RMON_R_JAB));
/* clear counters */
ENET_REG_WRITE(sc, ENET_MIBC, ENET_MIBC_MIB_CLEAR);
@@ -461,7 +462,7 @@ enet_tx_intr(void *arg)
bus_dmamap_unload(sc->sc_dmat,
txs->txs_dmamap);
m_freem(txs->txs_mbuf);
- ifp->if_opackets++;
+ if_statinc(ifp, if_opackets);
}
/* checking error */
@@ -488,7 +489,7 @@ enet_tx_intr(void *arg)
"flags2=%s\n", idx, flagsbuf);
}
#endif /* DEBUG_ENET */
- ifp->if_oerrors++;
+ if_statinc(ifp, if_oerrors);
}
}
@@ -589,7 +590,7 @@ enet_rx_intr(void *arg)
idx, flags1buf, flags2buf, amount);
}
#endif /* DEBUG_ENET */
- ifp->if_ierrors++;
+ if_statinc(ifp, if_ierrors);
m_freem(m0);
} else {
@@ -873,7 +874,7 @@ enet_start(struct ifnet *ifp)
DEVICE_DPRINTF(
"TX descriptor is full. dropping packet\n");
m_freem(m);
- ifp->if_oerrors++;
+ if_statinc(ifp, if_oerrors);
break;
}
@@ -929,7 +930,7 @@ enet_watchdog(struct ifnet *ifp)
s = splnet();
device_printf(sc->sc_dev, "watchdog timeout\n");
- ifp->if_oerrors++;
+ if_statinc(ifp, if_oerrors);
/* salvage packets left in descriptors */
enet_tx_intr(sc);
@@ -1322,7 +1323,7 @@ enet_drain_txbuf(struct enet_softc *sc)
txs->txs_dmamap);
m_freem(txs->txs_mbuf);
- ifp->if_oerrors++;
+ if_statinc(ifp, if_oerrors);
}
sc->sc_tx_free++;
}
Index: src/sys/arch/arm/sunxi/sun4i_emac.c
diff -u src/sys/arch/arm/sunxi/sun4i_emac.c:1.11 src/sys/arch/arm/sunxi/sun4i_emac.c:1.12
--- src/sys/arch/arm/sunxi/sun4i_emac.c:1.11 Tue May 28 07:41:46 2019
+++ src/sys/arch/arm/sunxi/sun4i_emac.c Wed Jan 29 06:05:31 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: sun4i_emac.c,v 1.11 2019/05/28 07:41:46 msaitoh Exp $ */
+/* $NetBSD: sun4i_emac.c,v 1.12 2020/01/29 06:05:31 thorpej Exp $ */
/*-
* Copyright (c) 2013-2017 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: sun4i_emac.c,v 1.11 2019/05/28 07:41:46 msaitoh Exp $");
+__KERNEL_RCSID(1, "$NetBSD: sun4i_emac.c,v 1.12 2020/01/29 06:05:31 thorpej Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -569,13 +569,13 @@ sun4i_emac_rx_intr(struct sun4i_emac_sof
uint32_t rxsts = __SHIFTOUT(rxhdr, EMAC_RXHDR_STS);
if (rxlen < ETHER_MIN_LEN || (rxsts & EMAC_RX_STA_PKTOK) == 0) {
- sc->sc_ec.ec_if.if_ierrors++;
+ if_statinc(&sc->sc_ec.ec_if, if_ierrors);
continue;
}
m = sun4i_emac_mgethdr(sc, rxlen);
if (m == NULL) {
- sc->sc_ec.ec_if.if_ierrors++;
+ if_statinc(&sc->sc_ec.ec_if, if_ierrors);
sun4i_emac_rxfifo_consume(sc, rxlen);
return;
}
@@ -831,7 +831,7 @@ sun4i_emac_ifwatchdog(struct ifnet *ifp)
device_printf(sc->sc_dev, "device timeout\n");
- ifp->if_oerrors++;
+ if_statinc(ifp, if_oerrors);
sun4i_emac_ifinit(ifp);
sun4i_emac_ifstart(ifp);
}
Index: src/sys/arch/arm/sunxi/sunxi_can.c
diff -u src/sys/arch/arm/sunxi/sunxi_can.c:1.2 src/sys/arch/arm/sunxi/sunxi_can.c:1.3
--- src/sys/arch/arm/sunxi/sunxi_can.c:1.2 Mon Oct 21 08:00:58 2019
+++ src/sys/arch/arm/sunxi/sunxi_can.c Wed Jan 29 06:05:31 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_can.c,v 1.2 2019/10/21 08:00:58 msaitoh Exp $ */
+/* $NetBSD: sunxi_can.c,v 1.3 2020/01/29 06:05:31 thorpej Exp $ */
/*-
* Copyright (c) 2017,2018 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: sunxi_can.c,v 1.2 2019/10/21 08:00:58 msaitoh Exp $");
+__KERNEL_RCSID(1, "$NetBSD: sunxi_can.c,v 1.3 2020/01/29 06:05:31 thorpej Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -253,14 +253,14 @@ sunxi_can_rx_intr(struct sunxi_can_softc
dlc = reg0v & SUNXI_CAN_TXBUF0_DL;
if (dlc > CAN_MAX_DLC) {
- ifp->if_ierrors++;
+ if_statinc(ifp, if_ierrors);
sunxi_can_write(sc, SUNXI_CAN_CMD_REG, SUNXI_CAN_CMD_REL_RX_BUF);
return;
}
m = m_gethdr(M_NOWAIT, MT_HEADER);
if (m == NULL) {
- ifp->if_ierrors++;
+ if_statinc(ifp, if_ierrors);
sunxi_can_write(sc, SUNXI_CAN_CMD_REG, SUNXI_CAN_CMD_REL_RX_BUF);
return;
}
@@ -292,7 +292,7 @@ sunxi_can_rx_intr(struct sunxi_can_softc
}
sunxi_can_write(sc, SUNXI_CAN_CMD_REG, SUNXI_CAN_CMD_REL_RX_BUF);
m->m_len = m->m_pkthdr.len = CAN_MTU;
- ifp->if_ibytes += m->m_len;
+ if_statadd(ifp, if_ibytes, m->m_len);
m_set_rcvif(m, ifp);
can_bpf_mtap(ifp, m, 1);
can_input(ifp, m);
@@ -306,8 +306,7 @@ sunxi_can_tx_intr(struct sunxi_can_softc
KASSERT(mutex_owned(&sc->sc_intr_lock));
if ((m = sc->sc_m_transmit) != NULL) {
- ifp->if_obytes += m->m_len;
- ifp->if_opackets++;
+ if_statadd2(ifp, if_obytes, m->m_len, if_opackets, 1);
can_mbuf_tag_clean(m);
m_set_rcvif(m, ifp);
can_input(ifp, m); /* loopback */
@@ -346,7 +345,7 @@ sunxi_can_err_intr(struct sunxi_can_soft
uint32_t reg;
if (irq & SUNXI_CAN_INT_DATA_OR) {
- ifp->if_ierrors++;
+ if_statinc(ifp, if_ierrors);
sunxi_can_write(sc, SUNXI_CAN_CMD_REG, SUNXI_CAN_CMD_CLR_OR);
}
if (irq & SUNXI_CAN_INT_ERR) {
@@ -359,7 +358,7 @@ sunxi_can_err_intr(struct sunxi_can_soft
if (sts & SUNXI_CAN_STA_TX)
txerr++;
if (sts & SUNXI_CAN_STA_RX)
- ifp->if_ierrors++;
+ if_statinc(ifp, if_ierrors);
}
if (irq & SUNXI_CAN_INT_ERR_PASSIVE) {
printf("%s: PASSV interrupt status 0x%x\n",
@@ -369,7 +368,7 @@ sunxi_can_err_intr(struct sunxi_can_soft
txerr++;
}
if (txerr) {
- ifp->if_oerrors += txerr;
+ if_statadd(ifp, if_oerrors, txerr);
(void) sunxi_can_tx_abort(sc);
}
}
@@ -603,7 +602,7 @@ sunxi_can_ifwatchdog(struct ifnet *ifp)
sunxi_can_read(sc, SUNXI_CAN_REC_REG));
/* if there is a transmit in progress abort */
if (sunxi_can_tx_abort(sc)) {
- ifp->if_oerrors++;
+ if_statinc(ifp, if_oerrors);
}
mutex_exit(&sc->sc_intr_lock);
}
Index: src/sys/arch/arm/sunxi/sunxi_emac.c
diff -u src/sys/arch/arm/sunxi/sunxi_emac.c:1.28 src/sys/arch/arm/sunxi/sunxi_emac.c:1.29
--- src/sys/arch/arm/sunxi/sunxi_emac.c:1.28 Sat Jul 13 21:56:23 2019
+++ src/sys/arch/arm/sunxi/sunxi_emac.c Wed Jan 29 06:05:31 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_emac.c,v 1.28 2019/07/13 21:56:23 thorpej Exp $ */
+/* $NetBSD: sunxi_emac.c,v 1.29 2020/01/29 06:05:31 thorpej Exp $ */
/*-
* Copyright (c) 2016-2017 Jared McNeill <[email protected]>
@@ -33,7 +33,7 @@
#include "opt_net_mpsafe.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_emac.c,v 1.28 2019/07/13 21:56:23 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_emac.c,v 1.29 2020/01/29 06:05:31 thorpej Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -828,7 +828,7 @@ sunxi_emac_rxintr(struct sunxi_emac_soft
/* XXX hole in RX ring */
}
} else
- ifp->if_ierrors++;
+ if_statinc(ifp, if_ierrors);
sunxi_emac_dma_sync(sc, sc->rx.desc_tag, sc->rx.desc_map,
index, index + 1,
@@ -876,7 +876,7 @@ sunxi_emac_txintr(struct sunxi_emac_soft
BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
ifp->if_flags &= ~IFF_OACTIVE;
- ifp->if_opackets++;
+ if_statinc(ifp, if_opackets);
}
sc->tx.next = i;
Index: src/sys/arch/arm/ti/if_cpsw.c
diff -u src/sys/arch/arm/ti/if_cpsw.c:1.10 src/sys/arch/arm/ti/if_cpsw.c:1.11
--- src/sys/arch/arm/ti/if_cpsw.c:1.10 Mon Jan 6 06:50:00 2020
+++ src/sys/arch/arm/ti/if_cpsw.c Wed Jan 29 06:05:31 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: if_cpsw.c,v 1.10 2020/01/06 06:50:00 msaitoh Exp $ */
+/* $NetBSD: if_cpsw.c,v 1.11 2020/01/29 06:05:31 thorpej Exp $ */
/*
* Copyright (c) 2013 Jonathan A. Kollasch
@@ -53,7 +53,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: if_cpsw.c,v 1.10 2020/01/06 06:50:00 msaitoh Exp $");
+__KERNEL_RCSID(1, "$NetBSD: if_cpsw.c,v 1.11 2020/01/29 06:05:31 thorpej Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -629,7 +629,7 @@ cpsw_start(struct ifnet *ifp)
device_printf(sc->sc_dev, "won't fit\n");
IFQ_DEQUEUE(&ifp->if_snd, m);
m_freem(m);
- ifp->if_oerrors++;
+ if_statinc(ifp, if_oerrors);
continue;
} else if (error != 0) {
device_printf(sc->sc_dev, "error\n");
@@ -739,7 +739,7 @@ cpsw_watchdog(struct ifnet *ifp)
device_printf(sc->sc_dev, "device timeout\n");
- ifp->if_oerrors++;
+ if_statinc(ifp, if_oerrors);
cpsw_init(ifp);
cpsw_start(ifp);
}
@@ -1169,7 +1169,7 @@ cpsw_rxintr(void *arg)
if (cpsw_new_rxbuf(sc, i) != 0) {
/* drop current packet, reuse buffer for new */
- ifp->if_ierrors++;
+ if_statinc(ifp, if_ierrors);
goto next;
}
@@ -1273,7 +1273,7 @@ cpsw_txintr(void *arg)
m_freem(rdp->tx_mb[sc->sc_txhead]);
rdp->tx_mb[sc->sc_txhead] = NULL;
- ifp->if_opackets++;
+ if_statinc(ifp, if_opackets);
handled = true;
Index: src/sys/arch/arm/xscale/ixp425_if_npe.c
diff -u src/sys/arch/arm/xscale/ixp425_if_npe.c:1.44 src/sys/arch/arm/xscale/ixp425_if_npe.c:1.45
--- src/sys/arch/arm/xscale/ixp425_if_npe.c:1.44 Fri Dec 27 08:22:49 2019
+++ src/sys/arch/arm/xscale/ixp425_if_npe.c Wed Jan 29 06:05:31 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ixp425_if_npe.c,v 1.44 2019/12/27 08:22:49 msaitoh Exp $ */
+/* $NetBSD: ixp425_if_npe.c,v 1.45 2020/01/29 06:05:31 thorpej Exp $ */
/*-
* Copyright (c) 2006 Sam Leffler. All rights reserved.
@@ -28,7 +28,7 @@
#if 0
__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.1 2006/11/19 23:55:23 sam Exp $");
#endif
-__KERNEL_RCSID(0, "$NetBSD: ixp425_if_npe.c,v 1.44 2019/12/27 08:22:49 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ixp425_if_npe.c,v 1.45 2020/01/29 06:05:31 thorpej Exp $");
/*
* Intel XScale NPE Ethernet driver.
@@ -703,20 +703,23 @@ npe_addstats(struct npe_softc *sc)
struct ifnet *ifp = &sc->sc_ethercom.ec_if;
struct npestats *ns = sc->sc_stats;
- ifp->if_oerrors +=
+ net_stat_ref_t nsr = IF_STAT_GETREF(ifp);
+ if_statadd_ref(nsr, if_oerrors,
be32toh(ns->dot3StatsInternalMacTransmitErrors)
+ be32toh(ns->dot3StatsCarrierSenseErrors)
+ be32toh(ns->TxVLANIdFilterDiscards)
- ;
- ifp->if_ierrors += be32toh(ns->dot3StatsFCSErrors)
+ );
+ if_statadd_ref(nsr, if_ierrors,
+ be32toh(ns->dot3StatsFCSErrors)
+ be32toh(ns->dot3StatsInternalMacReceiveErrors)
+ be32toh(ns->RxOverrunDiscards)
+ be32toh(ns->RxUnderflowEntryDiscards)
- ;
- ifp->if_collisions +=
+ );
+ if_statadd_ref(nsr, if_collisions,
be32toh(ns->dot3StatsSingleCollisionFrames)
+ be32toh(ns->dot3StatsMultipleCollisionFrames)
- ;
+ );
+ IF_STAT_PUTREF(ifp);
}
static void
@@ -798,7 +801,7 @@ npe_txdone_finish(struct npe_softc *sc,
* We're no longer busy, so clear the busy flag and call the
* start routine to xmit more packets.
*/
- ifp->if_opackets += td->count;
+ if_statadd(ifp, if_opackets, td->count);
ifp->if_flags &= ~IFF_OACTIVE;
ifp->if_timer = 0;
if_schedule_deferred_start(ifp);
@@ -953,7 +956,7 @@ npe_rxdone(int qid, void *arg)
mrx->m_pkthdr.len);
/* Back out "newly allocated" mbuf. */
m_freem(m);
- ifp->if_ierrors++;
+ if_statinc(ifp, if_ierrors);
goto fail;
}
if ((ifp->if_flags & IFF_PROMISC) == 0) {
@@ -1032,7 +1035,7 @@ npe_rxdone(int qid, void *arg)
device_xname(sc->sc_dev), mrx->m_pkthdr.len);
/* Back out "newly allocated" mbuf. */
m_freem(m);
- ifp->if_ierrors++;
+ if_statinc(ifp, if_ierrors);
goto fail;
}
#endif
@@ -1154,7 +1157,7 @@ npeinit_resetcb(void *xsc)
struct ifnet *ifp = &sc->sc_ethercom.ec_if;
uint32_t msg[2];
- ifp->if_oerrors++;
+ if_statinc(ifp, if_oerrors);
npeinit_locked(sc);
msg[0] = NPE_NOTIFYMACRECOVERYDONE << NPE_MAC_MSGID_SHL
@@ -1402,7 +1405,7 @@ npewatchdog(struct ifnet *ifp)
aprint_error_dev(sc->sc_dev, "device timeout\n");
s = splnet();
- ifp->if_oerrors++;
+ if_statinc(ifp, if_oerrors);
npeinit_locked(sc);
splx(s);
}