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)
committerzihuan.ling <zihuan.ling@amlogic.com>
Wed, 25 Sep 2019 08:56:52 +0000 (04:56 -0400)
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 3e7b6782c96494bbe921e382eb4cd8e995d85de8..f5c8c7f9c7953deceb4cb2b5727caaddae221d71 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 a231f4e3bd6568e77119a29d206a828ccb8c9add..b7edb41ca8b3107b257bf4ca5c3eab150e3a388c 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 */