devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ulf Hansson <ulf.hansson@linaro.org>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: Rob Herring <robh@kernel.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	DTML <devicetree@vger.kernel.org>,
	Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
	Hector Yuan <hector.yuan@mediatek.com>,
	Bjorn Andersson <bjorn.andersson@linaro.org>
Subject: Re: [PATCH v4] dt-bindings: dvfs: Add support for generic performance domains
Date: Thu, 21 Oct 2021 18:01:37 +0200	[thread overview]
Message-ID: <CAPDyKFrf729xb92QXZw34wTYYQwEEtVKayvmSUAXtqWhPOBN4A@mail.gmail.com> (raw)
In-Reply-To: <20211021133318.74f4tdwpishicefb@bogus>

On Thu, 21 Oct 2021 at 15:33, Sudeep Holla <sudeep.holla@arm.com> wrote:
>
> On Thu, Oct 21, 2021 at 03:13:30PM +0200, Ulf Hansson wrote:
> > On Wed, 20 Oct 2021 at 14:11, Rob Herring <robh@kernel.org> wrote:
> > >
>
> [...]
>
> > > 'power domains' in DT is supposed to mean physical power islands in
> > > the h/w where as genpd can be whatever you want. Are power and
> > > performance domains always 1:1?
> >
> > I wouldn't say that "power domains" *must* correspond to physical
> > power islands. At least, that's not the way the bindings are being
> > used. For example, if it makes better sense to keep some of the logic
> > in FW, rather than describing a complete topology in DT, that should
> > be perfectly fine.
> >
>
> I agree. The DT must either have h/w view or f/w view of the topology
> and not both(that is inviting more trouble in terms of bindings as well
> as handling it in the OSPM).
>
> > Additionally, I am not suggesting that "performance domains" and
> > "power domains" must map 1:1. A device can be performance managed
> > through one domain and power managed by another, that would be
> > perfectly fine to me.
>
> I don't understand what you mean by that. Do you expect to create a genpd
> with no power domain ops and just performance ops to deal with scenario
> I have been presenting(i.e. power domains for a set of devices(CPUs in
> particular) aren't exposed to OSPM while performance domains are).

Yes, but only if that would make sense, of course.

If it matters, the performance states and idle states in genpd are
supported as two orthogonal states.

>
> I really don't like to create psuedo/dummy power domains with no useful
> info(as f/w hides or abstracts it) just to represent the performance
> domains.

I assume you mean creating dummy *genpds* - and yes that seems very
silly, I agree.

We shouldn't do that, unless we can make use of them in some clever
way to avoid open coding, but that's an entirely different question,
unrelated to DT.

>
> Also with CPUs you can imagine all sort of combinations like:
> 1. cluster level perf domain + cpu level power domains
> 3. cluster level perf domain + cluster level power domains
> 2. cpu level perf domain + cpu level power domains
> 4. cpu level perf domain + cluster level power domains
>
> + power domains not available to OSPM in all the 4 combo.
>
> So I am really struggling to visualise a way to represent these based
> on your suggestion.

For perf domains, we could model this in DT as one power domain for
performance, per CPU, but without a cluster power domain for the
performance, as that seems to be managed in FW. Note that, this
doesn't mean we need to create genpds and hook up devices to them.

I guess this would map 1:1 towards how the "performance-domains"
binding is intended to be used, right?

One thing though, for PSCI we distinguish the power domains, by
specifying "power-domain-names = "psci" in DT. Similar to this, we
would then need to come up with another power-domain-name, to map it
to a "performance domain". Mostly to cover future compatibility
issues.

So, to summarize (thanks for a good discussion!), I will not insist on
deprecating the recently introduced "performance domains" binding. I
leave the call to you! However, to me, it still looks like the
power-domains binding could be used to support "performance" as well.
Especially, as we already have other cpufreq drivers [1] supporting
them.

Kind regards
Uffe

[1]
Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt

      reply	other threads:[~2021-10-21 16:02 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-17 15:54 [PATCH v4] dt-bindings: dvfs: Add support for generic performance domains Sudeep Holla
2021-05-17 19:17 ` Rob Herring
2021-05-19 11:23   ` Sudeep Holla
2021-05-20  3:54     ` Viresh Kumar
2021-05-17 20:45 ` Rob Herring
2021-05-19 11:20   ` Sudeep Holla
2021-05-20 19:43     ` Rob Herring
2021-05-21  4:08       ` Viresh Kumar
2021-05-21 15:24         ` Sudeep Holla
2021-05-24  9:17           ` Viresh Kumar
2021-05-24 10:05             ` Sudeep Holla
2021-10-14 10:56 ` Ulf Hansson
2021-10-14 14:55   ` Sudeep Holla
2021-10-15  9:17     ` Ulf Hansson
2021-10-19  7:24       ` Viresh Kumar
2021-10-19 13:58         ` Ulf Hansson
2021-10-20  6:24           ` Viresh Kumar
2021-10-20 10:25       ` Sudeep Holla
2021-10-21 13:34         ` Ulf Hansson
2021-10-21 15:35           ` Sudeep Holla
2021-10-20 12:11       ` Rob Herring
2021-10-21 13:13         ` Ulf Hansson
2021-10-21 13:33           ` Sudeep Holla
2021-10-21 16:01             ` Ulf Hansson [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=CAPDyKFrf729xb92QXZw34wTYYQwEEtVKayvmSUAXtqWhPOBN4A@mail.gmail.com \
    --to=ulf.hansson@linaro.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hector.yuan@mediatek.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=robh@kernel.org \
    --cc=sudeep.holla@arm.com \
    --cc=viresh.kumar@linaro.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).