linux-clk.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: Ulf Hansson <ulf.hansson@linaro.org>,
	Viresh Kumar <vireshk@kernel.org>,
	Stephen Boyd <sboyd@kernel.org>
Cc: "Thierry Reding" <thierry.reding@gmail.com>,
	"Jonathan Hunter" <jonathanh@nvidia.com>,
	"Michał Mirosław" <mirq-linux@rere.qmqm.pl>,
	"Nikola Milosavljević" <mnidza@outlook.com>,
	"Peter Geis" <pgwipeout@gmail.com>,
	"Nicolas Chauvet" <kwizart@gmail.com>,
	"Matt Merhar" <mattmerhar@protonmail.com>,
	"Paul Fertser" <fercerpav@gmail.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski@canonical.com>,
	"Mikko Perttunen" <mperttunen@nvidia.com>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	linux-tegra <linux-tegra@vger.kernel.org>,
	DTML <devicetree@vger.kernel.org>,
	"Linux PM" <linux-pm@vger.kernel.org>,
	"Nathan Chancellor" <nathan@kernel.org>,
	linux-clk <linux-clk@vger.kernel.org>
Subject: Re: [PATCH v2 13/14] soc/tegra: pmc: Add core power domain
Date: Tue, 1 Jun 2021 18:48:27 +0300	[thread overview]
Message-ID: <6c1e69b3-5c13-5be6-5a8d-1eecaaa45aa7@gmail.com> (raw)
In-Reply-To: <CAPDyKFqktwCWMBDcoa7HDg6aCayPSSYG5QkekaxPaiL6kgAZmQ@mail.gmail.com>

01.06.2021 13:19, Ulf Hansson пишет:
...
>> This is not sufficient for Tegra because we have individual OPP tables for the root PLLs, system clocks and device clocks. The device clocks could be muxed to a different PLLs, depending on clk requirements of a particular board.
> 
> Are you saying that the clock providers for the "root PLLs" and
> "system clocks" have OPP tables themselves? If so, would you mind
> posting a patch for an updated DT binding for these changes, so it can
> be discussed separately?

I will post all those patches soon, thank you.

...
>> The device drivers don't manage the parent clocks directly and OPP core doesn't support this use-case where OPP needs to be applied to a generic/parent PLL clock. Moving the OPP management to the clk driver is the easy solution which works good in practice for Tegra, it also removes a need to switch each driver to dev_pm_opp_set_rate() usage.
> 
> I admit, if clock consumer drivers could avoid calling
> dev_pm_opp_set_rate|opp(), that would be nice. But, as I stated, it's
> a fragile path from locking point of view, to call
> dev_pm_opp_set_rate|opp() from a clock provider driver. Personally, I
> think it's better to avoid it.
> 
> More importantly, you also need to convince the clock subsystem
> maintainers, that setting an OPP internally from the clock provider
> driver is a good idea. As far as I can tell, they have said *no* to
> this, since the common clock framework was invented, I believe for
> good reasons.

Pushing the OPP into a CCF driver is indeed not ideal. I'm open to new
ideas. I will post those patches where we could discuss this in a more
details.

...
>> For example please see clock@60006000 and pmc@7000e400 nodes of [1].
>>
>> [1] https://github.com/grate-driver/linux/blob/master/arch/arm/boot/dts/tegra30.dtsi
> 
> Thanks, that certainly helped me understand better!
> 
> I see that you want to add OPP tables to clock provider nodes. As I
> said above, an updated DT binding is probably a good idea to discuss
> separately.
...
> 
> Okay, to not stall things from moving forward, may I suggest that you
> simply drop the call to lockdep_set_class() (and the corresponding
> comment) for now.
> 
> Then you can continue to post the next parts - and if it turns out
> that lockdep_set_class() becomes needed, you can always add it back
> then.

Thank you very much for helping with reviewing this all. I'll drop the
lockdep_set_class() and post the v7 shortly. Afterwards, I'll send the
rest of clk, device-tree and etc related patches targeting 5.15.

  reply	other threads:[~2021-06-01 15:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-23 23:13 [PATCH v2 00/14] NVIDIA Tegra memory and power management changes for 5.14 Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 01/14] regulator: core: Add regulator_sync_voltage_rdev() Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 02/14] regulator: core: Detach coupled regulator before coupling count is dropped Dmitry Osipenko
2021-05-24 10:20   ` Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 03/14] soc/tegra: regulators: Bump voltages on system reboot Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 04/14] soc/tegra: Add stub for soc_is_tegra() Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 05/14] soc/tegra: Add devm_tegra_core_dev_init_opp_table() Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 06/14] soc/tegra: fuse: Add stubs needed for compile-testing Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 07/14] clk: tegra: " Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 08/14] memory: tegra: Fix compilation warnings on 64bit platforms Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 09/14] memory: tegra: Enable compile testing for all drivers Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 10/14] memory: tegra20-emc: Use devm_tegra_core_dev_init_opp_table() Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 11/14] memory: tegra30-emc: " Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 12/14] dt-bindings: soc: tegra-pmc: Document core power domain Dmitry Osipenko
2021-05-24 17:02   ` Ulf Hansson
2021-05-23 23:13 ` [PATCH v2 13/14] soc/tegra: pmc: Add " Dmitry Osipenko
2021-05-24 17:04   ` Ulf Hansson
2021-05-24 20:23     ` Dmitry Osipenko
2021-05-31 13:17       ` Ulf Hansson
2021-05-31 20:07         ` Dmitry Osipenko
2021-06-01 10:19           ` Ulf Hansson
2021-06-01 15:48             ` Dmitry Osipenko [this message]
2021-05-24 20:25     ` Dmitry Osipenko
2021-05-23 23:13 ` [PATCH v2 14/14] soc/tegra: regulators: Support core domain state syncing Dmitry Osipenko

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=6c1e69b3-5c13-5be6-5a8d-1eecaaa45aa7@gmail.com \
    --to=digetx@gmail.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=fercerpav@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=kwizart@gmail.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mattmerhar@protonmail.com \
    --cc=mirq-linux@rere.qmqm.pl \
    --cc=mnidza@outlook.com \
    --cc=mperttunen@nvidia.com \
    --cc=nathan@kernel.org \
    --cc=pgwipeout@gmail.com \
    --cc=sboyd@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=ulf.hansson@linaro.org \
    --cc=vireshk@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;
as well as URLs for NNTP newsgroup(s).