usb: xHCI host not responding to stop endpoint command [1/1]
authorhe.he <he.he@amlogic.com>
Thu, 29 Aug 2019 11:09:28 +0000 (07:09 -0400)
committerTao Zeng <tao.zeng@amlogic.com>
Mon, 23 Sep 2019 11:46:29 +0000 (04:46 -0700)
PD#SWPL-14053

Problem:
Read and write simultaneously on two disks on a hub,
and then the XHCI controller would halted.

Solution:
Set the GUCTL1 BIT 17 to 1 for disable park mode.

Verify:
test pass on u200, ODROID-N2

Change-Id: I007804fa6b97a103da4a05be12c1193b9dd422cb
Signed-off-by: he.he <he.he@amlogic.com>
drivers/usb/dwc3/core.c
drivers/usb/dwc3/core.h

index f641383..2dda47b 100644 (file)
@@ -778,6 +778,7 @@ static int dwc3_core_init(struct dwc3 *dwc)
 #ifdef CONFIG_AMLOGIC_USB
        reg = dwc3_readl(dwc->regs, DWC3_GUCTL1);
        reg |= DWC3_GUCTL_NAKPERENHHS;
+       reg |= DWC3_GUCTL_PARKMODEDISABLESS;
        dwc3_writel(dwc->regs, DWC3_GUCTL1, reg);
 
        reg = dwc3_readl(dwc->regs, DWC3_GUCTL);
index a231f4e..b7edb41 100644 (file)
 /* Global User Control Register */
 #define DWC3_GUCTL_USBHSTINAUTORETRYEN (1 << 14)
 #define DWC3_GUCTL_NAKPERENHHS                 (1 << 18)
+#define DWC3_GUCTL_PARKMODEDISABLESS    BIT(17)
 #endif
 
 /* Global Debug Queue/FIFO Space Available Register */