linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 0/2] Qualcomm RPM sleep states
Date: Wed, 26 Nov 2014 17:51:32 -0800	[thread overview]
Message-ID: <547683A4.4000700@codeaurora.org> (raw)
In-Reply-To: <20141126134055.GF7712@sirena.org.uk>

On 11/26/2014 05:40 AM, Mark Brown wrote:
> On Tue, Nov 25, 2014 at 05:02:52PM -0800, Stephen Boyd wrote:
>> On 11/25/2014 12:44 PM, Mark Brown wrote:
>>
>>
>>> I can't help but think that this all sounds like the RPM isn't mapping
>>> very well onto practical systems and needs revisiting in future
>>> versions...  for example with what I'm parsing out of the above an
>>> active+sleep set command or otherwise having the two modes tied together
>>> for some regulators would make the whole problem go away.
>> We create the 'active only' regulators for consumers that actually need
>> them. From the set of regulators on a board only a couple need this
> That's what I don't think is making any sense.  Creating two regulators
> for the same thing seems like bad news, at best it's going to make reuse
> harder.

What reuse is harder?

>
>> treatment. I don't see how tying the two states together via an active+sleep
>> set command would make this problem go away for the cases I already
>> described before, i.e. CPU wants some voltage and other IO devices want
>> another voltage and the CPU doesn't care what the voltage is when the CPU is
> Not paying attention to requests from a disabled consumer seems like
> something we should be able to do in general.

Sounds good.

>
>> in idle or suspend. Having a combination active + sleep set command would be
>> nice. The RPM already sort of supports this by allowing you to only modify
>> the active set. If you never modify the sleep set, then the RPM just applies
>> whatever is in the active set to the sleep set. We can probably go through
>> and figure out what resources could get away with only using the active set
>> so we can cut down on sleep set requests that are always the same between
>> active and sleep set.
> This version is starting to sound a lot like the consumers need to be
> able to do an idle to sleep transition and change their settings when
> they enter their sleep mode.  It seems a lot like what many devices do
> now when they enter and exit runtime PM but with deferred application
> depending on other users (for regulators I'm assuming the active set
> would actually be a subset of the sleep set of valid voltages).

Yes, one key point is that we want the transition to be handled by the 
RPM co-processor. The reason being that usually we want to change 
settings after the last CPU transitions into their sleep mode. There's 
no way to do this without relying on some external co-processor to go 
and change the settings for us.

>
>>> I think any duplication that's going on sounds like a consequence of
>>> the way this is currently implemented.  I think based on what I *think*
>>> you're saying the RPM driver probably ought to be hiding this and adding
>>> a property which makes the active and sleep sets track each other with
>>> normal suspend mode control otherwise.  That could potentially be done
>>> in the core, though the tracking would be substantial surgery.
>> Sorry I don't follow this part. It's about more than suspend, we also care
>> about idle. I agree that pushing the concept of active vs. sleep into the
>> framework is substantial.
> That's not what it seemed like people had been talking about up until
> this most recent e-mail, you'd been talking about suspend mode.  The
> starting point was mapping onto the suspend support the regulator has.

Hm? I've been saying "idle and suspend" each time. Perhaps the initial 
discussion about regulator suspend support threw things off.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

  reply	other threads:[~2014-11-27  1:51 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 [this message]
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
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=547683A4.4000700@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).