summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/dwc_otg.h
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-05-18 09:13:29 +0000
committerhselasky <hselasky@FreeBSD.org>2014-05-18 09:13:29 +0000
commitbdd212c55811870f58b5175176b7ad4701d23880 (patch)
treeb573eb1929865dc5f5eaf46c8edea29095bf4d01 /sys/dev/usb/controller/dwc_otg.h
parent367f2b714276685a569d4eceea902581425b81b0 (diff)
downloadFreeBSD-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.h6
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 *);
OpenPOWER on IntegriCloud