From: jszhang@marvell.com (Jisheng Zhang)
To: linux-arm-kernel@lists.infradead.org
Subject: "coupled" regulator support
Date: Thu, 21 Jul 2016 18:45:21 +0800 [thread overview]
Message-ID: <20160721184521.03a1b690@xhacker> (raw)
In-Reply-To: <20160718180508.GV30372@sirena.org.uk>
Dear Mark,
On Mon, 18 Jul 2016 19:05:08 +0100 Mark Brown wrote:
> On Mon, Jul 18, 2016 at 02:44:22PM +0800, Jisheng Zhang wrote:
>
> > v1 and v2 and both valid voltages, but here we have an explicit limitation:
> > we must take the "regulator shared" fact into consideration. Let's assume
> > the voltage is at v2, devA is not busy now, it wants to scale down freq, then
> > scale down voltage to v1, but if devB hasn't call for setting voltage to
> > v1, we can't scale down voltage now, we need to wait for devB sending out
> > the voltage scaling down request when it is not busy in future some time.
> > Obviously, the last user will succeed to scale down the voltage.
>
> > My solution is
> > to extend regulator_check_consumers() to check whether all consumers agree
> > to scaling down voltage or not.
>
> I'm not sure I 100% follow your explanation above - it still sounds like
> a normal shared regulator situation. In general I'm really unsure how
You are right!
After carefully checking the code, I found the existing regulator core could
meet my what I want.
Thanks so much,
Jisheng
> this sort of scheme is expected to work. It seems like in a lot of
> cases there will be some other constraints in play (like needing to do
> frequency updates as part of the sequence) which can't be handled purely
> in the regulator API and/or that the DVFS driver ought to be able to use
> notifiers to discover when actual changes have happened and handle
> things in their own code. But like I say I don't 100% follow what's new
> in your example so I may be missing something.
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <jszhang@marvell.com>
To: Mark Brown <broonie@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: "coupled" regulator support
Date: Thu, 21 Jul 2016 18:45:21 +0800 [thread overview]
Message-ID: <20160721184521.03a1b690@xhacker> (raw)
In-Reply-To: <20160718180508.GV30372@sirena.org.uk>
Dear Mark,
On Mon, 18 Jul 2016 19:05:08 +0100 Mark Brown wrote:
> On Mon, Jul 18, 2016 at 02:44:22PM +0800, Jisheng Zhang wrote:
>
> > v1 and v2 and both valid voltages, but here we have an explicit limitation:
> > we must take the "regulator shared" fact into consideration. Let's assume
> > the voltage is at v2, devA is not busy now, it wants to scale down freq, then
> > scale down voltage to v1, but if devB hasn't call for setting voltage to
> > v1, we can't scale down voltage now, we need to wait for devB sending out
> > the voltage scaling down request when it is not busy in future some time.
> > Obviously, the last user will succeed to scale down the voltage.
>
> > My solution is
> > to extend regulator_check_consumers() to check whether all consumers agree
> > to scaling down voltage or not.
>
> I'm not sure I 100% follow your explanation above - it still sounds like
> a normal shared regulator situation. In general I'm really unsure how
You are right!
After carefully checking the code, I found the existing regulator core could
meet my what I want.
Thanks so much,
Jisheng
> this sort of scheme is expected to work. It seems like in a lot of
> cases there will be some other constraints in play (like needing to do
> frequency updates as part of the sequence) which can't be handled purely
> in the regulator API and/or that the DVFS driver ought to be able to use
> notifiers to discover when actual changes have happened and handle
> things in their own code. But like I say I don't 100% follow what's new
> in your example so I may be missing something.
next prev parent reply other threads:[~2016-07-21 10:45 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-15 12:01 "coupled" regulator support Jisheng Zhang
2016-07-15 12:01 ` Jisheng Zhang
2016-07-15 12:50 ` Mark Brown
2016-07-15 12:50 ` Mark Brown
2016-07-18 6:44 ` Jisheng Zhang
2016-07-18 6:44 ` Jisheng Zhang
2016-07-18 18:05 ` Mark Brown
2016-07-18 18:05 ` Mark Brown
2016-07-21 10:45 ` Jisheng Zhang [this message]
2016-07-21 10:45 ` Jisheng Zhang
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=20160721184521.03a1b690@xhacker \
--to=jszhang@marvell.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.