Module Name: src Committed By: thorpej Date: Sat Feb 1 06:38:58 UTC 2020
Modified Files: src/sys/dev/pci: if_ti.c if_tireg.h Log Message: Adopt <net/if_stats.h>. To generate a diff of this commit: cvs rdiff -u -r1.113 -r1.114 src/sys/dev/pci/if_ti.c cvs rdiff -u -r1.22 -r1.23 src/sys/dev/pci/if_tireg.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_ti.c diff -u src/sys/dev/pci/if_ti.c:1.113 src/sys/dev/pci/if_ti.c:1.114 --- src/sys/dev/pci/if_ti.c:1.113 Sun Nov 10 21:16:36 2019 +++ src/sys/dev/pci/if_ti.c Sat Feb 1 06:38:58 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ti.c,v 1.113 2019/11/10 21:16:36 chs Exp $ */ +/* $NetBSD: if_ti.c,v 1.114 2020/02/01 06:38:58 thorpej Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -81,7 +81,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_ti.c,v 1.113 2019/11/10 21:16:36 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ti.c,v 1.114 2020/02/01 06:38:58 thorpej Exp $"); #include "opt_inet.h" @@ -1923,13 +1923,13 @@ ti_rxeof(struct ti_softc *sc) m = sc->ti_cdata.ti_rx_jumbo_chain[rxidx]; sc->ti_cdata.ti_rx_jumbo_chain[rxidx] = NULL; if (cur_rx->ti_flags & TI_BDFLAG_ERROR) { - ifp->if_ierrors++; + if_statinc(ifp, if_ierrors); ti_newbuf_jumbo(sc, sc->ti_jumbo, m); continue; } if (ti_newbuf_jumbo(sc, sc->ti_jumbo, NULL) == ENOBUFS) { - ifp->if_ierrors++; + if_statinc(ifp, if_ierrors); ti_newbuf_jumbo(sc, sc->ti_jumbo, m); continue; } @@ -1940,13 +1940,13 @@ ti_rxeof(struct ti_softc *sc) dmamap = sc->mini_dmamap[rxidx]; sc->mini_dmamap[rxidx] = 0; if (cur_rx->ti_flags & TI_BDFLAG_ERROR) { - ifp->if_ierrors++; + if_statinc(ifp, if_ierrors); ti_newbuf_mini(sc, sc->ti_mini, m, dmamap); continue; } if (ti_newbuf_mini(sc, sc->ti_mini, NULL, dmamap) == ENOBUFS) { - ifp->if_ierrors++; + if_statinc(ifp, if_ierrors); ti_newbuf_mini(sc, sc->ti_mini, m, dmamap); continue; } @@ -1957,13 +1957,13 @@ ti_rxeof(struct ti_softc *sc) dmamap = sc->std_dmamap[rxidx]; sc->std_dmamap[rxidx] = 0; if (cur_rx->ti_flags & TI_BDFLAG_ERROR) { - ifp->if_ierrors++; + if_statinc(ifp, if_ierrors); ti_newbuf_std(sc, sc->ti_std, m, dmamap); continue; } if (ti_newbuf_std(sc, sc->ti_std, NULL, dmamap) == ENOBUFS) { - ifp->if_ierrors++; + if_statinc(ifp, if_ierrors); ti_newbuf_std(sc, sc->ti_std, m, dmamap); continue; } @@ -2068,7 +2068,7 @@ ti_txeof_tigon1(struct ti_softc *sc) TI_TX_RING_BASE); cur_tx = &sc->ti_tx_ring_nic[idx % 128]; if (cur_tx->ti_flags & TI_BDFLAG_END) - ifp->if_opackets++; + if_statinc(ifp, if_opackets); if (sc->ti_cdata.ti_tx_chain[idx] != NULL) { m_freem(sc->ti_cdata.ti_tx_chain[idx]); sc->ti_cdata.ti_tx_chain[idx] = NULL; @@ -2113,7 +2113,7 @@ ti_txeof_tigon2(struct ti_softc *sc) idx = sc->ti_tx_saved_considx; cur_tx = &sc->ti_rdata->ti_tx_ring[idx]; if (cur_tx->ti_flags & TI_BDFLAG_END) - ifp->if_opackets++; + if_statinc(ifp, if_opackets); if (sc->ti_cdata.ti_tx_chain[idx] != NULL) { m_freem(sc->ti_cdata.ti_tx_chain[idx]); sc->ti_cdata.ti_tx_chain[idx] = NULL; @@ -2181,18 +2181,17 @@ ti_intr(void *xsc) static void ti_stats_update(struct ti_softc *sc) { - struct ifnet *ifp; - - ifp = &sc->ethercom.ec_if; + struct ifnet *ifp = &sc->ethercom.ec_if; TI_CDSTATSSYNC(sc, BUS_DMASYNC_POSTREAD); - ifp->if_collisions += + uint64_t collisions = (sc->ti_rdata->ti_info.ti_stats.dot3StatsSingleCollisionFrames + - sc->ti_rdata->ti_info.ti_stats.dot3StatsMultipleCollisionFrames + - sc->ti_rdata->ti_info.ti_stats.dot3StatsExcessiveCollisions + - sc->ti_rdata->ti_info.ti_stats.dot3StatsLateCollisions) - - ifp->if_collisions; + sc->ti_rdata->ti_info.ti_stats.dot3StatsMultipleCollisionFrames + + sc->ti_rdata->ti_info.ti_stats.dot3StatsExcessiveCollisions + + sc->ti_rdata->ti_info.ti_stats.dot3StatsLateCollisions); + if_statadd(ifp, if_collisions, collisions - sc->ti_if_collisions); + sc->ti_if_collisions = collisions; TI_CDSTATSSYNC(sc, BUS_DMASYNC_PREREAD); } @@ -2792,7 +2791,7 @@ ti_watchdog(struct ifnet *ifp) ti_stop(sc); ti_init(sc); - ifp->if_oerrors++; + if_statinc(ifp, if_oerrors); } /* Index: src/sys/dev/pci/if_tireg.h diff -u src/sys/dev/pci/if_tireg.h:1.22 src/sys/dev/pci/if_tireg.h:1.23 --- src/sys/dev/pci/if_tireg.h:1.22 Fri Sep 13 07:55:07 2019 +++ src/sys/dev/pci/if_tireg.h Sat Feb 1 06:38:58 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_tireg.h,v 1.22 2019/09/13 07:55:07 msaitoh Exp $ */ +/* $NetBSD: if_tireg.h,v 1.23 2020/02/01 06:38:58 thorpej Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -1104,6 +1104,8 @@ struct ti_softc { struct ti_chain_data ti_cdata; /* mbufs */ + uint64_t ti_if_collisions; + /* * Function pointers to deal with Tigon 1 vs. Tigon 2 differences. */