Page MenuHomeFreeBSD

D35698.diff
No OneTemporary

D35698.diff

diff --git a/sys/dev/usb/controller/dwc3.h b/sys/dev/usb/controller/dwc3.h
--- a/sys/dev/usb/controller/dwc3.h
+++ b/sys/dev/usb/controller/dwc3.h
@@ -54,6 +54,7 @@
#define DWC3_GGPIO 0xc124
#define DWC3_GUID 0xc128
#define DWC3_GUCTL 0xc12C
+#define DWC3_GUCTL_HOST_AUTO_RETRY (1 << 14)
#define DWC3_GBUSERRADDRLO 0xc130
#define DWC3_GBUSERRADDRHI 0xc134
#define DWC3_GPRTBIMAPLO 0xc138
diff --git a/sys/dev/usb/controller/dwc3.c b/sys/dev/usb/controller/dwc3.c
--- a/sys/dev/usb/controller/dwc3.c
+++ b/sys/dev/usb/controller/dwc3.c
@@ -209,6 +209,15 @@
reg &= ~DWC3_GCTL_PRTCAPDIR_MASK;
reg |= DWC3_GCTL_PRTCAPDIR_HOST;
DWC3_WRITE(sc, DWC3_GCTL, reg);
+
+ /*
+ * Enable the Host IN Auto Retry feature, making the
+ * host respond with a non-terminating retry ACK.
+ * XXX If we ever support more than host mode this needs a dr_mode check.
+ */
+ reg = DWC3_READ(sc, DWC3_GUCTL);
+ reg |= DWC3_GUCTL_HOST_AUTO_RETRY;
+ DWC3_WRITE(sc, DWC3_GUCTL, reg);
}
static void

File Metadata

Mime Type
text/plain
Expires
Sun, Jan 12, 3:42 PM (21 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15770739
Default Alt Text
D35698.diff (993 B)

Event Timeline