diff options
author | hselasky <hselasky@FreeBSD.org> | 2014-05-18 09:13:29 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2014-05-18 09:13:29 +0000 |
commit | bdd212c55811870f58b5175176b7ad4701d23880 (patch) | |
tree | b573eb1929865dc5f5eaf46c8edea29095bf4d01 /sys/dev/usb/controller/dwc_otg.h | |
parent | 367f2b714276685a569d4eceea902581425b81b0 (diff) | |
download | FreeBSD-src-bdd212c55811870f58b5175176b7ad4701d23880.zip FreeBSD-src-bdd212c55811870f58b5175176b7ad4701d23880.tar.gz |
- Add softc pointer argument to FIFO functions as an optimisation.
- Implement support for interrupt filters in the DWC OTG driver, to
reduce the amount of CPU task switching when only feeding the FIFOs.
- Add common spinlock to the USB bus structure.
MFC after: 2 weeks
Diffstat (limited to 'sys/dev/usb/controller/dwc_otg.h')
-rw-r--r-- | sys/dev/usb/controller/dwc_otg.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/usb/controller/dwc_otg.h b/sys/dev/usb/controller/dwc_otg.h index 7c46b75..6b6976f 100644 --- a/sys/dev/usb/controller/dwc_otg.h +++ b/sys/dev/usb/controller/dwc_otg.h @@ -48,7 +48,7 @@ struct dwc_otg_td; struct dwc_otg_softc; -typedef uint8_t (dwc_otg_cmd_t)(struct dwc_otg_td *td); +typedef uint8_t (dwc_otg_cmd_t)(struct dwc_otg_softc *sc, struct dwc_otg_td *td); struct dwc_otg_td { struct dwc_otg_td *obj_next; @@ -184,6 +184,7 @@ struct dwc_otg_softc { struct dwc_otg_chan_state sc_chan_state[DWC_OTG_MAX_CHANNELS]; uint32_t sc_tmr_val; uint32_t sc_hprt_val; + uint32_t sc_xfer_complete; uint16_t sc_active_rx_ep; uint16_t sc_last_frame_num; @@ -207,7 +208,8 @@ struct dwc_otg_softc { /* prototypes */ -void dwc_otg_interrupt(struct dwc_otg_softc *); +driver_filter_t dwc_otg_filter_interrupt; +driver_intr_t dwc_otg_interrupt; int dwc_otg_init(struct dwc_otg_softc *); void dwc_otg_uninit(struct dwc_otg_softc *); |