From nobody Mon Feb 6 17:54:01 2023 X-Original-To: dev-commits-src-all@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 4P9YmB24V3z3n0jK; Mon, 6 Feb 2023 17:54:02 +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 4P9YmB1XvNz4XNs; Mon, 6 Feb 2023 17:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706042; 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=uuDzac2yELai8zIcEj+3IEbrzLf4elmaTSINgBxm9O8=; b=hBm3T1oAXksws37FxsD8a5rA5kj4/g/5B/Dqv3WeVUPz5TFqoBI5yBsHZH2Khm0FAeAkef kqtzyDIvRdLC98ceAymfCCl86OWFYf+5pIKEi6GbdVif/PHLpR3iphxfdvLf88hbhXJWmN c5knZ8GwTdHAcmm6KmWYBBbpLo5GSTvMC9Bdc/qu8cFSry8kYJ3b/4ZKNYrVORPd6nnYGI Qj76+9jXMPAwov1VmmWRzAeSiSHlkX8dY/YR7+vt+zOCDZkC8ygKLiABwImrGFbYGDMR7M y63T3jfmkTw6rOxbfqF0oHu2kefEXaajL8QGCMxBVDVFszAP5rCb0cFPU/kP+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675706042; 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=uuDzac2yELai8zIcEj+3IEbrzLf4elmaTSINgBxm9O8=; b=NDhK9kIBkTjR10dye+niXaPa/dgGJ5xlbB/Lo44tNqb8OuZsTGl/eMYpoQsgYjRP1hudcm itr1LQa+S9ZybVBAdu+C0WwwIOmzJJ6cntK4ZzwrLew3BF1/Gvq/RuYt99ECZLwCH6AerF Qr7sLC+/Ml9GqBTOwLzHRMtSXAdSgErkQ5ov75E7LmnIvhMyGdza2z6zQ8+/7qOWMQoYgs 60aw/hxhOl1+dSMnwiisY5LVoEU30Dx5COMN35dyy5Asp3Uj/xGP65Wui8uqoaO++Nhzce vyUlChN4bklNHSAYjwiJOYa7GOpNv6Ip7fTBbdvV4ZYq6dXygXPdoi9Vv8N2JA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675706042; a=rsa-sha256; cv=none; b=I04OtJARh0KqsKrnhjROFsw2PJvD76Oh4cOQ6x852IRGKC2uNvVrk/qIOvsZfYxka/WSWW 624GVc7X9Bs9H8rTu7sKxBTZ7Uv37I101jv2n9TrH4iMRbxDhKbr63IC8fTuQpLvQUcCzA z7u8qn7BQjewGV+RGquWbDhQPvdTG52f+tRsvBG9hNNZvwiXGemlULTbIz5tUYME8PLZLH 6EdqQjhIoSLozmHw0hK3omjwmd3zjHQLihRE5/7YOSs4gm0NIdGRG2rLSXBJDz1df1qztE HBwRBzXg1ZYfriD2A/ZFjQ2BuqSJ13DnR6psHSXefQZcTLi+r1sA1/r1o9Vgyw== 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 4P9YmB0cjmzkTK; Mon, 6 Feb 2023 17:54:02 +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 316Hs12t074348; Mon, 6 Feb 2023 17:54:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 316Hs1fC074347; Mon, 6 Feb 2023 17:54:01 GMT (envelope-from git) Date: Mon, 6 Feb 2023 17:54:01 GMT Message-Id: <202302061754.316Hs1fC074347@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: c0e5e270a5dd - main - Mechanically convert if_bfe(4) to IfAPI List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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: c0e5e270a5ddfa073c22e30a8d75f8860690d20a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=c0e5e270a5ddfa073c22e30a8d75f8860690d20a commit c0e5e270a5ddfa073c22e30a8d75f8860690d20a Author: Justin Hibbits AuthorDate: 2022-02-25 22:36:48 +0000 Commit: Justin Hibbits CommitDate: 2023-02-06 17:32:06 +0000 Mechanically convert if_bfe(4) to IfAPI Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37791 --- sys/dev/bfe/if_bfe.c | 129 ++++++++++++++++++++++++------------------------ sys/dev/bfe/if_bfereg.h | 2 +- 2 files changed, 65 insertions(+), 66 deletions(-) diff --git a/sys/dev/bfe/if_bfe.c b/sys/dev/bfe/if_bfe.c index bd1dc126265d..e4c5205fa8de 100644 --- a/sys/dev/bfe/if_bfe.c +++ b/sys/dev/bfe/if_bfe.c @@ -86,9 +86,9 @@ static int bfe_resume (device_t); static void bfe_release_resources (struct bfe_softc *); static void bfe_intr (void *); static int bfe_encap (struct bfe_softc *, struct mbuf **); -static void bfe_start (struct ifnet *); -static void bfe_start_locked (struct ifnet *); -static int bfe_ioctl (struct ifnet *, u_long, caddr_t); +static void bfe_start (if_t); +static void bfe_start_locked (if_t); +static int bfe_ioctl (if_t, u_long, caddr_t); static void bfe_init (void *); static void bfe_init_locked (void *); static void bfe_stop (struct bfe_softc *); @@ -105,8 +105,8 @@ static int bfe_list_newbuf (struct bfe_softc *, int); static void bfe_rx_ring_free (struct bfe_softc *); static void bfe_pci_setup (struct bfe_softc *, u_int32_t); -static int bfe_ifmedia_upd (struct ifnet *); -static void bfe_ifmedia_sts (struct ifnet *, struct ifmediareq *); +static int bfe_ifmedia_upd (if_t); +static void bfe_ifmedia_sts (if_t, struct ifmediareq *); static int bfe_miibus_readreg (device_t, int, int); static int bfe_miibus_writereg (device_t, int, int, int); static void bfe_miibus_statchg (device_t); @@ -431,7 +431,7 @@ bfe_dma_free(struct bfe_softc *sc) static int bfe_attach(device_t dev) { - struct ifnet *ifp = NULL; + if_t ifp = NULL; struct bfe_softc *sc; int error = 0, rid; @@ -485,15 +485,14 @@ bfe_attach(device_t dev) error = ENOSPC; goto fail; } - ifp->if_softc = sc; + if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = bfe_ioctl; - ifp->if_start = bfe_start; - ifp->if_init = bfe_init; - IFQ_SET_MAXLEN(&ifp->if_snd, BFE_TX_QLEN); - ifp->if_snd.ifq_drv_maxlen = BFE_TX_QLEN; - IFQ_SET_READY(&ifp->if_snd); + if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); + if_setioctlfn(ifp, bfe_ioctl); + if_setstartfn(ifp, bfe_start); + if_setinitfn(ifp, bfe_init); + if_setsendqlen(ifp, BFE_TX_QLEN); + if_setsendqready(ifp); bfe_get_config(sc); @@ -515,9 +514,9 @@ bfe_attach(device_t dev) /* * Tell the upper layer(s) we support long frames. */ - ifp->if_hdrlen = sizeof(struct ether_vlan_header); - ifp->if_capabilities |= IFCAP_VLAN_MTU; - ifp->if_capenable |= IFCAP_VLAN_MTU; + if_setifheaderlen(ifp, sizeof(struct ether_vlan_header)); + if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapenablebit(ifp, IFCAP_VLAN_MTU, 0); /* * Hook interrupt last to avoid having to lock softc @@ -539,7 +538,7 @@ static int bfe_detach(device_t dev) { struct bfe_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); @@ -605,16 +604,16 @@ static int bfe_resume(device_t dev) { struct bfe_softc *sc; - struct ifnet *ifp; + if_t ifp; sc = device_get_softc(dev); ifp = sc->bfe_ifp; BFE_LOCK(sc); bfe_chip_reset(sc); - if (ifp->if_flags & IFF_UP) { + if (if_getflags(ifp) & IFF_UP) { bfe_init_locked(sc); - 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)) bfe_start_locked(ifp); } BFE_UNLOCK(sc); @@ -1091,27 +1090,27 @@ bfe_write_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) static void bfe_set_rx_mode(struct bfe_softc *sc) { - struct ifnet *ifp = sc->bfe_ifp; + if_t ifp = sc->bfe_ifp; u_int32_t val; BFE_LOCK_ASSERT(sc); val = CSR_READ_4(sc, BFE_RXCONF); - if (ifp->if_flags & IFF_PROMISC) + if (if_getflags(ifp) & IFF_PROMISC) val |= BFE_RXCONF_PROMISC; else val &= ~BFE_RXCONF_PROMISC; - if (ifp->if_flags & IFF_BROADCAST) + if (if_getflags(ifp) & IFF_BROADCAST) val &= ~BFE_RXCONF_DBCAST; else val |= BFE_RXCONF_DBCAST; CSR_WRITE_4(sc, BFE_CAM_CTRL, 0); - bfe_cam_write(sc, IF_LLADDR(sc->bfe_ifp), 0); + bfe_cam_write(sc, if_getlladdr(sc->bfe_ifp), 0); - if (ifp->if_flags & IFF_ALLMULTI) + if (if_getflags(ifp) & IFF_ALLMULTI) val |= BFE_RXCONF_ALLMULTI; else { val &= ~BFE_RXCONF_ALLMULTI; @@ -1248,7 +1247,7 @@ static void bfe_stats_update(struct bfe_softc *sc) { struct bfe_hw_stats *stats; - struct ifnet *ifp; + if_t ifp; uint32_t mib[BFE_MIB_CNT]; uint32_t reg, *val; @@ -1336,7 +1335,7 @@ static void bfe_txeof(struct bfe_softc *sc) { struct bfe_tx_data *r; - struct ifnet *ifp; + if_t ifp; int i, chipidx; BFE_LOCK_ASSERT(sc); @@ -1368,7 +1367,7 @@ bfe_txeof(struct bfe_softc *sc) if (i != sc->bfe_tx_cons) { /* we freed up some mbufs */ sc->bfe_tx_cons = i; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); } if (sc->bfe_tx_cnt == 0) @@ -1380,7 +1379,7 @@ static void bfe_rxeof(struct bfe_softc *sc) { struct mbuf *m; - struct ifnet *ifp; + if_t ifp; struct bfe_rxheader *rxheader; struct bfe_rx_data *r; int cons, prog; @@ -1430,7 +1429,7 @@ bfe_rxeof(struct bfe_softc *sc) m->m_pkthdr.rcvif = ifp; BFE_UNLOCK(sc); - (*ifp->if_input)(ifp, m); + if_input(ifp, m); BFE_LOCK(sc); } @@ -1445,7 +1444,7 @@ static void bfe_intr(void *xsc) { struct bfe_softc *sc = xsc; - struct ifnet *ifp; + if_t ifp; u_int32_t istat; ifp = sc->bfe_ifp; @@ -1464,7 +1463,7 @@ bfe_intr(void *xsc) CSR_READ_4(sc, BFE_ISTAT); /* not expecting this interrupt, disregard it */ - if (istat == 0 || (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if (istat == 0 || (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) { BFE_UNLOCK(sc); return; } @@ -1492,12 +1491,12 @@ bfe_intr(void *xsc) BFE_UNLOCK(sc); return; } - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); bfe_init_locked(sc); } /* We have packets pending, fire them out */ - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) bfe_start_locked(ifp); BFE_UNLOCK(sc); @@ -1594,24 +1593,24 @@ bfe_encap(struct bfe_softc *sc, struct mbuf **m_head) * Set up to transmit a packet. */ static void -bfe_start(struct ifnet *ifp) +bfe_start(if_t ifp) { - BFE_LOCK((struct bfe_softc *)ifp->if_softc); + BFE_LOCK((struct bfe_softc *)if_getsoftc(ifp)); bfe_start_locked(ifp); - BFE_UNLOCK((struct bfe_softc *)ifp->if_softc); + BFE_UNLOCK((struct bfe_softc *)if_getsoftc(ifp)); } /* * Set up to transmit a packet. The softc is already locked. */ static void -bfe_start_locked(struct ifnet *ifp) +bfe_start_locked(if_t ifp) { struct bfe_softc *sc; struct mbuf *m_head; int queued; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); BFE_LOCK_ASSERT(sc); @@ -1619,13 +1618,13 @@ bfe_start_locked(struct ifnet *ifp) * Not much point trying to send if the link is down * or we have nothing to send. */ - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != + if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING || (sc->bfe_flags & BFE_FLAG_LINK) == 0) return; - for (queued = 0; !IFQ_DRV_IS_EMPTY(&ifp->if_snd) && + for (queued = 0; !if_sendq_empty(ifp) && sc->bfe_tx_cnt < BFE_TX_LIST_CNT - 1;) { - IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head); + m_head = if_dequeue(ifp); if (m_head == NULL) break; @@ -1636,8 +1635,8 @@ bfe_start_locked(struct ifnet *ifp) if (bfe_encap(sc, &m_head)) { if (m_head == NULL) break; - IFQ_DRV_PREPEND(&ifp->if_snd, m_head); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; + if_sendq_prepend(ifp, m_head); + if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); break; } @@ -1689,14 +1688,14 @@ static void bfe_init_locked(void *xsc) { struct bfe_softc *sc = (struct bfe_softc*)xsc; - struct ifnet *ifp = sc->bfe_ifp; + if_t ifp = sc->bfe_ifp; struct mii_data *mii; BFE_LOCK_ASSERT(sc); mii = device_get_softc(sc->bfe_miibus); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) return; bfe_stop(sc); @@ -1721,8 +1720,8 @@ bfe_init_locked(void *xsc) sc->bfe_flags &= ~BFE_FLAG_LINK; mii_mediachg(mii); - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); + if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); callout_reset(&sc->bfe_stat_co, hz, bfe_tick, sc); } @@ -1731,14 +1730,14 @@ bfe_init_locked(void *xsc) * Set media options. */ static int -bfe_ifmedia_upd(struct ifnet *ifp) +bfe_ifmedia_upd(if_t ifp) { struct bfe_softc *sc; struct mii_data *mii; struct mii_softc *miisc; int error; - sc = ifp->if_softc; + sc = if_getsoftc(ifp); BFE_LOCK(sc); mii = device_get_softc(sc->bfe_miibus); @@ -1754,9 +1753,9 @@ bfe_ifmedia_upd(struct ifnet *ifp) * Report current media status. */ static void -bfe_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +bfe_ifmedia_sts(if_t ifp, struct ifmediareq *ifmr) { - struct bfe_softc *sc = ifp->if_softc; + struct bfe_softc *sc = if_getsoftc(ifp); struct mii_data *mii; BFE_LOCK(sc); @@ -1768,9 +1767,9 @@ bfe_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) } static int -bfe_ioctl(struct ifnet *ifp, u_long command, caddr_t data) +bfe_ioctl(if_t ifp, u_long command, caddr_t data) { - struct bfe_softc *sc = ifp->if_softc; + struct bfe_softc *sc = if_getsoftc(ifp); struct ifreq *ifr = (struct ifreq *) data; struct mii_data *mii; int error = 0; @@ -1778,19 +1777,19 @@ bfe_ioctl(struct ifnet *ifp, u_long command, caddr_t data) switch (command) { case SIOCSIFFLAGS: BFE_LOCK(sc); - if (ifp->if_flags & IFF_UP) { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getflags(ifp) & IFF_UP) { + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) bfe_set_rx_mode(sc); else if ((sc->bfe_flags & BFE_FLAG_DETACH) == 0) bfe_init_locked(sc); - } else if (ifp->if_drv_flags & IFF_DRV_RUNNING) + } else if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) bfe_stop(sc); BFE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: BFE_LOCK(sc); - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) bfe_set_rx_mode(sc); BFE_UNLOCK(sc); break; @@ -1810,7 +1809,7 @@ bfe_ioctl(struct ifnet *ifp, u_long command, caddr_t data) static void bfe_watchdog(struct bfe_softc *sc) { - struct ifnet *ifp; + if_t ifp; BFE_LOCK_ASSERT(sc); @@ -1822,10 +1821,10 @@ bfe_watchdog(struct bfe_softc *sc) device_printf(sc->bfe_dev, "watchdog timeout -- resetting\n"); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); bfe_init_locked(sc); - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + if (!if_sendq_empty(ifp)) bfe_start_locked(ifp); } @@ -1851,12 +1850,12 @@ bfe_tick(void *xsc) static void bfe_stop(struct bfe_softc *sc) { - struct ifnet *ifp; + if_t ifp; BFE_LOCK_ASSERT(sc); ifp = sc->bfe_ifp; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); sc->bfe_flags &= ~BFE_FLAG_LINK; callout_stop(&sc->bfe_stat_co); sc->bfe_watchdog_timer = 0; diff --git a/sys/dev/bfe/if_bfereg.h b/sys/dev/bfe/if_bfereg.h index 8638f78cf562..2d0333cef1cd 100644 --- a/sys/dev/bfe/if_bfereg.h +++ b/sys/dev/bfe/if_bfereg.h @@ -583,7 +583,7 @@ struct bfe_hw_stats { struct bfe_softc { - struct ifnet *bfe_ifp; /* interface info */ + if_t bfe_ifp; /* interface info */ device_t bfe_dev; device_t bfe_miibus; bus_dma_tag_t bfe_tag;