Re: [PATCH v2 1/2] arm64: dts: qcom: sc7180: Disable SuperSpeed instances in park mode

From: Krishna Kurapati PSSNV
Date: Tue Jun 04 2024 - 04:05:17 EST




On 6/4/2024 1:16 PM, Dmitry Baryshkov wrote:
On Tue, Jun 04, 2024 at 11:36:58AM +0530, Krishna Kurapati wrote:
On SC7180, in host mode, it is observed that stressing out controller
results in HC died error:

xhci-hcd.12.auto: xHCI host not responding to stop endpoint command
xhci-hcd.12.auto: xHCI host controller not responding, assume dead
xhci-hcd.12.auto: HC died; cleaning up

And at this instant only restarting the host mode fixes it. Disable
SuperSpeed instances in park mode for SC7180 to mitigate this issue.

Let me please repeat the question from v1:

Just out of curiosity, what is the park mode?


Sorry, Missed the mail in v1.

Databook doesn't give much info on this bit (SS case, commit 7ba6b09fda5e0) but it does in HS case (commit d21a797a3eeb2).

From the mail we received from Synopsys, they described it as follows:

"Park mode feature allows better throughput on the USB in cases where a single EP is active. It increases the degree of pipelining within the controller as long as a single EP is active."

Even in the current debug for this test case, Synopsys suggested us to set this bit to avoid the controller being dead and we are waiting for further answers from them.

I can update thread with more info once we get some data from Synopsys.

Regards,
Krishna,


Reported-by: Doug Anderson <dianders@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Fixes: 0b766e7fe5a2 ("arm64: dts: qcom: sc7180: Add USB related nodes")
Signed-off-by: Krishna Kurapati <quic_kriskura@xxxxxxxxxxx>
---
Removed RB/TB tag from Doug as commit text was updated.

arch/arm64/boot/dts/qcom/sc7180.dtsi | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 2b481e20ae38..cc93b5675d5d 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -3063,6 +3063,7 @@ usb_1_dwc3: usb@a600000 {
iommus = <&apps_smmu 0x540 0>;
snps,dis_u2_susphy_quirk;
snps,dis_enblslpm_quirk;
+ snps,parkmode-disable-ss-quirk;
phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
phy-names = "usb2-phy", "usb3-phy";
maximum-speed = "super-speed";
--
2.34.1