diff options
author | hselasky <hselasky@FreeBSD.org> | 2012-11-09 16:28:58 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2012-11-09 16:28:58 +0000 |
commit | 6bb0563ddc5399b84698522a5b9d850038a38f31 (patch) | |
tree | b7e9ff31da54035528790fb1c17faed7fab2f980 /sys/dev/usb/controller/dwc_otg.h | |
parent | 3c8fa044cf34a658663e823843f0141de113049b (diff) | |
download | FreeBSD-src-6bb0563ddc5399b84698522a5b9d850038a38f31.zip FreeBSD-src-6bb0563ddc5399b84698522a5b9d850038a38f31.tar.gz |
Fix LOW and FULL speed USB INTERRUPT endpoint support for the
DWC OTG driver. Fix a hang issue when using LOW and FULL speed
BULK traffic. Make sure we don't ask for data in the last
microframe. This allows using devices like USB mice and USB
keyboards connected to the RPI-B.
Suggested by: gonzo @
Diffstat (limited to 'sys/dev/usb/controller/dwc_otg.h')
-rw-r--r-- | sys/dev/usb/controller/dwc_otg.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/usb/controller/dwc_otg.h b/sys/dev/usb/controller/dwc_otg.h index 1ff2583..a301698 100644 --- a/sys/dev/usb/controller/dwc_otg.h +++ b/sys/dev/usb/controller/dwc_otg.h @@ -60,6 +60,7 @@ struct dwc_otg_td { uint8_t errcnt; uint8_t tmr_res; uint8_t tmr_val; + uint8_t curr_frame; uint8_t ep_no; uint8_t channel; uint8_t state; @@ -69,8 +70,10 @@ struct dwc_otg_td { #define DWC_CHAN_ST_WAIT_C_ANE 3 #define DWC_CHAN_ST_RX_PKT 4 #define DWC_CHAN_ST_RX_SPKT 5 +#define DWC_CHAN_ST_RX_SPKT_SYNC 6 #define DWC_CHAN_ST_TX_PKT 4 #define DWC_CHAN_ST_TX_CPKT 5 +#define DWC_CHAN_ST_TX_PKT_SYNC 6 uint8_t error:1; uint8_t error_any:1; uint8_t error_stall:1; |