From nobody Tue Jan 31 21:53:52 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5zMh68DMz3cPtP; Tue, 31 Jan 2023 21:53:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5zMh5hMBz3n4g; Tue, 31 Jan 2023 21:53:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=11ud8F8Ghi4t8KyibceZbiBhctvGNACtBAob7afy9fY=; b=fVZmNWtYfOZ5FAJAllAPVL0NNgAbGLTAyLUrFyWpdT6cvdjysG3PeWLXolEE2+ZxaAnpng WcHrcL5kHXikLVouWm9H11goFerp1SXTHxrWptqocFMRNrJWYvAs+PV4bJash20SB0woz0 TSAoXZcusgcAmHjGwY+IvzFARZFhmX3rZcfwHpTN+JXmTutekfm/g+10rImHeb/c76TNAi TpltWNoWay8caogKt5WuX8c/JnTqP+nr51YmzLIoXZdZxhHKP7Kiy2pBafl9TA5N63z+Tn K9lh06l0YYVSDe94CMsBB/kYZSbfpaOWZvGaNbW6T7J8F9b8jtAaeB+KCtgT2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675202032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=11ud8F8Ghi4t8KyibceZbiBhctvGNACtBAob7afy9fY=; b=YBHLZ+lree123UfmqqGbXtB7Szg8UrnP+juu46NoFFhggQyl8mm4fLHFbOzaCOzEGcvFwd u/pdlvSYc1lhtWiJ7sTJP6BkCa4dxwkEOcZFE51HTXYEptgGOID3qlzZ1PaaeGgvcNgBiV 8CafNBht8Ikx/dnAUjKKwpXaENf4xHRppVuwyfQZq7qBj3MKQkHqcQ5fY2oQsEoF98oWBU n8AwhRElOiSsKdgJi70z1gAXp1rqSpVWr4Jdzheb4JE4y8ta2NMweyW2HoUxyoSePBDCi7 ZKrhELa0Wk3BDyaNvZ52Dgp1k4Jy0W8325AKre0aKAnwYrlQnQS/QTU3AvuNoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675202032; a=rsa-sha256; cv=none; b=yDBAOl29FnwBUYnvtRKoxiwMk+tK8Y+P1Y/XwEmrqQD2ExKtwCytogHkYWhnqt8KRNJi3A Y7OLJgpXSMorQk34aK86z1mmGodYerOwo5AaA3Px6Jo4Be89T+uBel9MD8YU6GS/NFiVuU EHZgubTf0kbX0h/28wc8WA+EnKNzGczglL/R5q8AWcZmEGTKx7/oDfREglorVoGIfdLomG ew99eJM5JLCCA5yIIkStya7EChKLgpdhin+wUjTe/f/sMADUIsIqfLopIhGMYRcAdhoM/C fBPOjfMUBKCWuEV4UnHQnvQZoXBOVzQPv4N6+s9Y5G0g2x2PaRHpsJrZGoUmTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5zMh4pFhz14rl; Tue, 31 Jan 2023 21:53:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VLrqKu080800; Tue, 31 Jan 2023 21:53:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VLrqnt080799; Tue, 31 Jan 2023 21:53:52 GMT (envelope-from git) Date: Tue, 31 Jan 2023 21:53:52 GMT Message-Id: <202301312153.30VLrqnt080799@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 3df047e3f3f8 - main - Mechanically convert ps3 if_glc(4) to IfAPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3df047e3f3f88f5b108a53fae11c9ab9a97a4df7 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=3df047e3f3f88f5b108a53fae11c9ab9a97a4df7 commit 3df047e3f3f88f5b108a53fae11c9ab9a97a4df7 Author: Justin Hibbits AuthorDate: 2022-03-01 15:52:25 +0000 Commit: Justin Hibbits CommitDate: 2023-01-31 21:26:35 +0000 Mechanically convert ps3 if_glc(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37792 --- sys/powerpc/ps3/if_glc.c | 104 ++++++++++++++++++++++---------------------- sys/powerpc/ps3/if_glcreg.h | 2 +- 2 files changed, 52 insertions(+), 54 deletions(-) diff --git a/sys/powerpc/ps3/if_glc.c b/sys/powerpc/ps3/if_glc.c index b3e7048a63b2..2d8119d2ae36 100644 --- a/sys/powerpc/ps3/if_glc.c +++ b/sys/powerpc/ps3/if_glc.c @@ -64,8 +64,8 @@ static int glc_probe(device_t); static int glc_attach(device_t); static void glc_init(void *xsc); -static void glc_start(struct ifnet *ifp); -static int glc_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data); +static void glc_start(if_t ifp); +static int glc_ioctl(if_t ifp, u_long cmd, caddr_t data); static void glc_set_multicast(struct glc_softc *sc); static int glc_add_rxbuf(struct glc_softc *sc, int idx); static int glc_add_rxbuf_dma(struct glc_softc *sc, int idx); @@ -74,8 +74,8 @@ static int glc_encap(struct glc_softc *sc, struct mbuf **m_head, static int glc_intr_filter(void *xsc); static void glc_intr(void *xsc); static void glc_tick(void *xsc); -static void glc_media_status(struct ifnet *ifp, struct ifmediareq *ifmr); -static int glc_media_change(struct ifnet *ifp); +static void glc_media_status(if_t ifp, struct ifmediareq *ifmr); +static int glc_media_change(if_t ifp); static MALLOC_DEFINE(M_GLC, "gelic", "PS3 GELIC ethernet"); @@ -145,7 +145,7 @@ glc_attach(device_t dev) lv1_net_stop_rx_dma(sc->sc_bus, sc->sc_dev, 0); sc->sc_ifp = if_alloc(IFT_ETHER); - sc->sc_ifp->if_softc = sc; + if_setsoftc(sc->sc_ifp, sc); /* * Get MAC address and VLAN id @@ -253,14 +253,14 @@ glc_attach(device_t dev) */ if_initname(sc->sc_ifp, device_get_name(dev), device_get_unit(dev)); - sc->sc_ifp->if_mtu = ETHERMTU; - sc->sc_ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - sc->sc_ifp->if_hwassist = CSUM_TCP | CSUM_UDP; - sc->sc_ifp->if_capabilities = IFCAP_HWCSUM | IFCAP_RXCSUM; - sc->sc_ifp->if_capenable = IFCAP_HWCSUM | IFCAP_RXCSUM; - sc->sc_ifp->if_start = glc_start; - sc->sc_ifp->if_ioctl = glc_ioctl; - sc->sc_ifp->if_init = glc_init; + if_setmtu(sc->sc_ifp, ETHERMTU); + if_setflags(sc->sc_ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_sethwassist(sc->sc_ifp, CSUM_TCP | CSUM_UDP); + if_setcapabilities(sc->sc_ifp, IFCAP_HWCSUM | IFCAP_RXCSUM); + if_setcapenable(sc->sc_ifp, IFCAP_HWCSUM | IFCAP_RXCSUM); + if_setstartfn(sc->sc_ifp, glc_start); + if_setioctlfn(sc->sc_ifp, glc_ioctl); + if_setinitfn(sc->sc_ifp, glc_init); ifmedia_init(&sc->sc_media, IFM_IMASK, glc_media_change, glc_media_status); @@ -272,12 +272,11 @@ glc_attach(device_t dev) ifmedia_add(&sc->sc_media, IFM_ETHER | IFM_AUTO, 0, NULL); ifmedia_set(&sc->sc_media, IFM_ETHER | IFM_AUTO); - IFQ_SET_MAXLEN(&sc->sc_ifp->if_snd, GLC_MAX_TX_PACKETS); - sc->sc_ifp->if_snd.ifq_drv_maxlen = GLC_MAX_TX_PACKETS; - IFQ_SET_READY(&sc->sc_ifp->if_snd); + if_setsendqlen(sc->sc_ifp, GLC_MAX_TX_PACKETS); + if_setsendqready(sc->sc_ifp); ether_ifattach(sc->sc_ifp, sc->sc_enaddr); - sc->sc_ifp->if_hwassist = 0; + if_sethwassist(sc->sc_ifp, 0); return (0); @@ -339,9 +338,9 @@ glc_init_locked(struct glc_softc *sc) device_printf(sc->sc_self, "lv1_net_start_rx_dma error: %d\n", error); - sc->sc_ifp->if_drv_flags |= IFF_DRV_RUNNING; - sc->sc_ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - sc->sc_ifpflags = sc->sc_ifp->if_flags; + if_setdrvflagbits(sc->sc_ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(sc->sc_ifp, 0, IFF_DRV_OACTIVE); + sc->sc_ifpflags = if_getflags(sc->sc_ifp); sc->sc_wdog_timer = 0; callout_reset(&sc->sc_tick_ch, hz, glc_tick, sc); @@ -395,9 +394,9 @@ glc_tick(void *xsc) } static void -glc_start_locked(struct ifnet *ifp) +glc_start_locked(if_t ifp) { - struct glc_softc *sc = ifp->if_softc; + struct glc_softc *sc = if_getsoftc(ifp); bus_addr_t first, pktdesc; int kickstart = 0; int error; @@ -406,15 +405,15 @@ glc_start_locked(struct ifnet *ifp) mtx_assert(&sc->sc_mtx, MA_OWNED); first = 0; - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) return; if (STAILQ_EMPTY(&sc->sc_txdirtyq)) kickstart = 1; - while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, mb_head); + while (!if_sendq_empty(ifp)) { + mb_head = if_dequeue(ifp); if (mb_head == NULL) break; @@ -422,8 +421,8 @@ glc_start_locked(struct ifnet *ifp) /* Check if the ring buffer is full */ if (sc->bsy_txdma_slots > 125) { /* Put the packet back and stop */ - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - IFQ_DRV_PREPEND(&ifp->if_snd, mb_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); + if_sendq_prepend(ifp, mb_head); break; } @@ -433,7 +432,7 @@ glc_start_locked(struct ifnet *ifp) mb_head = ether_vlanencap(mb_head, sc->sc_tx_vlan); if (glc_encap(sc, &mb_head, &pktdesc)) { - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -451,9 +450,9 @@ glc_start_locked(struct ifnet *ifp) } static void -glc_start(struct ifnet *ifp) +glc_start(if_t ifp) { - struct glc_softc *sc = ifp->if_softc; + struct glc_softc *sc = if_getsoftc(ifp); mtx_lock(&sc->sc_mtx); glc_start_locked(ifp); @@ -461,26 +460,26 @@ glc_start(struct ifnet *ifp) } static int -glc_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +glc_ioctl(if_t ifp, u_long cmd, caddr_t data) { - struct glc_softc *sc = ifp->if_softc; + struct glc_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *)data; int err = 0; switch (cmd) { case SIOCSIFFLAGS: mtx_lock(&sc->sc_mtx); - if ((ifp->if_flags & IFF_UP) != 0) { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0 && - ((ifp->if_flags ^ sc->sc_ifpflags) & + if ((if_getflags(ifp) & IFF_UP) != 0) { + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && + ((if_getflags(ifp) ^ sc->sc_ifpflags) & (IFF_ALLMULTI | IFF_PROMISC)) != 0) glc_set_multicast(sc); else glc_init_locked(sc); } - else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) glc_stop(sc); - sc->sc_ifpflags = ifp->if_flags; + sc->sc_ifpflags = if_getflags(ifp); mtx_unlock(&sc->sc_mtx); break; case SIOCADDMULTI: @@ -525,7 +524,7 @@ glc_add_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void glc_set_multicast(struct glc_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; int naddrs; /* Clear multicast filter */ @@ -535,7 +534,7 @@ glc_set_multicast(struct glc_softc *sc) lv1_net_add_multicast_address(sc->sc_bus, sc->sc_dev, 0xffffffffffffL, 0); - if ((ifp->if_flags & IFF_ALLMULTI) != 0) { + if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) { lv1_net_add_multicast_address(sc->sc_bus, sc->sc_dev, 0, 1); } else { naddrs = if_foreach_llmaddr(ifp, glc_add_maddr, sc); @@ -711,7 +710,7 @@ glc_rxintr(struct glc_softc *sc) { int i, restart_rxdma, error; struct mbuf *m; - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; bus_dmamap_sync(sc->sc_dmadesc_tag, sc->sc_rxdmadesc_map, BUS_DMASYNC_POSTREAD); @@ -760,7 +759,7 @@ glc_rxintr(struct glc_softc *sc) m_adj(m, 2); mtx_unlock(&sc->sc_mtx); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); mtx_lock(&sc->sc_mtx); requeue: @@ -782,7 +781,7 @@ glc_rxintr(struct glc_softc *sc) static void glc_txintr(struct glc_softc *sc) { - struct ifnet *ifp = sc->sc_ifp; + if_t ifp = sc->sc_ifp; struct glc_txsoft *txs; int progress = 0, kickstart = 0, error; @@ -840,11 +839,11 @@ glc_txintr(struct glc_softc *sc) * We freed some descriptors, so reset IFF_DRV_OACTIVE * and restart. */ - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); sc->sc_wdog_timer = STAILQ_EMPTY(&sc->sc_txdirtyq) ? 0 : 5; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) && - !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) && + !if_sendq_empty(ifp)) glc_start_locked(ifp); } } @@ -852,7 +851,7 @@ glc_txintr(struct glc_softc *sc) static int glc_intr_filter(void *xsc) { - struct glc_softc *sc = xsc; + struct glc_softc *sc = xsc; powerpc_sync(); atomic_set_64(&sc->sc_interrupt_status, *sc->sc_hwirq_status); @@ -862,7 +861,7 @@ glc_intr_filter(void *xsc) static void glc_intr(void *xsc) { - struct glc_softc *sc = xsc; + struct glc_softc *sc = xsc; uint64_t status, linkstat, junk; mtx_lock(&sc->sc_mtx); @@ -886,17 +885,16 @@ glc_intr(void *xsc) linkstat = (linkstat & GELIC_LINK_UP) ? LINK_STATE_UP : LINK_STATE_DOWN; - if (linkstat != sc->sc_ifp->if_link_state) - if_link_state_change(sc->sc_ifp, linkstat); + if_link_state_change(sc->sc_ifp, linkstat); } mtx_unlock(&sc->sc_mtx); } static void -glc_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) +glc_media_status(if_t ifp, struct ifmediareq *ifmr) { - struct glc_softc *sc = ifp->if_softc; + struct glc_softc *sc = if_getsoftc(ifp); uint64_t status, junk; ifmr->ifm_status = IFM_AVALID; @@ -922,9 +920,9 @@ glc_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -glc_media_change(struct ifnet *ifp) +glc_media_change(if_t ifp) { - struct glc_softc *sc = ifp->if_softc; + struct glc_softc *sc = if_getsoftc(ifp); uint64_t mode, junk; int result; diff --git a/sys/powerpc/ps3/if_glcreg.h b/sys/powerpc/ps3/if_glcreg.h index dfd6a49126bb..84b319e5c839 100644 --- a/sys/powerpc/ps3/if_glcreg.h +++ b/sys/powerpc/ps3/if_glcreg.h @@ -65,7 +65,7 @@ struct glc_rxsoft { }; struct glc_softc { - struct ifnet *sc_ifp; + if_t sc_ifp; device_t sc_self; struct mtx sc_mtx; u_char sc_enaddr[ETHER_ADDR_LEN];