Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Christian Lamparter <chunkeey@gmail.com>
Cc: linux-arm-msm@vger.kernel.org,
	Pavel Kubelun <be.dissent@gmail.com>,
	Andy Gross <agross@kernel.org>
Subject: Re: [PATCH] ARM: dts: qcom: ipq4019: fix sleep clock
Date: Sat, 20 Nov 2021 14:48:50 -0800	[thread overview]
Message-ID: <YZl7Ujxy4zBNsCJw@ripper> (raw)
In-Reply-To: <3c73ee75-f588-f598-3942-de0c1738b722@gmail.com>

On Sat 20 Nov 14:11 PST 2021, Christian Lamparter wrote:

> Hi,
> 
> On 18/11/2021 02:27, Bjorn Andersson wrote:
> > On Sun 31 Oct 10:56 CDT 2021, Christian Lamparter wrote:
> > 
> > > From: Pavel Kubelun <be.dissent@gmail.com>
> > > 
> > > It seems like sleep_clk was copied from ipq806x.
> > > Fix ipq40xx sleep_clk to the value QSDK defines.
> > > 
> > > Also rename the sleep clock node like the GCC driver names it.
> > > 
> > > Link: https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/?id=d92ec59973484acc86dd24b67f10f8911b4b4b7d
> > > Link: https://patchwork.kernel.org/comment/22721613/
> > > Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
> > > Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (resend)
> > > ---
> > >   arch/arm/boot/dts/qcom-ipq4019.dtsi | 4 ++--
> > >   1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/arch/arm/boot/dts/qcom-ipq4019.dtsi b/arch/arm/boot/dts/qcom-ipq4019.dtsi
> > > index 7a181352b306..ed40bef91e45 100644
> > > --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
> > > +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
> > > @@ -144,9 +144,9 @@ pmu {
> > >   	};
> > >   	clocks {
> > > -		sleep_clk: sleep_clk {
> > > +		sleep_clk: gcc_sleep_clk_src {
> > 
> > Underscore is not a valid character in node names, so it should named
> > something like sleep-clk.
> 
> 
> Ok, this is a bit awkward. The current DeviceTree Specification 0.3v list
> the "underscore" in "Table 2.1: Valid characters for node names". (Page 7)
> <https://github.com/devicetree-org/devicetree-specification/releases/download/v0.3/devicetree-specification-v0.3.pdf>
> 
> But...
> > It would be nice if the clock driver was converted to using parent_data
> > and fw_name and a clocks reference in the gcc node to &sleep_clk, but if
> > you need something that works with the current implementation then
> > 
> >    clock-output-names = "gcc_sleep_clk_src"; >
> > is your friend.
> > 
> > 
> > But please do consider converting the gcc-ipq4019.c to acquire "xo" and
> > "sleep_clk" using parent_data instead.
> > 
> 
> 
> Yes, I think this could be done. Next month around the seasonal holidays,
> I do think there will be some free time to run this on the IPQ40xx devices
> that would otherwise be blinking away lonely at the office. (Pavel's patch
> has been here so long that I knew it is "working".)
> 
> So the next series will be:
> - change this patch to just fix the clock-frequency value.

But if gcc-ipq4019 is looking for gcc_sleep_clk_src, what changes based
on this change alone?

> - another new patch that updates gcc-ipq4019.c code
>   replace all the parent_name with "xo" and "gcc_sleep_clk_src"
>   with parent_data + fw_name (in the same way in which
>   gcc-ipq6018.c seems to be doing it).
> 

Given that you're planning to move away from using a significant name I
don't think it's worth fixing up the driver to find "sleep_clk" and then
drop that again.

So if you just want to give the sleep clock its correct value, let's
just fix the rate. If you need that clock, with the new rate, to be
present among the parents of the gcc clocks then add the
clock-output-names = "gcc_sleep_clk_src" (and skip changing the driver
at this point).

If you do the latter, and then move to parent_data that new kernel will
fail to find the clock in a dtb generated between now and that point in
time, so I suggest that you anticipate that said input clock will be
given the identifier "sleep_clk".
So in the gcc node you add clocks = <&sleep_clk>; clock-names =
"sleep_clk".

That way, it will find the right clock using the global name from now
on and when you move the driver to parent_data it will find the new
reference.

Regards,
Bjorn

> Is there anything I missed?
> 
> (I could throw in the sleep_clk -> sleep(-clk) change as well.
> But I'll need find a justification for replacing "_" vs "-" there,
> since I can't really lean on the Device-Tree spec since it
> proclamates that the underscore is a "valid character"?!)
> 
> Thanks,
> Christian

      reply	other threads:[~2021-11-20 22:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-31 15:56 [PATCH] ARM: dts: qcom: ipq4019: fix sleep clock Christian Lamparter
2021-11-18  1:27 ` Bjorn Andersson
2021-11-20 22:11   ` Christian Lamparter
2021-11-20 22:48     ` Bjorn Andersson [this message]

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=YZl7Ujxy4zBNsCJw@ripper \
    --to=bjorn.andersson@linaro.org \
    --cc=agross@kernel.org \
    --cc=be.dissent@gmail.com \
    --cc=chunkeey@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox