Commit cec0a5ec authored by Bjoern A. Zeeb's avatar Bjoern A. Zeeb
Browse files

dwc3: uncondinationally enable Host IN Auto Retry

Enable dwc3's auto retry feature. For IN transfers with crc errors
or internal overruns this will make the host reply with a
non-terminating retry ACK.  I believe the hope was to improve
reliability after seeing occasional hiccups.

Obtained from:	an old debugging patch
MFC after:	2 weeks
Reviewed by:	mw
Differential Revision: https://reviews.freebsd.org/D35698
parent 0084212b
......@@ -209,6 +209,15 @@ snps_dwc3_configure_host(struct snps_dwc3_softc *sc)
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
......
......@@ -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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment