linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rajendra Nayak <rnayak@codeaurora.org>
To: Stephen Boyd <swboyd@chromium.org>, Ulf Hansson <ulf.hansson@linaro.org>
Cc: Andy Gross <andy.gross@linaro.org>, Rob Herring <robh@kernel.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	David Collins <collinsd@codeaurora.org>,
	Matthias Kaehlcke <mka@chromium.org>,
	DTML <devicetree@vger.kernel.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v6 10/10] soc: qcom: rpmhpd: Mark mx as a parent for cx
Date: Wed, 12 Dec 2018 09:43:13 +0530	[thread overview]
Message-ID: <1c493bce-af67-2a4b-f903-8d39c39f7367@codeaurora.org> (raw)
In-Reply-To: <154456502486.17204.11345601448030201032@swboyd.mtv.corp.google.com>


[]...

>>>> This is used to enforce a requirement that exists for various
>>>> hardware blocks on SDM845 that MX performance state >= CX performance
>>>> state for a given operating frequency.
>>>
>>> I assume that also means the MX power domain must not be power off as
>>> long as the CX power domain is powered on?
>>
>> So with rpmh, there's really no separate on/off control, we just put
>> it in the lowest perf state at off.
> 
> I think in theory the answer is MX can't be off if CX is on, but in
> reality, MX and CX are never turned off, just set to something really
> low and even then the constraint applies for MX >= CX. Is that right?

to some extent, let me clarify this a bit more. rpmh is the central entity
controlling these rails and takes a final call on when it can or cannot
be 'really' off and when its turned on, at what level it should be set to.

CPU is just one of the entities 'voting' on them. Now legacy platforms which
had rpm (like msm8996) did have separate control to send a
on/off vote and a performance level vote. With rpmh, its just that there
is no separate message that you send to rpmh for OFF, its just mapped to
the lowest perf level. So think of it as the lowest perf level is mapped to
a '0' which is same as OFF.

So when you say 'MX can't be off if CX is on', yes MX can't be at the lowest
level '0', while CX is at something higher.

>>> Just to make sure there are no conflicting hierarchical constraints
>>> between idle management and performance state management!?
>>>
> 
> I'm not sure what idle states mean to the CX and MX domains. Would it be
> some sort of idle state governor attached at genpd creation time that
> would adjust the main SoC power rails when all devices attached are
> idle? Maybe I don't understand how idle states are different from
> performance states.
> My understanding is that devices using these domains would almost always
> expect their clk frequency and clk on/off state to decide what the
> performance state is, unless they need to ignore clk state because they
> aren't managing clks and bump up the voltage directly when the device is
> active. Either way, devices are actively managing the voltage they need
> these voltage domains to operate at by using the genpd performance
> states APIs.

I am not quite sure whats the point that you are trying to make here,
but this is what I would expect the users of these genpds to do,
regardless of if they have a clk dependency or not.
When the device is active, vote for a performance state they need
then request for the genpd to be on. When they are idle, request for the
genpd to be turned off.
  

  reply	other threads:[~2018-12-12  4:13 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-11  9:49 [PATCH v6 00/10] Add power domain driver for corners on msm8996/sdm845 Rajendra Nayak
2018-12-11  9:49 ` [PATCH v6 01/10] dt-bindings: opp: Introduce qcom-opp bindings Rajendra Nayak
2018-12-11  9:49 ` [PATCH v6 02/10] dt-bindings: power: Add qcom rpm power domain driver bindings Rajendra Nayak
2018-12-11 21:28   ` Stephen Boyd
2018-12-11  9:49 ` [PATCH v6 03/10] soc: qcom: rpmpd: Add a Power domain driver to model corners Rajendra Nayak
2018-12-11 21:52   ` Stephen Boyd
2018-12-11  9:49 ` [PATCH v6 04/10] soc: qcom: rpmpd: Add support for get/set performance state Rajendra Nayak
2018-12-11  9:49 ` [PATCH v6 05/10] arm64: dts: msm8996: Add rpmpd device node Rajendra Nayak
2018-12-11 21:53   ` Stephen Boyd
2018-12-11  9:49 ` [PATCH v6 06/10] soc: qcom: rpmhpd: Add RPMh power domain driver Rajendra Nayak
2018-12-11 22:01   ` Stephen Boyd
2018-12-12  5:04     ` Rajendra Nayak
2018-12-11  9:49 ` [PATCH v6 07/10] arm64: dts: sdm845: Add rpmh powercontroller node Rajendra Nayak
2018-12-11 22:01   ` Stephen Boyd
2018-12-11  9:49 ` [PATCH v6 08/10] PM / Domains: Add a simple_opp_to_performance_state() helper Rajendra Nayak
2018-12-11 21:33   ` Stephen Boyd
2018-12-11  9:49 ` [PATCH v6 09/10] soc: qcom: rpmpd: Use " Rajendra Nayak
2018-12-11 21:34   ` Stephen Boyd
2018-12-11  9:49 ` [PATCH v6 10/10] soc: qcom: rpmhpd: Mark mx as a parent for cx Rajendra Nayak
2018-12-11 10:22   ` Ulf Hansson
2018-12-11 10:33     ` Rajendra Nayak
2018-12-11 21:50       ` Stephen Boyd
2018-12-12  4:13         ` Rajendra Nayak [this message]
2018-12-12 18:32           ` Stephen Boyd
2018-12-13 16:02             ` Ulf Hansson
2018-12-11 21:51 ` [PATCH v6 00/10] Add power domain driver for corners on msm8996/sdm845 Stephen Boyd
2018-12-12  4:17   ` Rajendra Nayak

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=1c493bce-af67-2a4b-f903-8d39c39f7367@codeaurora.org \
    --to=rnayak@codeaurora.org \
    --cc=andy.gross@linaro.org \
    --cc=collinsd@codeaurora.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mka@chromium.org \
    --cc=robh@kernel.org \
    --cc=swboyd@chromium.org \
    --cc=ulf.hansson@linaro.org \
    --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).