Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8799bc1e authored by Ajay Agarwal's avatar Ajay Agarwal Committed by Manu Gautam
Browse files

usb: dwc3: Disable parkmode for Gen1 controllers



Disable parkmode for Gen1 controllers to fix the data stall issue
in host mode.

Change-Id: I28694a533543b14f752e195b722aafcb83cc4f1d
Signed-off-by: default avatarAjay Agarwal <ajaya@codeaurora.org>
Signed-off-by: default avatarManu Gautam <mgautam@codeaurora.org>
parent 51d808aa
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1002,6 +1002,17 @@ int dwc3_core_init(struct dwc3 *dwc)
		if (dwc->dis_tx_ipgap_linecheck_quirk)
			reg |= DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS;

		/*
		 * STAR: 9001415732: Host failure when Park mode is enabled:
		 * Disable parkmode for Gen1 controllers to fix the stall
		 * seen during host mode transfers on multiple endpoints.
		 */
		if (!dwc3_is_usb31(dwc)) {
			reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS;
			reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
			reg |= DWC3_GUCTL1_PARKMODE_DISABLE_FSLS;
		}

		dwc3_writel(dwc->regs, DWC3_GUCTL1, reg);
	}

+5 −0
Original line number Diff line number Diff line
@@ -266,6 +266,11 @@
#define DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS	BIT(28)
#define DWC3_GUCTL1_DEV_L1_EXIT_BY_HW	BIT(24)
#define DWC3_GUCTL1_IP_GAP_ADD_ON(n)	(n << 21)

#define DWC3_GUCTL1_PARKMODE_DISABLE_SS		BIT(17)
#define DWC3_GUCTL1_PARKMODE_DISABLE_HS		BIT(16)
#define DWC3_GUCTL1_PARKMODE_DISABLE_FSLS	BIT(15)

#define DWC3_GUCTL1_L1_SUSP_THRLD_EN_FOR_HOST	BIT(8)

/* Global Status Register */