summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/dwc_otgreg.h
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2012-09-23 12:19:19 +0000
committerhselasky <hselasky@FreeBSD.org>2012-09-23 12:19:19 +0000
commit736a97fe79f0878cbf1ec515a168baead8132f96 (patch)
treef83539b3162927d4da36618d8ce6258c09a9431c /sys/dev/usb/controller/dwc_otgreg.h
parent4cf420943407d438920a4baa2d49de5f064a0111 (diff)
downloadFreeBSD-src-736a97fe79f0878cbf1ec515a168baead8132f96.zip
FreeBSD-src-736a97fe79f0878cbf1ec515a168baead8132f96.tar.gz
DWC OTG host mode improvements. Add support for the 3-strikes and you are
gone rule. Optimise use of channels so that when a channel is not ready another channel is used. Instead of using the SOF interrupt use the system timer to drive the host statemachine. This might give lower throughput and higher latency, but reduces the CPU usage significantly. The DWC OTG host mode support should not be considered for serious USB host controller applications. Some problems are still seen with LOW speed USB devices.
Diffstat (limited to 'sys/dev/usb/controller/dwc_otgreg.h')
-rw-r--r--sys/dev/usb/controller/dwc_otgreg.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/usb/controller/dwc_otgreg.h b/sys/dev/usb/controller/dwc_otgreg.h
index 7aada41..ddc6fbe 100644
--- a/sys/dev/usb/controller/dwc_otgreg.h
+++ b/sys/dev/usb/controller/dwc_otgreg.h
@@ -541,7 +541,12 @@
#define HCSPLT_PRTADDR_SHIFT 0
#define HCSPLT_PRTADDR_MASK 0x0000007f
-#define HCINT_SUSPEND_ONLY (1<<21) /* BSD only */
+#define HCINT_ERRORS \
+ (HCINT_BBLERR | HCINT_XACTERR)
+#define HCINT_RETRY \
+ (HCINT_DATATGLERR | HCINT_FRMOVRUN | HCINT_NAK)
+
+#define HCINT_HALTED_ONLY (1<<21) /* BSD only */
#define HCINT_SOFTWARE_ONLY (1<<20) /* BSD only */
#define HCINT_DATATGLERR (1<<10)
#define HCINT_FRMOVRUN (1<<9)
OpenPOWER on IntegriCloud