2022-08-02 15:35:58

by Johan Hovold

[permalink] [raw]
Subject: [PATCH] arm64: dts: qcom: sc7280: move USB wakeup-source property

Move the USB-controller wakeup-source property to the dwc3 glue node to
match the updated binding.

Signed-off-by: Johan Hovold <[email protected]>
---

This one can be applied once the following series has been merged:

https://lore.kernel.org/all/[email protected]

Johan


arch/arm64/boot/dts/qcom/sc7280.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
index 13d7f267b289..dac3b69e314f 100644
--- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
@@ -3374,6 +3374,8 @@ usb_1: usb@a6f8800 {
<&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_USB3_0 0>;
interconnect-names = "usb-ddr", "apps-usb";

+ wakeup-source;
+
usb_1_dwc3: usb@a600000 {
compatible = "snps,dwc3";
reg = <0 0x0a600000 0 0xe000>;
@@ -3384,7 +3386,6 @@ usb_1_dwc3: usb@a600000 {
phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
phy-names = "usb2-phy", "usb3-phy";
maximum-speed = "super-speed";
- wakeup-source;
};
};

--
2.35.1



2022-08-22 13:19:01

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sc7280: move USB wakeup-source property

On Tue, Aug 02, 2022 at 05:26:42PM +0200, Johan Hovold wrote:
> Move the USB-controller wakeup-source property to the dwc3 glue node to
> match the updated binding.
>
> Signed-off-by: Johan Hovold <[email protected]>
> ---
>
> This one can be applied once the following series has been merged:
>
> https://lore.kernel.org/all/[email protected]

The above series has now been merged (for 6.0):

https://lore.kernel.org/all/[email protected]/

so that this patch can be applied.

> arch/arm64/boot/dts/qcom/sc7280.dtsi | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
> index 13d7f267b289..dac3b69e314f 100644
> --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
> @@ -3374,6 +3374,8 @@ usb_1: usb@a6f8800 {
> <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_USB3_0 0>;
> interconnect-names = "usb-ddr", "apps-usb";
>
> + wakeup-source;
> +
> usb_1_dwc3: usb@a600000 {
> compatible = "snps,dwc3";
> reg = <0 0x0a600000 0 0xe000>;
> @@ -3384,7 +3386,6 @@ usb_1_dwc3: usb@a600000 {
> phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
> phy-names = "usb2-phy", "usb3-phy";
> maximum-speed = "super-speed";
> - wakeup-source;
> };
> };

Johan

2022-08-22 17:43:04

by Matthias Kaehlcke

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sc7280: move USB wakeup-source property

On Tue, Aug 02, 2022 at 05:26:42PM +0200, Johan Hovold wrote:
> Move the USB-controller wakeup-source property to the dwc3 glue node to
> match the updated binding.
>
> Signed-off-by: Johan Hovold <[email protected]>

Reviewed-by: Matthias Kaehlcke <[email protected]>

2022-08-22 22:36:13

by Matthias Kaehlcke

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sc7280: move USB wakeup-source property

On Mon, Aug 22, 2022 at 03:13:54PM +0200, Johan Hovold wrote:
> On Tue, Aug 02, 2022 at 05:26:42PM +0200, Johan Hovold wrote:
> > Move the USB-controller wakeup-source property to the dwc3 glue node to
> > match the updated binding.
> >
> > Signed-off-by: Johan Hovold <[email protected]>
> > ---
> >
> > This one can be applied once the following series has been merged:
> >
> > https://lore.kernel.org/all/[email protected]
>
> The above series has now been merged (for 6.0):
>
> https://lore.kernel.org/all/[email protected]/
>
> so that this patch can be applied.

Please apply it together with "clk: qcom: gcc-sc7280: Keep USB GDSC power
domains on when USB wakeup is enabled" [1], otherwise USB wakeup won't work,
and worse, USB would be broken after returning from system suspend.

[1] https://patchwork.kernel.org/project/linux-arm-msm/patch/20220822115246.2.If09027f73daa6e1ed95f5eab02326b543c67132e@changeid/

2022-08-23 16:06:16

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sc7280: move USB wakeup-source property

On Mon, Aug 22, 2022 at 03:31:21PM -0700, Matthias Kaehlcke wrote:
> On Mon, Aug 22, 2022 at 03:13:54PM +0200, Johan Hovold wrote:
> > On Tue, Aug 02, 2022 at 05:26:42PM +0200, Johan Hovold wrote:
> > > Move the USB-controller wakeup-source property to the dwc3 glue node to
> > > match the updated binding.
> > >
> > > Signed-off-by: Johan Hovold <[email protected]>
> > > ---
> > >
> > > This one can be applied once the following series has been merged:
> > >
> > > https://lore.kernel.org/all/[email protected]
> >
> > The above series has now been merged (for 6.0):
> >
> > https://lore.kernel.org/all/[email protected]/
> >
> > so that this patch can be applied.
>
> Please apply it together with "clk: qcom: gcc-sc7280: Keep USB GDSC power
> domains on when USB wakeup is enabled" [1], otherwise USB wakeup won't work,
> and worse, USB would be broken after returning from system suspend.

If you really need [1] for wakeup to work then it's already broken as
the hack added to 6.0-rc1 that kept the power domain on in suspend has
been reverted.

If [1] is also needed for USB to work after resume, we either have a
bigger problem as I alluded to in my comment to [1] (and the PD needs to
be always on) or this is due to the PHY no longer being powered down in
suspend.

Only in the latter case, does this patch need to be held of until [1]
has been merged AFAICT.

Johan

> [1] https://patchwork.kernel.org/project/linux-arm-msm/patch/20220822115246.2.If09027f73daa6e1ed95f5eab02326b543c67132e@changeid/

2022-08-23 20:25:33

by Matthias Kaehlcke

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sc7280: move USB wakeup-source property

On Tue, Aug 23, 2022 at 01:35:57PM +0200, Johan Hovold wrote:
> On Mon, Aug 22, 2022 at 03:31:21PM -0700, Matthias Kaehlcke wrote:
> > On Mon, Aug 22, 2022 at 03:13:54PM +0200, Johan Hovold wrote:
> > > On Tue, Aug 02, 2022 at 05:26:42PM +0200, Johan Hovold wrote:
> > > > Move the USB-controller wakeup-source property to the dwc3 glue node to
> > > > match the updated binding.
> > > >
> > > > Signed-off-by: Johan Hovold <[email protected]>
> > > > ---
> > > >
> > > > This one can be applied once the following series has been merged:
> > > >
> > > > https://lore.kernel.org/all/[email protected]
> > >
> > > The above series has now been merged (for 6.0):
> > >
> > > https://lore.kernel.org/all/[email protected]/
> > >
> > > so that this patch can be applied.
> >
> > Please apply it together with "clk: qcom: gcc-sc7280: Keep USB GDSC power
> > domains on when USB wakeup is enabled" [1], otherwise USB wakeup won't work,
> > and worse, USB would be broken after returning from system suspend.
>
> If you really need [1] for wakeup to work then it's already broken as
> the hack added to 6.0-rc1 that kept the power domain on in suspend has
> been reverted.

Yep, in v6.0-rc1 it is already broken, it should still work in the current
qcom tree. In any case wakeup isn't the primary concern, wakeup support for
sc7x80 just landed in a not-so-great shape, and your patches in v6.0-rc
generally improve it.

> If [1] is also needed for USB to work after resume, we either have a
> bigger problem as I alluded to in my comment to [1] (and the PD needs to
> be always on) or this is due to the PHY no longer being powered down in
> suspend.

Yes, it is apparently related with the PHYs no longer being powered down in
suspend. With your patch that reverts that [1] wakeup still works (as long as
wakeup for the dwc3 core remains enabled) and USB is operational after
resume.

So as long as the PHYs are powered down in suspend it shouldn't be necessary
to keep the GDSC PDs on. For Chrome OS we'll have to evaluate whether that
is an option (we observe high power consumption of an onboard USB hub
during system suspend when the PHYs are off) or whether sone mechanism (quirk,
kconfig option, ...) is needed to keep the PHYs on.

[1] https://patchwork.kernel.org/project/linux-usb/patch/[email protected]/

> Only in the latter case, does this patch need to be held of until [1]
> has been merged AFAICT.
>
> Johan
>
> > [1] https://patchwork.kernel.org/project/linux-arm-msm/patch/20220822115246.2.If09027f73daa6e1ed95f5eab02326b543c67132e@changeid/

2022-08-29 23:54:50

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sc7280: move USB wakeup-source property

On Tue, 2 Aug 2022 17:26:42 +0200, Johan Hovold wrote:
> Move the USB-controller wakeup-source property to the dwc3 glue node to
> match the updated binding.
>
>

Applied, thanks!

[1/1] arm64: dts: qcom: sc7280: move USB wakeup-source property
commit: d5089f79b1e4fad445daa48382380a7e584603e2

Best regards,
--
Bjorn Andersson <[email protected]>