From: Viresh Kumar <viresh.kumar@linaro.org>
To: Stephen Boyd <sboyd@codeaurora.org>
Cc: Kevin Hilman <khilman@baylibre.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Rob Herring <robh@kernel.org>, Rafael Wysocki <rjw@rjwysocki.net>,
"linaro-kernel@lists.linaro.org" <linaro-kernel@lists.linaro.org>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Lina Iyer <lina.iyer@linaro.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Nayak Rajendra <rnayak@codeaurora.org>
Subject: Re: [PATCH 1/2] PM / Domains: Introduce domain-performance-state binding
Date: Fri, 2 Dec 2016 16:17:17 +0530 [thread overview]
Message-ID: <20161202104717.GC22049@vireshk-i7> (raw)
In-Reply-To: <20161130010804.GI6095@codeaurora.org>
On 29-11-16, 17:08, Stephen Boyd wrote:
> Perhaps. One question is if we consider a shared regulator as a
> regulator in the kernel, or if we want to hide the regulator
> behind some other API that aggregates the users of the voltage. I
> don't see how to draw the line clearly between a regulator and a
Neither do I :)
> power domain that modifies a regulator underneath. It seems like
> everything that's using a regulator on the SoC could be using a
> power domain instead and then we could be aggregating the voltage
> requirements outside of the regulator APIs.
If I am not wrong the regulator API chooses an intersection instead of the max
requested voltage and so it may not fit very well in the use-case we are trying
to solve.
> The only other way I can think of doing it is by having the
> voltages in the OPP tables for each device. That gets sort of
> messy though because all the devices calling
> regulator_set_voltage() have to set the min voltage to be their
> required voltage and the max to be the global max voltage on the
> system. Otherwise a higher voltage may not be used while it may
> be required. Of course, we could encode that as the last value in
> the triplet and everything works.
Where will we get the performance levels in this case ?
> What do we do if the device is part of multiple domains? For
> example it may be part of two power domains for different pieces
> of the silicon within one device, and we may want to
> independently control those domains depending on the clock
> frequency.
I thought the best way to handle would be to add a virtual domain for such a
device. That domain shall be responsible for changing its parent based on the
performance level selected, and at that point only the recalculations for both
the parents should happen to select the new best performance level.
@Rob / Kevin: Do you have any inputs on the things we are discussing here? I
want to involve you guys as early as possible, or we will come back to this
again :(
--
viresh
next prev parent reply other threads:[~2016-12-02 10:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-18 9:23 [PATCH 0/2] PM / Domains / OPP: Introduce domain-performance-state binding Viresh Kumar
2016-11-18 9:23 ` [PATCH 1/2] PM / Domains: " Viresh Kumar
2016-11-21 15:07 ` Rob Herring
2016-11-22 3:17 ` Viresh Kumar
2016-11-22 18:12 ` Kevin Hilman
2016-11-22 18:34 ` Vincent Guittot
[not found] ` <CAKfTPtDR6Y5UgaqJ+D5T0yBeFRSYWm6OT1+r4ZABrtqtvF2D0w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-23 3:22 ` Viresh Kumar
2016-11-23 15:51 ` Kevin Hilman
[not found] ` <m2wpfuw5wq.fsf-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-11-23 15:55 ` Vincent Guittot
2016-11-23 22:30 ` Kevin Hilman
[not found] ` <m2fumhx21h.fsf-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-11-24 2:03 ` Stephen Boyd
2016-11-24 4:40 ` Viresh Kumar
2016-11-28 18:27 ` Stephen Boyd
2016-11-29 6:57 ` Viresh Kumar
2016-11-30 1:08 ` Stephen Boyd
2016-12-02 10:47 ` Viresh Kumar [this message]
[not found] ` <cover.1479459752.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-11-18 9:23 ` [PATCH 2/2] PM / OPP: Introduce domain-performance-state binding to OPP nodes Viresh Kumar
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=20161202104717.GC22049@vireshk-i7 \
--to=viresh.kumar@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=khilman@baylibre.com \
--cc=lina.iyer@linaro.org \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=rjw@rjwysocki.net \
--cc=rnayak@codeaurora.org \
--cc=robh@kernel.org \
--cc=sboyd@codeaurora.org \
--cc=ulf.hansson@linaro.org \
--cc=vincent.guittot@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).