All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Kathiravan Thirumoorthy <quic_kathirav@quicinc.com>
Cc: Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Richard Cochran <richardcochran@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 2/8] clk: qcom: ipq5332: enable few nssnoc clocks in driver probe
Date: Wed, 14 Feb 2024 15:44:39 +0100	[thread overview]
Message-ID: <17e2400e-6881-4e9e-90c2-9c4f77a0d41d@lunn.ch> (raw)
In-Reply-To: <11fda059-3d8d-4030-922a-8fef16349a65@quicinc.com>

On Wed, Feb 14, 2024 at 02:49:41PM +0530, Kathiravan Thirumoorthy wrote:
> 
> 
> On 1/26/2024 1:35 AM, Andrew Lunn wrote:
> > On Mon, Jan 22, 2024 at 11:26:58AM +0530, Kathiravan Thirumoorthy wrote:
> > > gcc_snoc_nssnoc_clk, gcc_snoc_nssnoc_1_clk, gcc_nssnoc_nsscc_clk are
> > > enabled by default and it's RCG is properly configured by bootloader.
> > 
> > Which bootloader? Mainline barebox?
> 
> 
> Thanks for taking time to review the patches. I couldn't get time to respond
> back, sorry for the delay.
> 
> I was referring to the U-boot which is delivered as part of the QSDK. I will
> call it out explicitly in the next patch.

I've never used QSDK u-boot, so i can only make comments based on my
experience with other vendors build of u-boot. That experience is, its
broken for my use cases, and i try to replace it as soon as possible
with upstream.

I generally want to TFTP boot the kernel and the DT blob. Sometimes
vendor u-boot has networking disabled. Or the TFTP client is
missing. If it is there, the IP addresses are fixed, and i don't want
to modify my network to make it compatible with the vendor
requirements. If the IP addresses can be configured, sometimes there
is no FLASH support so its not possible to actually write the
configuration to FLASH so that it does the right thing on reboot
etc...

Often the vendor u-boot is a black box, no sources. Can you give me a
git URL for the u-boot in QSDK? If the sources are open, i could at
least rebuild it with everything turned on.

But still, it is better that Linux makes no assumptions about what the
boot loader has done. That makes it much easier to change the
bootloader.

> > > Some of the NSS clocks needs these clocks to be enabled. To avoid
> > > these clocks being disabled by clock framework, drop these entries
> > > from the clock table and enable it in the driver probe itself.
> > 
> > If they are critical clocks, i would expect a device to reference
> > them. The CCF only disabled unused clocks in late_initcall_sync(),
> > which means all drivers should of probed and taken a reference on any
> > clocks they require.
> 
> 
> Some of the NSSCC clocks are enabled by bootloaders and CCF disables the
> same (because currently there are no consumers for these clocks available in
> the tree. These clocks are consumed by the Networking drivers which are
> being upstreamed).

If there is no network drivers, you don't need clocks to the
networking hardware. So CCF turning them off seems correct.

Once you have actual drivers, this should solve itself, the drivers
will consume the clocks.

> However looking back, gcc_snoc_nssnoc_clk, gcc_snoc_nssnoc_1_clk,
> gcc_nssnoc_nsscc_clk are consumed by the networking drivers only. So is it
> okay to drop these clocks from the GCC driver and add it back once the
> actual consumer needs it?

But why should you remove them. If nothing is using them, they should
be turned off.

   Andrew

_______________________________________________
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: Andrew Lunn <andrew@lunn.ch>
To: Kathiravan Thirumoorthy <quic_kathirav@quicinc.com>
Cc: Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Richard Cochran <richardcochran@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 2/8] clk: qcom: ipq5332: enable few nssnoc clocks in driver probe
Date: Wed, 14 Feb 2024 15:44:39 +0100	[thread overview]
Message-ID: <17e2400e-6881-4e9e-90c2-9c4f77a0d41d@lunn.ch> (raw)
In-Reply-To: <11fda059-3d8d-4030-922a-8fef16349a65@quicinc.com>

On Wed, Feb 14, 2024 at 02:49:41PM +0530, Kathiravan Thirumoorthy wrote:
> 
> 
> On 1/26/2024 1:35 AM, Andrew Lunn wrote:
> > On Mon, Jan 22, 2024 at 11:26:58AM +0530, Kathiravan Thirumoorthy wrote:
> > > gcc_snoc_nssnoc_clk, gcc_snoc_nssnoc_1_clk, gcc_nssnoc_nsscc_clk are
> > > enabled by default and it's RCG is properly configured by bootloader.
> > 
> > Which bootloader? Mainline barebox?
> 
> 
> Thanks for taking time to review the patches. I couldn't get time to respond
> back, sorry for the delay.
> 
> I was referring to the U-boot which is delivered as part of the QSDK. I will
> call it out explicitly in the next patch.

I've never used QSDK u-boot, so i can only make comments based on my
experience with other vendors build of u-boot. That experience is, its
broken for my use cases, and i try to replace it as soon as possible
with upstream.

I generally want to TFTP boot the kernel and the DT blob. Sometimes
vendor u-boot has networking disabled. Or the TFTP client is
missing. If it is there, the IP addresses are fixed, and i don't want
to modify my network to make it compatible with the vendor
requirements. If the IP addresses can be configured, sometimes there
is no FLASH support so its not possible to actually write the
configuration to FLASH so that it does the right thing on reboot
etc...

Often the vendor u-boot is a black box, no sources. Can you give me a
git URL for the u-boot in QSDK? If the sources are open, i could at
least rebuild it with everything turned on.

But still, it is better that Linux makes no assumptions about what the
boot loader has done. That makes it much easier to change the
bootloader.

> > > Some of the NSS clocks needs these clocks to be enabled. To avoid
> > > these clocks being disabled by clock framework, drop these entries
> > > from the clock table and enable it in the driver probe itself.
> > 
> > If they are critical clocks, i would expect a device to reference
> > them. The CCF only disabled unused clocks in late_initcall_sync(),
> > which means all drivers should of probed and taken a reference on any
> > clocks they require.
> 
> 
> Some of the NSSCC clocks are enabled by bootloaders and CCF disables the
> same (because currently there are no consumers for these clocks available in
> the tree. These clocks are consumed by the Networking drivers which are
> being upstreamed).

If there is no network drivers, you don't need clocks to the
networking hardware. So CCF turning them off seems correct.

Once you have actual drivers, this should solve itself, the drivers
will consume the clocks.

> However looking back, gcc_snoc_nssnoc_clk, gcc_snoc_nssnoc_1_clk,
> gcc_nssnoc_nsscc_clk are consumed by the networking drivers only. So is it
> okay to drop these clocks from the GCC driver and add it back once the
> actual consumer needs it?

But why should you remove them. If nothing is using them, they should
be turned off.

   Andrew

  parent reply	other threads:[~2024-02-14 14:44 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-22  5:56 [PATCH v4 0/8] Add NSS clock controller support for Qualcomm IPQ5332 Kathiravan Thirumoorthy
2024-01-22  5:56 ` Kathiravan Thirumoorthy
2024-01-22  5:56 ` [PATCH v4 1/8] clk: qcom: ipq5332: add const qualifier to the clk_init_data structure Kathiravan Thirumoorthy
2024-01-22  5:56   ` Kathiravan Thirumoorthy
2024-01-22  9:02   ` Krzysztof Kozlowski
2024-01-22  9:02     ` Krzysztof Kozlowski
2024-01-22  5:56 ` [PATCH v4 2/8] clk: qcom: ipq5332: enable few nssnoc clocks in driver probe Kathiravan Thirumoorthy
2024-01-22  5:56   ` Kathiravan Thirumoorthy
2024-01-25 20:05   ` Andrew Lunn
2024-01-25 20:05     ` Andrew Lunn
2024-02-14  9:19     ` Kathiravan Thirumoorthy
2024-02-14  9:19       ` Kathiravan Thirumoorthy
2024-02-14 11:45       ` Dmitry Baryshkov
2024-02-14 11:45         ` Dmitry Baryshkov
2024-02-14 14:44       ` Andrew Lunn [this message]
2024-02-14 14:44         ` Andrew Lunn
2024-02-16 15:22         ` Kathiravan Thirumoorthy
2024-02-16 15:22           ` Kathiravan Thirumoorthy
2024-02-16 16:26           ` Dmitry Baryshkov
2024-02-16 16:26             ` Dmitry Baryshkov
2024-02-17 15:44             ` Kathiravan Thirumoorthy
2024-02-17 15:44               ` Kathiravan Thirumoorthy
2024-02-17 16:45               ` Dmitry Baryshkov
2024-02-17 16:45                 ` Dmitry Baryshkov
2024-02-18  4:29                 ` Kathiravan Thirumoorthy
2024-02-18  4:29                   ` Kathiravan Thirumoorthy
2024-02-19 10:16                   ` Konrad Dybcio
2024-02-19 10:16                     ` Konrad Dybcio
2024-02-19 10:23                   ` Dmitry Baryshkov
2024-02-19 10:23                     ` Dmitry Baryshkov
2024-02-23 10:18                     ` Kathiravan Thirumoorthy
2024-02-23 10:18                       ` Kathiravan Thirumoorthy
2024-03-05  6:41                       ` Dmitry Baryshkov
2024-03-05  6:41                         ` Dmitry Baryshkov
2024-02-16 17:16           ` Andrew Lunn
2024-02-16 17:16             ` Andrew Lunn
2024-02-17 15:41             ` Kathiravan Thirumoorthy
2024-02-17 15:41               ` Kathiravan Thirumoorthy
2024-01-22  5:56 ` [PATCH v4 3/8] dt-bindings: clock: ipq5332: add definition for GPLL0_OUT_AUX clock Kathiravan Thirumoorthy
2024-01-22  5:56   ` Kathiravan Thirumoorthy
2024-01-25 20:07   ` Andrew Lunn
2024-01-25 20:07     ` Andrew Lunn
2024-02-14  9:20     ` Kathiravan Thirumoorthy
2024-02-14  9:20       ` Kathiravan Thirumoorthy
2024-01-22  5:57 ` [PATCH v4 4/8] clk: qcom: ipq5332: add gpll0_out_aux clock Kathiravan Thirumoorthy
2024-01-22  5:57   ` Kathiravan Thirumoorthy
2024-01-25 20:11   ` Andrew Lunn
2024-01-25 20:11     ` Andrew Lunn
2024-02-14  9:28     ` Kathiravan Thirumoorthy
2024-02-14  9:28       ` Kathiravan Thirumoorthy
2024-01-22  5:57 ` [PATCH v4 5/8] dt-bindings: clock: add Qualcomm IPQ5332 NSSCC clock and reset definitions Kathiravan Thirumoorthy
2024-01-22  5:57   ` Kathiravan Thirumoorthy
2024-01-22  5:57 ` [PATCH v4 6/8] clk: qcom: add NSS clock Controller driver for Qualcomm IPQ5332 Kathiravan Thirumoorthy
2024-01-22  5:57   ` Kathiravan Thirumoorthy
2024-01-22  5:57 ` [PATCH v4 7/8] arm64: dts: qcom: ipq5332: add support for the NSSCC Kathiravan Thirumoorthy
2024-01-22  5:57   ` Kathiravan Thirumoorthy
2024-01-22  5:57 ` [PATCH v4 8/8] arm64: defconfig: build NSS Clock Controller driver for Qualcomm IPQ5332 Kathiravan Thirumoorthy
2024-01-22  5:57   ` Kathiravan Thirumoorthy

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=17e2400e-6881-4e9e-90c2-9c4f77a0d41d@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=andersson@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=netdev@vger.kernel.org \
    --cc=quic_kathirav@quicinc.com \
    --cc=richardcochran@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=will@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 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.