Message ID | 20240604060659.1449278-2-quic_kriskura@quicinc.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | Disable SS instances in park mode for SC7180/ SC7280 | expand |
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? > > Reported-by: Doug Anderson <dianders@google.com> > Cc: <stable@vger.kernel.org> > Fixes: 0b766e7fe5a2 ("arm64: dts: qcom: sc7180: Add USB related nodes") > Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com> > --- > 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 >
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@google.com> >> Cc: <stable@vger.kernel.org> >> Fixes: 0b766e7fe5a2 ("arm64: dts: qcom: sc7180: Add USB related nodes") >> Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com> >> --- >> 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 >> >
On Tue, Jun 04, 2024 at 01:34:44PM +0530, Krishna Kurapati PSSNV wrote: > > > 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." Thank you! > > 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. Should these quirks be enabled for other Qualcomm platforms? If so, which platforms should get it? > I can update thread with more info once we get some data from Synopsys. > > Regards, > Krishna, > > > > > > > Reported-by: Doug Anderson <dianders@google.com> > > > Cc: <stable@vger.kernel.org> > > > Fixes: 0b766e7fe5a2 ("arm64: dts: qcom: sc7180: Add USB related nodes") > > > Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com> > > > --- > > > 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 > > > > >
On 6/4/2024 3:16 PM, Dmitry Baryshkov wrote: > On Tue, Jun 04, 2024 at 01:34:44PM +0530, Krishna Kurapati PSSNV wrote: >> >> >> 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." > > Thank you! > >> >> 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. > > Should these quirks be enabled for other Qualcomm platforms? If so, > which platforms should get it? In downstream we enable this for Gen-1 platforms. On v1 discussion thread, I agreed to send another series for other platforms. I could've included it for others as well in this v2, but there are around 30 QC SoCs (or more) on upstream and many are very old. I need to go through all of them and figure out which ones are Gen-1. To not delay this for SC7280 and SC7180 (as chrome platforms need it right away), I sent v2 only for these two targets. Regards, Krishna, > >> I can update thread with more info once we get some data from Synopsys. >> >> Regards, >> Krishna, >> >>>> >>>> Reported-by: Doug Anderson <dianders@google.com> >>>> Cc: <stable@vger.kernel.org> >>>> Fixes: 0b766e7fe5a2 ("arm64: dts: qcom: sc7180: Add USB related nodes") >>>> Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com> >>>> --- >>>> 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 >>>> >>> >
On Tue, 4 Jun 2024 at 12:58, Krishna Kurapati PSSNV <quic_kriskura@quicinc.com> wrote: > > > > On 6/4/2024 3:16 PM, Dmitry Baryshkov wrote: > > On Tue, Jun 04, 2024 at 01:34:44PM +0530, Krishna Kurapati PSSNV wrote: > >> > >> > >> 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." > > > > Thank you! > > > >> > >> 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. > > > > Should these quirks be enabled for other Qualcomm platforms? If so, > > which platforms should get it? > > In downstream we enable this for Gen-1 platforms. On v1 discussion > thread, I agreed to send another series for other platforms. > > I could've included it for others as well in this v2, but there are > around 30 QC SoCs (or more) on upstream and many are very old. I need to > go through all of them and figure out which ones are Gen-1. To not delay > this for SC7280 and SC7180 (as chrome platforms need it right away), I > sent v2 only for these two targets. Ack, this is fine from my point of view. Thank you! > > Regards, > Krishna, > > > > >> I can update thread with more info once we get some data from Synopsys.
Hi, On Mon, Jun 3, 2024 at 11:07 PM Krishna Kurapati <quic_kriskura@quicinc.com> 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. > > Reported-by: Doug Anderson <dianders@google.com> > Cc: <stable@vger.kernel.org> > Fixes: 0b766e7fe5a2 ("arm64: dts: qcom: sc7180: Add USB related nodes") > Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com> > --- > Removed RB/TB tag from Doug as commit text was updated. It was a minor change so you could have kept my tags (especially the Tested-by, which isn't affected by the commit text), but in any case: Reviewed-by: Douglas Anderson <dianders@chromium.org> Tested-by: Douglas Anderson <dianders@chromium.org>
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";
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. Reported-by: Doug Anderson <dianders@google.com> Cc: <stable@vger.kernel.org> Fixes: 0b766e7fe5a2 ("arm64: dts: qcom: sc7180: Add USB related nodes") Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com> --- Removed RB/TB tag from Doug as commit text was updated. arch/arm64/boot/dts/qcom/sc7180.dtsi | 1 + 1 file changed, 1 insertion(+)