* [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions
@ 2024-12-09 11:19 Johan Hovold
2024-12-09 11:19 ` [PATCH v2 1/2] Revert "arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports" Johan Hovold
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Johan Hovold @ 2024-12-09 11:19 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Jonathan Marek, Stephan Gerhold, Abel Vesa, linux-arm-msm,
devicetree, linux-kernel, regressions, Johan Hovold
A recent change enabling OTG mode on the Lenovo ThinkPad T14s USB-C
ports can break SuperSpeed device hotplugging.
Abel noticed that the corresponding commit for the CRD also triggers a
hard reset during resume from suspend.
With retimer (and orientation detection) support not even merged yet,
let's revert at least until we have stable host mode in mainline.
Note that Stephan and Dmitry have already identified other problems with
the offending commits here:
https://lore.kernel.org/all/ZxZO6Prrm2ITUZMQ@linaro.org/
https://lore.kernel.org/all/hw2pdof4ajadjsjrb44f2q4cz4yh5qcqz5d3l7gjt2koycqs3k@xx5xvd26uyef
Johan
Changes in v2
- revert also the corresponding patch for the CRD which breaks suspend
Johan Hovold (2):
Revert "arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports"
Revert "arm64: dts: qcom: x1e80100-crd: enable otg on usb ports"
.../boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts | 8 ++++++++
arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 12 ++++++++++++
2 files changed, 20 insertions(+)
--
2.45.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/2] Revert "arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports"
2024-12-09 11:19 [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions Johan Hovold
@ 2024-12-09 11:19 ` Johan Hovold
2024-12-09 11:19 ` [PATCH v2 2/2] Revert "arm64: dts: qcom: x1e80100-crd: enable otg on usb ports" Johan Hovold
2024-12-09 13:23 ` [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions Dmitry Baryshkov
2 siblings, 0 replies; 7+ messages in thread
From: Johan Hovold @ 2024-12-09 11:19 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Jonathan Marek, Stephan Gerhold, Abel Vesa, linux-arm-msm,
devicetree, linux-kernel, regressions, Johan Hovold
This reverts commit 1a48dd7b9ac809d1bd0fd2fef509abba83433846.
A recent change enabling OTG mode on the Lenovo ThinkPad T14s USB-C
ports can break SuperSpeed device hotplugging. The host controller is
enumerated, but the device is not:
xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 3
xhci-hcd xhci-hcd.5.auto: hcc params 0x0110ffc5 hci version 0x110 quirks 0x000080a000000810
xhci-hcd xhci-hcd.5.auto: irq 247, io mem 0x0a800000
xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 4
xhci-hcd xhci-hcd.5.auto: Host supports USB 3.1 Enhanced SuperSpeed
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 1 port detected
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 1 port detected
Once this happens on either of the two ports, no amount of disconnecting
and reconnecting makes the SuperSpeed device be enumerated, while
FullSpeed device enumeration still works.
With retimer (and orientation detection) support not even merged yet,
let's revert at least until we have stable host mode in mainline.
Fixes: 1a48dd7b9ac8 ("arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports")
Cc: Jonathan Marek <jonathan@marek.ca>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
.../arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
index 5a4a72a030d4..b4b6260c670c 100644
--- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
+++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
@@ -1515,6 +1515,10 @@ &usb_1_ss0 {
status = "okay";
};
+&usb_1_ss0_dwc3 {
+ dr_mode = "host";
+};
+
&usb_1_ss0_dwc3_hs {
remote-endpoint = <&pmic_glink_ss0_hs_in>;
};
@@ -1543,6 +1547,10 @@ &usb_1_ss1 {
status = "okay";
};
+&usb_1_ss1_dwc3 {
+ dr_mode = "host";
+};
+
&usb_1_ss1_dwc3_hs {
remote-endpoint = <&pmic_glink_ss1_hs_in>;
};
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] Revert "arm64: dts: qcom: x1e80100-crd: enable otg on usb ports"
2024-12-09 11:19 [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions Johan Hovold
2024-12-09 11:19 ` [PATCH v2 1/2] Revert "arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports" Johan Hovold
@ 2024-12-09 11:19 ` Johan Hovold
2024-12-09 13:23 ` [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions Dmitry Baryshkov
2 siblings, 0 replies; 7+ messages in thread
From: Johan Hovold @ 2024-12-09 11:19 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Jonathan Marek, Stephan Gerhold, Abel Vesa, linux-arm-msm,
devicetree, linux-kernel, regressions, Johan Hovold
This reverts commit 2dd3250191bcfe93b0c9da46624af830310400a7.
A recent change enabling OTG mode on the x1e81000 CRD breaks suspend.
Specifically, the device hard resets during resume if suspended with all
controllers in device mode (i.e. no USB device connected).
The corresponding change on the T14s also led to SuperSpeed hotplugs not
being detected.
With retimer (and orientation detection) support not even merged yet,
let's revert at least until we have stable host mode in mainline.
Fixes: 2dd3250191bc ("arm64: dts: qcom: x1e80100-crd: enable otg on usb ports")
Reported-by: Abel Vesa <abel.vesa@linaro.org>
Cc: Jonathan Marek <jonathan@marek.ca>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
index 199f6b42aa11..66360390ae7d 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
@@ -1840,6 +1840,10 @@ &usb_1_ss0 {
status = "okay";
};
+&usb_1_ss0_dwc3 {
+ dr_mode = "host";
+};
+
&usb_1_ss0_dwc3_hs {
remote-endpoint = <&pmic_glink_ss0_hs_in>;
};
@@ -1868,6 +1872,10 @@ &usb_1_ss1 {
status = "okay";
};
+&usb_1_ss1_dwc3 {
+ dr_mode = "host";
+};
+
&usb_1_ss1_dwc3_hs {
remote-endpoint = <&pmic_glink_ss1_hs_in>;
};
@@ -1896,6 +1904,10 @@ &usb_1_ss2 {
status = "okay";
};
+&usb_1_ss2_dwc3 {
+ dr_mode = "host";
+};
+
&usb_1_ss2_dwc3_hs {
remote-endpoint = <&pmic_glink_ss2_hs_in>;
};
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions
2024-12-09 11:19 [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions Johan Hovold
2024-12-09 11:19 ` [PATCH v2 1/2] Revert "arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports" Johan Hovold
2024-12-09 11:19 ` [PATCH v2 2/2] Revert "arm64: dts: qcom: x1e80100-crd: enable otg on usb ports" Johan Hovold
@ 2024-12-09 13:23 ` Dmitry Baryshkov
2024-12-09 15:30 ` Johan Hovold
2 siblings, 1 reply; 7+ messages in thread
From: Dmitry Baryshkov @ 2024-12-09 13:23 UTC (permalink / raw)
To: Johan Hovold
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Jonathan Marek, Stephan Gerhold, Abel Vesa,
linux-arm-msm, devicetree, linux-kernel, regressions
On Mon, Dec 09, 2024 at 12:19:03PM +0100, Johan Hovold wrote:
> A recent change enabling OTG mode on the Lenovo ThinkPad T14s USB-C
> ports can break SuperSpeed device hotplugging.
>
> Abel noticed that the corresponding commit for the CRD also triggers a
> hard reset during resume from suspend.
>
> With retimer (and orientation detection) support not even merged yet,
> let's revert at least until we have stable host mode in mainline.
>
> Note that Stephan and Dmitry have already identified other problems with
> the offending commits here:
>
> https://lore.kernel.org/all/ZxZO6Prrm2ITUZMQ@linaro.org/
> https://lore.kernel.org/all/hw2pdof4ajadjsjrb44f2q4cz4yh5qcqz5d3l7gjt2koycqs3k@xx5xvd26uyef
>
> Johan
>
>
> Changes in v2
> - revert also the corresponding patch for the CRD which breaks suspend
As you are reverting two commits, please revert the third one too, it
breaks pmic-glink.
>
>
> Johan Hovold (2):
> Revert "arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports"
> Revert "arm64: dts: qcom: x1e80100-crd: enable otg on usb ports"
>
> .../boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts | 8 ++++++++
> arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 12 ++++++++++++
> 2 files changed, 20 insertions(+)
>
> --
> 2.45.2
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions
2024-12-09 13:23 ` [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions Dmitry Baryshkov
@ 2024-12-09 15:30 ` Johan Hovold
2024-12-09 16:00 ` Dmitry Baryshkov
0 siblings, 1 reply; 7+ messages in thread
From: Johan Hovold @ 2024-12-09 15:30 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Johan Hovold, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jonathan Marek,
Stephan Gerhold, Abel Vesa, linux-arm-msm, devicetree,
linux-kernel, regressions
On Mon, Dec 09, 2024 at 03:23:05PM +0200, Dmitry Baryshkov wrote:
> On Mon, Dec 09, 2024 at 12:19:03PM +0100, Johan Hovold wrote:
> > A recent change enabling OTG mode on the Lenovo ThinkPad T14s USB-C
> > ports can break SuperSpeed device hotplugging.
> >
> > Abel noticed that the corresponding commit for the CRD also triggers a
> > hard reset during resume from suspend.
> >
> > With retimer (and orientation detection) support not even merged yet,
> > let's revert at least until we have stable host mode in mainline.
> >
> > Note that Stephan and Dmitry have already identified other problems with
> > the offending commits here:
> >
> > https://lore.kernel.org/all/ZxZO6Prrm2ITUZMQ@linaro.org/
> > https://lore.kernel.org/all/hw2pdof4ajadjsjrb44f2q4cz4yh5qcqz5d3l7gjt2koycqs3k@xx5xvd26uyef
> > Changes in v2
> > - revert also the corresponding patch for the CRD which breaks suspend
>
> As you are reverting two commits, please revert the third one too, it
> breaks pmic-glink.
Can you be more specific?
I was gonna say that pmic_glink works since hotplug and orientation
detection still works, but I tested now with DP altmode and that is
indeed broken unless I revert the third commit (f042bc234c2e ("arm64:
dts: qcom: x1e80100: enable OTG on USB-C controllers")).
Was that what you had in mind? Can you explain why that breaks?
I'll respin with a v3, but please answer the above first.
> > Johan Hovold (2):
> > Revert "arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports"
> > Revert "arm64: dts: qcom: x1e80100-crd: enable otg on usb ports"
Johan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions
2024-12-09 15:30 ` Johan Hovold
@ 2024-12-09 16:00 ` Dmitry Baryshkov
2024-12-10 10:45 ` Johan Hovold
0 siblings, 1 reply; 7+ messages in thread
From: Dmitry Baryshkov @ 2024-12-09 16:00 UTC (permalink / raw)
To: Johan Hovold
Cc: Johan Hovold, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jonathan Marek,
Stephan Gerhold, Abel Vesa, linux-arm-msm, devicetree,
linux-kernel, regressions
On Mon, 9 Dec 2024 at 17:30, Johan Hovold <johan@kernel.org> wrote:
>
> On Mon, Dec 09, 2024 at 03:23:05PM +0200, Dmitry Baryshkov wrote:
> > On Mon, Dec 09, 2024 at 12:19:03PM +0100, Johan Hovold wrote:
> > > A recent change enabling OTG mode on the Lenovo ThinkPad T14s USB-C
> > > ports can break SuperSpeed device hotplugging.
> > >
> > > Abel noticed that the corresponding commit for the CRD also triggers a
> > > hard reset during resume from suspend.
> > >
> > > With retimer (and orientation detection) support not even merged yet,
> > > let's revert at least until we have stable host mode in mainline.
> > >
> > > Note that Stephan and Dmitry have already identified other problems with
> > > the offending commits here:
> > >
> > > https://lore.kernel.org/all/ZxZO6Prrm2ITUZMQ@linaro.org/
> > > https://lore.kernel.org/all/hw2pdof4ajadjsjrb44f2q4cz4yh5qcqz5d3l7gjt2koycqs3k@xx5xvd26uyef
>
> > > Changes in v2
> > > - revert also the corresponding patch for the CRD which breaks suspend
> >
> > As you are reverting two commits, please revert the third one too, it
> > breaks pmic-glink.
>
> Can you be more specific?
>
> I was gonna say that pmic_glink works since hotplug and orientation
> detection still works, but I tested now with DP altmode and that is
> indeed broken unless I revert the third commit (f042bc234c2e ("arm64:
> dts: qcom: x1e80100: enable OTG on USB-C controllers")).
>
> Was that what you had in mind? Can you explain why that breaks?
See https://linux-regtracking.leemhuis.info/regzbot/regression/lore/hw2pdof4ajadjsjrb44f2q4cz4yh5qcqz5d3l7gjt2koycqs3k@xx5xvd26uyef/
For some reason commit f042bc234c2e ("arm64: dts: qcom: x1e80100: enable
OTG on USB-C controllers") seems to break UCSI on X1E80100 CRD:
[ 34.479352] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: PPM init
failed, stop trying
>
> I'll respin with a v3, but please answer the above first.
>
> > > Johan Hovold (2):
> > > Revert "arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports"
> > > Revert "arm64: dts: qcom: x1e80100-crd: enable otg on usb ports"
>
> Johan
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions
2024-12-09 16:00 ` Dmitry Baryshkov
@ 2024-12-10 10:45 ` Johan Hovold
0 siblings, 0 replies; 7+ messages in thread
From: Johan Hovold @ 2024-12-10 10:45 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Johan Hovold, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jonathan Marek,
Stephan Gerhold, Abel Vesa, linux-arm-msm, devicetree,
linux-kernel, regressions
On Mon, Dec 09, 2024 at 06:00:21PM +0200, Dmitry Baryshkov wrote:
> On Mon, 9 Dec 2024 at 17:30, Johan Hovold <johan@kernel.org> wrote:
> > On Mon, Dec 09, 2024 at 03:23:05PM +0200, Dmitry Baryshkov wrote:
> > > On Mon, Dec 09, 2024 at 12:19:03PM +0100, Johan Hovold wrote:
> > > > A recent change enabling OTG mode on the Lenovo ThinkPad T14s USB-C
> > > > ports can break SuperSpeed device hotplugging.
> > > >
> > > > Abel noticed that the corresponding commit for the CRD also triggers a
> > > > hard reset during resume from suspend.
> > > >
> > > > With retimer (and orientation detection) support not even merged yet,
> > > > let's revert at least until we have stable host mode in mainline.
> > > >
> > > > Note that Stephan and Dmitry have already identified other problems with
> > > > the offending commits here:
> > > >
> > > > https://lore.kernel.org/all/ZxZO6Prrm2ITUZMQ@linaro.org/
> > > > https://lore.kernel.org/all/hw2pdof4ajadjsjrb44f2q4cz4yh5qcqz5d3l7gjt2koycqs3k@xx5xvd26uyef
> >
> > > > Changes in v2
> > > > - revert also the corresponding patch for the CRD which breaks suspend
> > >
> > > As you are reverting two commits, please revert the third one too, it
> > > breaks pmic-glink.
> >
> > Can you be more specific?
> >
> > I was gonna say that pmic_glink works since hotplug and orientation
> > detection still works, but I tested now with DP altmode and that is
> > indeed broken unless I revert the third commit (f042bc234c2e ("arm64:
> > dts: qcom: x1e80100: enable OTG on USB-C controllers")).
> >
> > Was that what you had in mind? Can you explain why that breaks?
>
> See https://linux-regtracking.leemhuis.info/regzbot/regression/lore/hw2pdof4ajadjsjrb44f2q4cz4yh5qcqz5d3l7gjt2koycqs3k@xx5xvd26uyef/
>
> For some reason commit f042bc234c2e ("arm64: dts: qcom: x1e80100: enable
> OTG on USB-C controllers") seems to break UCSI on X1E80100 CRD:
>
> [ 34.479352] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: PPM init
> failed, stop trying
Ok, so you're referring to your UCSI report that I linked to above.
With the full series applied, I typically do *not* see the PPM init
error message, so it does not seem directly related to the regressions I
reported. DP still works even when SS hotplug does not.
With only the first patch applied, I do see the PPM init error on every
boot and DP is broken. Hotplug and orientation detection still works
though:
[ 19.698560] ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: PPM init failed, stop trying
[ 45.100142] r8152-cfgselector 4-1: USB disconnect, device number 2
[ 47.380999] usb 4-1: new SuperSpeed USB device number 3 using xhci-hcd
[ 47.549862] r8152-cfgselector 4-1: reset SuperSpeed USB device number 3 using xhci-hcd
[ 47.630710] r8152 4-1:1.0 eth0: v1.12.13
[ 50.591050] r8152 4-1:1.0 eth0: carrier on
[ 50.892296] r8152-cfgselector 4-1: USB disconnect, device number 3
[ 55.517111] usb 4-1: new SuperSpeed USB device number 4 using xhci-hcd
[ 55.694021] r8152-cfgselector 4-1: reset SuperSpeed USB device number 4 using xhci-hcd
> > I'll respin with a v3, but please answer the above first.
I'll revert the first patch as well.
Johan
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-12-10 10:45 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-09 11:19 [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions Johan Hovold
2024-12-09 11:19 ` [PATCH v2 1/2] Revert "arm64: dts: qcom: x1e78100-t14s: enable otg on usb-c ports" Johan Hovold
2024-12-09 11:19 ` [PATCH v2 2/2] Revert "arm64: dts: qcom: x1e80100-crd: enable otg on usb ports" Johan Hovold
2024-12-09 13:23 ` [PATCH v2 0/2] arm64: dts: qcom: x1e80100: fix USB OTG regressions Dmitry Baryshkov
2024-12-09 15:30 ` Johan Hovold
2024-12-09 16:00 ` Dmitry Baryshkov
2024-12-10 10:45 ` Johan Hovold
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox