> Date: Tue, 15 Jan 2019 16:18:17 +0100 > From: Stefan Sperling <s...@stsp.name> > > There's a lot of magic numbers in otus(4). Here is one which was > easy to fix based on information from the Linux driver. OK?
ok kettenis@ > Index: if_otus.c > =================================================================== > RCS file: /cvs/src/sys/dev/usb/if_otus.c,v > retrieving revision 1.62 > diff -u -p -r1.62 if_otus.c > --- if_otus.c 12 Jan 2019 16:12:10 -0000 1.62 > +++ if_otus.c 15 Jan 2019 15:13:04 -0000 > @@ -2275,7 +2275,7 @@ otus_init(struct ifnet *ifp) > } > > /* Start Rx. */ > - otus_write(sc, 0x1c3d30, 0x100); > + otus_write(sc, AR_MAC_REG_DMA_TRIGGER, AR_DMA_TRIGGER_RXQ); > (void)otus_write_barrier(sc); > > ifp->if_flags |= IFF_RUNNING; > @@ -2311,7 +2311,7 @@ otus_stop(struct ifnet *ifp) > splx(s); > > /* Stop Rx. */ > - otus_write(sc, 0x1c3d30, 0); > + otus_write(sc, AR_MAC_REG_DMA_TRIGGER, 0); > (void)otus_write_barrier(sc); > > sc->tx_queued = 0; > Index: if_otusreg.h > =================================================================== > RCS file: /cvs/src/sys/dev/usb/if_otusreg.h,v > retrieving revision 1.10 > diff -u -p -r1.10 if_otusreg.h > --- if_otusreg.h 8 Apr 2017 02:57:25 -0000 1.10 > +++ if_otusreg.h 11 Jan 2019 23:37:39 -0000 > @@ -72,6 +72,15 @@ > #define AR_MAC_REG_OFDM_PHY_ERRORS (AR_MAC_REG_BASE + 0xcb4) > #define AR_MAC_REG_CCK_PHY_ERRORS (AR_MAC_REG_BASE + 0xcb8) > #define AR_MAC_REG_BCN_HT1 (AR_MAC_REG_BASE + 0xda0) > +#define AR_MAC_REG_DMA_TRIGGER (AR_MAC_REG_BASE + 0xd30) > + > +/* Possible values for register AR_MAC_REG_DMA_TRIGGER. */ > +#define AR_DMA_TRIGGER_TXQ0 0x001 > +#define AR_DMA_TRIGGER_TXQ1 0x002 > +#define AR_DMA_TRIGGER_TXQ2 0x004 > +#define AR_DMA_TRIGGER_TXQ3 0x008 > +#define AR_DMA_TRIGGER_TXQ4 0x010 > +#define AR_DMA_TRIGGER_RXQ 0x100 > > /* Possible values for register AR_USB_MODE_CTRL. */ > #define AR_USB_DS_ENA (1 << 0) > >