Module Name: src Committed By: thorpej Date: Sat Feb 1 05:14:28 UTC 2020
Modified Files: src/sys/dev/pci: if_vte.c if_vtevar.h Log Message: Adopt <net/if_stats.h>. To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 src/sys/dev/pci/if_vte.c cvs rdiff -u -r1.4 -r1.5 src/sys/dev/pci/if_vtevar.h 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/pci/if_vte.c diff -u src/sys/dev/pci/if_vte.c:1.28 src/sys/dev/pci/if_vte.c:1.29 --- src/sys/dev/pci/if_vte.c:1.28 Tue Nov 12 19:44:46 2019 +++ src/sys/dev/pci/if_vte.c Sat Feb 1 05:14:28 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vte.c,v 1.28 2019/11/12 19:44:46 maya Exp $ */ +/* $NetBSD: if_vte.c,v 1.29 2020/02/01 05:14:28 thorpej Exp $ */ /* * Copyright (c) 2011 Manuel Bouyer. All rights reserved. @@ -55,7 +55,7 @@ /* Driver for DM&P Electronics, Inc, Vortex86 RDC R6040 FastEthernet. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_vte.c,v 1.28 2019/11/12 19:44:46 maya Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_vte.c,v 1.29 2020/02/01 05:14:28 thorpej Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -829,7 +829,7 @@ vte_ifwatchdog(struct ifnet *ifp) return; aprint_error_dev(sc->vte_dev, "watchdog timeout -- resetting\n"); - ifp->if_oerrors++; + if_statinc(ifp, if_oerrors); vte_init(ifp); if (!IFQ_IS_EMPTY(&ifp->if_snd)) vte_ifstart(ifp); @@ -918,36 +918,46 @@ vte_stats_update(struct vte_softc *sc) stat = &sc->vte_stats; + net_stat_ref_t nsr = IF_STAT_GETREF(ifp); + CSR_READ_2(sc, VTE_MECISR); + /* RX stats. */ stat->rx_frames += CSR_READ_2(sc, VTE_CNT_RX_DONE); + value = CSR_READ_2(sc, VTE_CNT_MECNT0); stat->rx_bcast_frames += (value >> 8); stat->rx_mcast_frames += (value & 0xFF); + value = CSR_READ_2(sc, VTE_CNT_MECNT1); - stat->rx_runts += (value >> 8); - stat->rx_crcerrs += (value & 0xFF); + if_statadd_ref(nsr, if_ierrors, + (value >> 8) + /* rx_runts */ + (value & 0xFF)); /* rx_crcerrs */ + value = CSR_READ_2(sc, VTE_CNT_MECNT2); - stat->rx_long_frames += (value & 0xFF); + if_statadd_ref(nsr, if_ierrors, + (value & 0xFF)); /* rx_long_frames */ + value = CSR_READ_2(sc, VTE_CNT_MECNT3); - stat->rx_fifo_full += (value >> 8); + if_statadd_ref(nsr, if_ierrors, + (value >> 8)); /* rx_fifo_full */ stat->rx_desc_unavail += (value & 0xFF); /* TX stats. */ - stat->tx_frames += CSR_READ_2(sc, VTE_CNT_TX_DONE); + if_statadd_ref(nsr, if_opackets, + CSR_READ_2(sc, VTE_CNT_TX_DONE)); /* tx_frames */ + value = CSR_READ_2(sc, VTE_CNT_MECNT4); - stat->tx_underruns += (value >> 8); - stat->tx_late_colls += (value & 0xFF); + if_statadd_ref(nsr, if_oerrors, + (value >> 8) + /* tx_underruns */ + (value & 0xFF)); /* tx_late_colls */ + /* Pause stats. */ value = CSR_READ_2(sc, VTE_CNT_PAUSE); stat->tx_pause_frames += (value >> 8); stat->rx_pause_frames += (value & 0xFF); - /* Update ifp counters. */ - ifp->if_opackets = stat->tx_frames; - ifp->if_oerrors = stat->tx_late_colls + stat->tx_underruns; - ifp->if_ierrors = stat->rx_crcerrs + stat->rx_runts + - stat->rx_long_frames + stat->rx_fifo_full; + IF_STAT_PUTREF(ifp); } static int @@ -1019,7 +1029,7 @@ vte_txeof(struct vte_softc *sc) if ((status & VTE_DTST_TX_OWN) != 0) break; if ((status & VTE_DTST_TX_OK) != 0) - ifp->if_collisions += (status & 0xf); + if_statadd(ifp, if_collisions, (status & 0xf)); sc->vte_cdata.vte_tx_cnt--; /* Reclaim transmitted mbufs. */ bus_dmamap_sync(sc->vte_dmatag, txd->tx_dmamap, 0, @@ -1125,7 +1135,7 @@ vte_rxeof(struct vte_softc *sc) } if (vte_newbuf(sc, rxd) != 0) { DPRINTF(("vte_rxeof newbuf failed\n")); - ifp->if_ierrors++; + if_statinc(ifp, if_ierrors); rxd->rx_desc->drlen = htole16(MCLBYTES - sizeof(uint32_t)); rxd->rx_desc->drst = htole16(VTE_DRST_RX_OWN); Index: src/sys/dev/pci/if_vtevar.h diff -u src/sys/dev/pci/if_vtevar.h:1.4 src/sys/dev/pci/if_vtevar.h:1.5 --- src/sys/dev/pci/if_vtevar.h:1.4 Tue Apr 14 20:32:36 2015 +++ src/sys/dev/pci/if_vtevar.h Sat Feb 1 05:14:28 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_vtevar.h,v 1.4 2015/04/14 20:32:36 riastradh Exp $ */ +/* $NetBSD: if_vtevar.h,v 1.5 2020/02/01 05:14:28 thorpej Exp $ */ /*- * Copyright (c) 2010, Pyun YongHyeon <yong...@freebsd.org> @@ -101,17 +101,21 @@ struct vte_hw_stats { uint32_t rx_frames; uint32_t rx_bcast_frames; uint32_t rx_mcast_frames; +#if 0 /* unused fields; if_stats used instead. */ uint32_t rx_runts; uint32_t rx_crcerrs; uint32_t rx_long_frames; uint32_t rx_fifo_full; +#endif uint32_t rx_desc_unavail; uint32_t rx_pause_frames; /* TX stats. */ +#if 0 /* unused fields; if_stats used instead. */ uint32_t tx_frames; uint32_t tx_underruns; uint32_t tx_late_colls; +#endif uint32_t tx_pause_frames; };