From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 0/2] Qualcomm RPM sleep states
Date: Thu, 04 Dec 2014 13:15:27 -0800 [thread overview]
Message-ID: <5480CEEF.7000906@codeaurora.org> (raw)
In-Reply-To: <20141128201613.GB7712@sirena.org.uk>
On 11/28/2014 12:16 PM, Mark Brown wrote:
> On Thu, Nov 27, 2014 at 11:42:41AM -0800, Bjorn Andersson wrote:
>> On Thu, Nov 27, 2014 at 11:02 AM, Mark Brown <broonie@kernel.org> wrote:
>>>> * we don't want to waste the time of making sending out the request
>>>> * we have hardware support for this and we want to use it(?)
>>> I'm still hazy on what that actually means. I thought the CPU case was
>>> one of the big ones where you *did* want to act on the configuration
>>> changes?
>> By utilising the hardware support for switching between active and
>> sleep state (and having the cpu only affecting the active state) we
>> can do this asynchronously, while being in wfi.
> Hrm, right. This is starting to make sense. So what we're saying here
> is roughly that you want to use a separate suspend-like mode (the extra
> set of registers for the low power mode mode) but are entering it
> without actually suspending the whole system?
For the idle path, yes. We also want to do the same sort of thing on the
system suspend path.
>
>>>> In the case of us having other active consumers (e.g. GPU, display or some
>>>> peripherals) the voltage range or operating mode specified by the cpufreq
>>>> driver might be suboptimal when we remove the cpu.
>>> I don't understand. Why is the other consumer asking for something it
>>> doesn't need itself?
>> I don't have the actual numbers, but we have a situation that looks like this:
>> gpu driver does regulator_set_voltage(.5V, 1V);
>> cpufreq driver does regulator_set_voltage(1V,1V);
>> The regulator framework will make the regulator tick at 1V
>> Upon going to sleep the cpuidle driver will, through the hardware
>> support, make the regulator tick at .5V. Before returning the cpu from
>> idle the hardware will make the regulator tick at 1V again.
> So the regulator framework should be fine if the CPU regulator
> constraint was disabled while the CPU consumer was disabled (modulo the
> performance issue)?
The CPU regulator consumer won't be disabled through any software
mechanism. It will stay enabled in software and when we execute wfi the
hardware will drop that consumers request because it was only requesting
in the active set.
>
>>> If you're hiding it in the driver make sure it's *hidden* in the driver
>>> - exporting duplicate regulators doesn't sound like hiding to me.
>> This is the problem at hand, we have not found any way to actually
>> hide this in the driver as the two modes depend on the consumer and
>> not the aggregated values we get out of the regulator framework.
>> Or rather, my proposal would do that, but that will not be able to
>> handle the case when there's different voltages in the two states. It
>> would only take care of the enable/disable case.
> So, I think something along the lines of suspend mode ought to be able
> to handle this. What we need is a way of accelerating the entry and
> exit, right?
>
>> The exposure of multiple regulators moves the problem to the
>> devicetree, making sure to map the consumers to the right
>> state/regulator. But it should only be the cpu (in its various forms)
>> that ever consume the active only regulator.
> He said hopefully... :)
>
> I think I now have a reasonable picture of what's going on but wanted to
> confirm that what I'm saying above makes sense.
That's good. Is there any conclusion here? I'm still thinking that
having multiple regulators for the same physical supply is the right
thing to do.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2014-12-04 21:15 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-10 22:52 [RFC 0/2] Qualcomm RPM sleep states Bjorn Andersson
2014-11-10 22:52 ` [RFC 1/2] mfd: qcom-rpm: Expose sleep state resources to clients Bjorn Andersson
2014-11-11 12:04 ` Lee Jones
2014-11-11 18:33 ` Bjorn Andersson
2014-11-12 9:52 ` Lee Jones
2014-11-12 14:45 ` Lina Iyer
2014-11-12 19:23 ` Bjorn Andersson
2014-11-19 18:06 ` Lina Iyer
2014-11-12 19:55 ` Bjorn Andersson
2014-11-10 22:52 ` [RFC 2/2] regulator: qcom-rpm: Implement RPM assisted disable Bjorn Andersson
2014-11-11 9:11 ` Andreas Färber
2014-11-11 18:34 ` Bjorn Andersson
2014-11-11 11:59 ` Lee Jones
2014-11-11 18:39 ` Bjorn Andersson
2014-11-11 14:21 ` Javier Martinez Canillas
2014-11-11 19:23 ` Bjorn Andersson
2014-11-21 23:10 ` [RFC 0/2] Qualcomm RPM sleep states Stephen Boyd
2014-11-21 23:27 ` Mark Brown
2014-11-21 23:43 ` Stephen Boyd
2014-11-21 23:54 ` Mark Brown
2014-11-22 0:03 ` Stephen Boyd
2014-11-22 0:16 ` Bjorn Andersson
2014-11-24 18:16 ` Mark Brown
2014-11-24 21:19 ` Stephen Boyd
2014-11-25 20:44 ` Mark Brown
2014-11-26 1:02 ` Stephen Boyd
2014-11-26 13:40 ` Mark Brown
2014-11-27 1:51 ` Stephen Boyd
2014-11-27 18:56 ` Mark Brown
2014-11-26 23:34 ` Bjorn Andersson
2014-11-27 19:02 ` Mark Brown
2014-11-27 19:42 ` Bjorn Andersson
2014-11-28 20:16 ` Mark Brown
2014-12-04 21:15 ` Stephen Boyd [this message]
2014-12-08 18:06 ` Bjorn Andersson
2014-12-08 19:39 ` Mark Brown
2014-12-08 20:55 ` Bjorn Andersson
2014-12-09 18:16 ` Mark Brown
2014-12-09 19:25 ` Bjorn Andersson
2014-12-09 20:28 ` Mark Brown
2014-12-11 22:36 ` Bjorn Andersson
2014-12-15 18:04 ` Mark Brown
2014-12-16 6:05 ` Bjorn Andersson
2014-12-26 17:09 ` Mark Brown
2014-12-29 21:54 ` Bjorn Andersson
2014-12-30 16:43 ` Mark Brown
2014-11-24 17:02 ` Bjorn Andersson
2014-11-24 21:19 ` Stephen Boyd
2014-11-24 21:59 ` Bjorn Andersson
2014-11-25 0:02 ` Stephen Boyd
2014-11-26 22:49 ` Bjorn Andersson
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=5480CEEF.7000906@codeaurora.org \
--to=sboyd@codeaurora.org \
--cc=linux-arm-kernel@lists.infradead.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).