Mechanically convert if_xae to IfAPI

Reviewed by:	zlei
Sponsored by:	Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D37797
This commit is contained in:
Justin Hibbits 2022-03-01 11:00:21 -06:00
parent b4ad37f693
commit dba12f7560
2 changed files with 47 additions and 48 deletions

View File

@ -177,7 +177,7 @@ xae_xdma_tx_intr(void *arg, xdma_transfer_status_t *status)
{
xdma_transfer_status_t st;
struct xae_softc *sc;
struct ifnet *ifp;
if_t ifp;
struct mbuf *m;
int err;
@ -200,7 +200,7 @@ xae_xdma_tx_intr(void *arg, xdma_transfer_status_t *status)
m_freem(m);
}
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE);
XAE_UNLOCK(sc);
@ -212,7 +212,7 @@ xae_xdma_rx_intr(void *arg, xdma_transfer_status_t *status)
{
xdma_transfer_status_t st;
struct xae_softc *sc;
struct ifnet *ifp;
if_t ifp;
struct mbuf *m;
int err;
uint32_t cnt_processed;
@ -242,7 +242,7 @@ xae_xdma_rx_intr(void *arg, xdma_transfer_status_t *status)
m->m_pkthdr.len = m->m_len = st.transferred;
m->m_pkthdr.rcvif = ifp;
XAE_UNLOCK(sc);
(*ifp->if_input)(ifp, m);
if_input(ifp, m);
XAE_LOCK(sc);
}
@ -254,12 +254,12 @@ xae_xdma_rx_intr(void *arg, xdma_transfer_status_t *status)
}
static void
xae_qflush(struct ifnet *ifp)
xae_qflush(if_t ifp)
{
}
static int
xae_transmit_locked(struct ifnet *ifp)
xae_transmit_locked(if_t ifp)
{
struct xae_softc *sc;
struct mbuf *m;
@ -269,7 +269,7 @@ xae_transmit_locked(struct ifnet *ifp)
dprintf("%s\n", __func__);
sc = ifp->if_softc;
sc = if_getsoftc(ifp);
br = sc->br;
enq = 0;
@ -298,14 +298,14 @@ xae_transmit_locked(struct ifnet *ifp)
}
static int
xae_transmit(struct ifnet *ifp, struct mbuf *m)
xae_transmit(if_t ifp, struct mbuf *m)
{
struct xae_softc *sc;
int error;
dprintf("%s\n", __func__);
sc = ifp->if_softc;
sc = if_getsoftc(ifp);
XAE_LOCK(sc);
@ -315,7 +315,7 @@ xae_transmit(struct ifnet *ifp, struct mbuf *m)
return (error);
}
if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
IFF_DRV_RUNNING) {
XAE_UNLOCK(sc);
return (0);
@ -336,13 +336,13 @@ xae_transmit(struct ifnet *ifp, struct mbuf *m)
static void
xae_stop_locked(struct xae_softc *sc)
{
struct ifnet *ifp;
if_t ifp;
uint32_t reg;
XAE_ASSERT_LOCKED(sc);
ifp = sc->ifp;
ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE));
callout_stop(&sc->xae_callout);
@ -381,7 +381,7 @@ xae_stat(struct xae_softc *sc, int counter_id)
static void
xae_harvest_stats(struct xae_softc *sc)
{
struct ifnet *ifp;
if_t ifp;
ifp = sc->ifp;
@ -409,7 +409,7 @@ static void
xae_tick(void *arg)
{
struct xae_softc *sc;
struct ifnet *ifp;
if_t ifp;
int link_was_up;
sc = arg;
@ -418,7 +418,7 @@ xae_tick(void *arg)
ifp = sc->ifp;
if (!(ifp->if_drv_flags & IFF_DRV_RUNNING))
if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING))
return;
/* Gather stats from hardware counters. */
@ -437,15 +437,15 @@ xae_tick(void *arg)
static void
xae_init_locked(struct xae_softc *sc)
{
struct ifnet *ifp;
if_t ifp;
XAE_ASSERT_LOCKED(sc);
ifp = sc->ifp;
if (ifp->if_drv_flags & IFF_DRV_RUNNING)
if (if_getdrvflags(ifp) & IFF_DRV_RUNNING)
return;
ifp->if_drv_flags |= IFF_DRV_RUNNING;
if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0);
xae_setup_rxfilter(sc);
@ -476,12 +476,12 @@ xae_init(void *arg)
}
static void
xae_media_status(struct ifnet * ifp, struct ifmediareq *ifmr)
xae_media_status(if_t ifp, struct ifmediareq *ifmr)
{
struct xae_softc *sc;
struct mii_data *mii;
sc = ifp->if_softc;
sc = if_getsoftc(ifp);
mii = sc->mii_softc;
XAE_LOCK(sc);
@ -499,12 +499,12 @@ xae_media_change_locked(struct xae_softc *sc)
}
static int
xae_media_change(struct ifnet * ifp)
xae_media_change(if_t ifp)
{
struct xae_softc *sc;
int error;
sc = ifp->if_softc;
sc = if_getsoftc(ifp);
XAE_LOCK(sc);
error = xae_media_change_locked(sc);
@ -545,7 +545,7 @@ xae_write_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt)
static void
xae_setup_rxfilter(struct xae_softc *sc)
{
struct ifnet *ifp;
if_t ifp;
uint32_t reg;
XAE_ASSERT_LOCKED(sc);
@ -555,7 +555,7 @@ xae_setup_rxfilter(struct xae_softc *sc)
/*
* Set the multicast (group) filter hash.
*/
if ((ifp->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) != 0) {
if ((if_getflags(ifp) & (IFF_ALLMULTI | IFF_PROMISC)) != 0) {
reg = READ4(sc, XAE_FFC);
reg |= FFC_PM;
WRITE4(sc, XAE_FFC, reg);
@ -582,23 +582,23 @@ xae_setup_rxfilter(struct xae_softc *sc)
}
static int
xae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
xae_ioctl(if_t ifp, u_long cmd, caddr_t data)
{
struct xae_softc *sc;
struct mii_data *mii;
struct ifreq *ifr;
int mask, error;
sc = ifp->if_softc;
sc = if_getsoftc(ifp);
ifr = (struct ifreq *)data;
error = 0;
switch (cmd) {
case SIOCSIFFLAGS:
XAE_LOCK(sc);
if (ifp->if_flags & IFF_UP) {
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
if ((ifp->if_flags ^ sc->if_flags) &
if (if_getflags(ifp) & IFF_UP) {
if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) {
if ((if_getflags(ifp) ^ sc->if_flags) &
(IFF_PROMISC | IFF_ALLMULTI))
xae_setup_rxfilter(sc);
} else {
@ -606,15 +606,15 @@ xae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
xae_init_locked(sc);
}
} else {
if (ifp->if_drv_flags & IFF_DRV_RUNNING)
if (if_getdrvflags(ifp) & IFF_DRV_RUNNING)
xae_stop_locked(sc);
}
sc->if_flags = ifp->if_flags;
sc->if_flags = if_getflags(ifp);
XAE_UNLOCK(sc);
break;
case SIOCADDMULTI:
case SIOCDELMULTI:
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) {
XAE_LOCK(sc);
xae_setup_rxfilter(sc);
XAE_UNLOCK(sc);
@ -626,10 +626,10 @@ xae_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, cmd);
break;
case SIOCSIFCAP:
mask = ifp->if_capenable ^ ifr->ifr_reqcap;
mask = if_getcapenable(ifp) ^ ifr->ifr_reqcap;
if (mask & IFCAP_VLAN_MTU) {
/* No work to do except acknowledge the change took */
ifp->if_capenable ^= IFCAP_VLAN_MTU;
if_togglecapenable(ifp, IFCAP_VLAN_MTU);
}
break;
@ -934,7 +934,7 @@ static int
xae_attach(device_t dev)
{
struct xae_softc *sc;
struct ifnet *ifp;
if_t ifp;
phandle_t node;
uint32_t reg;
int error;
@ -998,18 +998,17 @@ xae_attach(device_t dev)
return (ENXIO);
}
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_capabilities = IFCAP_VLAN_MTU;
ifp->if_capenable = ifp->if_capabilities;
ifp->if_transmit = xae_transmit;
ifp->if_qflush = xae_qflush;
ifp->if_ioctl = xae_ioctl;
ifp->if_init = xae_init;
IFQ_SET_MAXLEN(&ifp->if_snd, TX_DESC_COUNT - 1);
ifp->if_snd.ifq_drv_maxlen = TX_DESC_COUNT - 1;
IFQ_SET_READY(&ifp->if_snd);
if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST);
if_setcapabilities(ifp, IFCAP_VLAN_MTU);
if_setcapenable(ifp, if_getcapabilities(ifp));
if_settransmitfn(ifp, xae_transmit);
if_setqflushfn(ifp, xae_qflush);
if_setioctlfn(ifp, xae_ioctl);
if_setinitfn(ifp, xae_init);
if_setsendqlen(ifp, TX_DESC_COUNT - 1);
if_setsendqready(ifp);
if (xae_get_phyaddr(node, &sc->phy_addr) != 0)
return (ENXIO);
@ -1043,7 +1042,7 @@ static int
xae_detach(device_t dev)
{
struct xae_softc *sc;
struct ifnet *ifp;
if_t ifp;
sc = device_get_softc(dev);

View File

@ -51,7 +51,7 @@ struct xae_softc {
uint8_t macaddr[ETHER_ADDR_LEN];
device_t miibus;
struct mii_data * mii_softc;
struct ifnet *ifp;
if_t ifp;
int if_flags;
struct mtx mtx;
void * intr_cookie;