All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Enric Balletbo i Serra <enric.balletbo@collabora.com>,
	devicetree@vger.kernel.org
Cc: Mark Rutland <mark.rutland@arm.com>,
	Heiko Stuebner <heiko@sntech.de>,
	Felipe Balbi <felipe.balbi@linux.intel.com>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Christoph Muellner <christoph.muellner@theobroma-systems.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Randy Li <ayaka@soulik.info>,
	linux-kernel@vger.kernel.org, Vicente Bergas <vicencb@gmail.com>,
	linux-rockchip@lists.infradead.org,
	Tony Xie <tony.xie@rock-chips.com>,
	Klaus Goger <klaus.goger@theobroma-systems.com>,
	Rob Herring <robh+dt@kernel.org>,
	Collabora Kernel ML <kernel@collabora.com>,
	linux-arm-kernel@lists.infradead.org,
	Matthias Brugger <matthias.bgg@gmail.com>
Subject: Re: [PATCH] arm64: dts: rockchip: Update DWC3 modules on RK3399 SoCs
Date: Thu, 13 Jun 2019 18:44:43 +0100	[thread overview]
Message-ID: <a3050da7-9b99-c6fd-ee06-f65503f1ae87@arm.com> (raw)
In-Reply-To: <a685fef9-8f45-700c-17d6-59d792fca092@collabora.com>

On 13/06/2019 18:20, Enric Balletbo i Serra wrote:
> Hi Robin,
> 
> On 13/6/19 18:56, Robin Murphy wrote:
>> On 13/06/2019 17:27, Enric Balletbo i Serra wrote:
>>> As per binding documentation [1], the DWC3 core should have the "ref",
>>> "bus_early" and "suspend" clocks. As explained in the binding, those
>>> clocks are required for new platforms but not for existing platforms
>>> before commit fe8abf332b8f ("usb: dwc3: support clocks and resets for
>>> DWC3 core").
>>>
>>> However, as those clocks are really treated as required, this ends with
>>> having some annoying messages when the "rockchip,rk3399-dwc3" is used:
>>>
>>> [    1.724107] dwc3 fe800000.dwc3: Failed to get clk 'ref': -2
>>> [    1.731893] dwc3 fe900000.dwc3: Failed to get clk 'ref': -2
>>> [    2.495937] dwc3 fe800000.dwc3: Failed to get clk 'ref': -2
>>> [    2.647239] dwc3 fe900000.dwc3: Failed to get clk 'ref': -2
>>>
>>> In order to remove those annoying messages, update the DWC3 hardware
>>> module node and add all the required clocks. With this change, both, the
>>> glue node and the DWC3 core node, have the clocks defined, but that's
>>> not really a problem and there isn't a side effect on do this. So, we
>>> can get rid of the annoying get clk error messages.
>>
>> Can we not just move these clocks entirely from the glue layer to the core
>> layer? That didn't seem to break when I tried it, although I'll admit my
>> 'testing' was no more than booting and mounting a USB 3.0 flash drive, no
>> suspend or anything fancy.
>>
> 
> AFAICT usb doesn't break, but we won't break backward compability then? (/me
> still doesn't know when backward compability is really important or not)

Ah, fair point - I was imagining the glue layer's heavy-handed "turn 
everything on" approach potentially interfering with the core layer's 
ability to exert finer-grained control of the clocks it knows more 
about, but the "old kernel, new DT" situation might indeed be a problem. 
I guess that's Heiko's call in the end. Plus I'm no CCF expert so my 
concern might be unfounded anyway.

>> My own attempt to shut up these errors got sidetracked into c0c61471ef86 ("usb:
>> dwc3: of-simple: Convert to bulk clk API"), then apparently stalled :)
>>
> 
> There was any off the record discussion and stalled or simply you didn't get
> feedback?

More that the 3399 board got put away in a freak "tidying the kitchen" 
incident, and I've just had too many other things on the go since :)

Robin.

> 
> I'll take a look.
> 
> Thanks,
> ~ Enric
> 
>> Robin.
>>
>>>
>>> [1] Documentation/devicetree/bindings/usb/dwc3.txt
>>>
>>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>>> ---
>>>
>>>    arch/arm64/boot/dts/rockchip/rk3399.dtsi | 6 ++++++
>>>    1 file changed, 6 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
>>> b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
>>> index 196ac9b78076..a15348d185ce 100644
>>> --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
>>> +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
>>> @@ -414,6 +414,9 @@
>>>                compatible = "snps,dwc3";
>>>                reg = <0x0 0xfe800000 0x0 0x100000>;
>>>                interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +            clocks = <&cru SCLK_USB3OTG0_REF>, <&cru ACLK_USB3OTG0>,
>>> +                 <&cru SCLK_USB3OTG0_SUSPEND>;
>>> +            clock-names = "ref", "bus_early", "suspend";
>>>                dr_mode = "otg";
>>>                phys = <&u2phy0_otg>, <&tcphy0_usb3>;
>>>                phy-names = "usb2-phy", "usb3-phy";
>>> @@ -447,6 +450,9 @@
>>>                compatible = "snps,dwc3";
>>>                reg = <0x0 0xfe900000 0x0 0x100000>;
>>>                interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +            clocks = <&cru SCLK_USB3OTG1_REF>, <&cru ACLK_USB3OTG1>,
>>> +                 <&cru SCLK_USB3OTG1_SUSPEND>;
>>> +            clock-names = "ref", "bus_early", "suspend";
>>>                dr_mode = "otg";
>>>                phys = <&u2phy1_otg>, <&tcphy1_usb3>;
>>>                phy-names = "usb2-phy", "usb3-phy";
>>>
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Enric Balletbo i Serra <enric.balletbo@collabora.com>,
	devicetree@vger.kernel.org
Cc: Mark Rutland <mark.rutland@arm.com>,
	Heiko Stuebner <heiko@sntech.de>,
	Felipe Balbi <felipe.balbi@linux.intel.com>,
	linux-rockchip@lists.infradead.org,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Randy Li <ayaka@soulik.info>,
	linux-kernel@vger.kernel.org, Vicente Bergas <vicencb@gmail.com>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Tony Xie <tony.xie@rock-chips.com>,
	Klaus Goger <klaus.goger@theobroma-systems.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Collabora Kernel ML <kernel@collabora.com>,
	linux-arm-kernel@lists.infradead.org,
	Christoph Muellner <christoph.muellner@theobroma-systems.com>
Subject: Re: [PATCH] arm64: dts: rockchip: Update DWC3 modules on RK3399 SoCs
Date: Thu, 13 Jun 2019 18:44:43 +0100	[thread overview]
Message-ID: <a3050da7-9b99-c6fd-ee06-f65503f1ae87@arm.com> (raw)
In-Reply-To: <a685fef9-8f45-700c-17d6-59d792fca092@collabora.com>

On 13/06/2019 18:20, Enric Balletbo i Serra wrote:
> Hi Robin,
> 
> On 13/6/19 18:56, Robin Murphy wrote:
>> On 13/06/2019 17:27, Enric Balletbo i Serra wrote:
>>> As per binding documentation [1], the DWC3 core should have the "ref",
>>> "bus_early" and "suspend" clocks. As explained in the binding, those
>>> clocks are required for new platforms but not for existing platforms
>>> before commit fe8abf332b8f ("usb: dwc3: support clocks and resets for
>>> DWC3 core").
>>>
>>> However, as those clocks are really treated as required, this ends with
>>> having some annoying messages when the "rockchip,rk3399-dwc3" is used:
>>>
>>> [    1.724107] dwc3 fe800000.dwc3: Failed to get clk 'ref': -2
>>> [    1.731893] dwc3 fe900000.dwc3: Failed to get clk 'ref': -2
>>> [    2.495937] dwc3 fe800000.dwc3: Failed to get clk 'ref': -2
>>> [    2.647239] dwc3 fe900000.dwc3: Failed to get clk 'ref': -2
>>>
>>> In order to remove those annoying messages, update the DWC3 hardware
>>> module node and add all the required clocks. With this change, both, the
>>> glue node and the DWC3 core node, have the clocks defined, but that's
>>> not really a problem and there isn't a side effect on do this. So, we
>>> can get rid of the annoying get clk error messages.
>>
>> Can we not just move these clocks entirely from the glue layer to the core
>> layer? That didn't seem to break when I tried it, although I'll admit my
>> 'testing' was no more than booting and mounting a USB 3.0 flash drive, no
>> suspend or anything fancy.
>>
> 
> AFAICT usb doesn't break, but we won't break backward compability then? (/me
> still doesn't know when backward compability is really important or not)

Ah, fair point - I was imagining the glue layer's heavy-handed "turn 
everything on" approach potentially interfering with the core layer's 
ability to exert finer-grained control of the clocks it knows more 
about, but the "old kernel, new DT" situation might indeed be a problem. 
I guess that's Heiko's call in the end. Plus I'm no CCF expert so my 
concern might be unfounded anyway.

>> My own attempt to shut up these errors got sidetracked into c0c61471ef86 ("usb:
>> dwc3: of-simple: Convert to bulk clk API"), then apparently stalled :)
>>
> 
> There was any off the record discussion and stalled or simply you didn't get
> feedback?

More that the 3399 board got put away in a freak "tidying the kitchen" 
incident, and I've just had too many other things on the go since :)

Robin.

> 
> I'll take a look.
> 
> Thanks,
> ~ Enric
> 
>> Robin.
>>
>>>
>>> [1] Documentation/devicetree/bindings/usb/dwc3.txt
>>>
>>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>>> ---
>>>
>>>    arch/arm64/boot/dts/rockchip/rk3399.dtsi | 6 ++++++
>>>    1 file changed, 6 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
>>> b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
>>> index 196ac9b78076..a15348d185ce 100644
>>> --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
>>> +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
>>> @@ -414,6 +414,9 @@
>>>                compatible = "snps,dwc3";
>>>                reg = <0x0 0xfe800000 0x0 0x100000>;
>>>                interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +            clocks = <&cru SCLK_USB3OTG0_REF>, <&cru ACLK_USB3OTG0>,
>>> +                 <&cru SCLK_USB3OTG0_SUSPEND>;
>>> +            clock-names = "ref", "bus_early", "suspend";
>>>                dr_mode = "otg";
>>>                phys = <&u2phy0_otg>, <&tcphy0_usb3>;
>>>                phy-names = "usb2-phy", "usb3-phy";
>>> @@ -447,6 +450,9 @@
>>>                compatible = "snps,dwc3";
>>>                reg = <0x0 0xfe900000 0x0 0x100000>;
>>>                interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
>>> +            clocks = <&cru SCLK_USB3OTG1_REF>, <&cru ACLK_USB3OTG1>,
>>> +                 <&cru SCLK_USB3OTG1_SUSPEND>;
>>> +            clock-names = "ref", "bus_early", "suspend";
>>>                dr_mode = "otg";
>>>                phys = <&u2phy1_otg>, <&tcphy1_usb3>;
>>>                phy-names = "usb2-phy", "usb3-phy";
>>>
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-06-13 17:44 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-13 16:27 [PATCH] arm64: dts: rockchip: Update DWC3 modules on RK3399 SoCs Enric Balletbo i Serra
2019-06-13 16:27 ` Enric Balletbo i Serra
2019-06-13 16:56 ` Robin Murphy
2019-06-13 16:56   ` Robin Murphy
2019-06-13 16:56   ` Robin Murphy
2019-06-13 17:20   ` Enric Balletbo i Serra
2019-06-13 17:20     ` Enric Balletbo i Serra
2019-06-13 17:44     ` Robin Murphy [this message]
2019-06-13 17:44       ` Robin Murphy
2019-06-16 14:25       ` Heiko Stübner
2019-06-16 14:25         ` Heiko Stübner
2019-06-27 12:42 ` Heiko Stuebner
2019-06-27 12:42   ` Heiko Stuebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a3050da7-9b99-c6fd-ee06-f65503f1ae87@arm.com \
    --to=robin.murphy@arm.com \
    --cc=ayaka@soulik.info \
    --cc=christoph.muellner@theobroma-systems.com \
    --cc=devicetree@vger.kernel.org \
    --cc=enric.balletbo@collabora.com \
    --cc=felipe.balbi@linux.intel.com \
    --cc=heiko@sntech.de \
    --cc=kernel@collabora.com \
    --cc=klaus.goger@theobroma-systems.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=matthias.bgg@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=tony.xie@rock-chips.com \
    --cc=vicencb@gmail.com \
    --cc=viresh.kumar@linaro.org \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.