From: skannan@codeaurora.org
To: "Mark Brown" <broonie@opensource.wolfsonmicro.com>
Cc: "Saravana Kannan" <skannan@codeaurora.org>,
"Liam Girdwood" <lrg@slimlogic.co.uk>,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] regulator: Call into regulator driver only when voltage min/max really changes.
Date: Sun, 12 Dec 2010 04:41:04 -0800 (PST) [thread overview]
Message-ID: <d681667c87585c281d0330c030c97025.squirrel@codeaurora.org> (raw)
In-Reply-To: <20101212121842.GC15189@opensource.wolfsonmicro.com>
> On Sun, Dec 12, 2010 at 02:55:40AM -0800, Saravana Kannan wrote:
>> Even in cases where the consumer driver calls the regulator core with
>> different voltage min/max values, the application of the various
>> voltage constraints could result in the min/max voltage values passed
>> to the regulator driver to be unchanged since the previous invocation.
>
> Out of interest do we have any examples of consumers that do this
> sufficiently often and/or in paths sufficiently performance critical for
> it to be an issue? Sounds like there might be room for optimisation in
> those consumers.
Wouldn't it be better to optimize in one location (the core), instead of
optimizing in several consumers?
I probably should have mentioned this too -- The other case this optimizes
is the consumer calling with the same values. It can happen during CPU
frequency scaling where multiple frequencies might have the same voltage
level.
>> Optimize these cases by not calling into the regulator driver and not
>> sending incorrect/unnecessary voltage change notifications.
>
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
>
> The down side of doing this is that if the regulator state changes
> underneath us we've now got no way of recovering from that situation.
> This is something that's only partially supported by the API at the
> minute but it's nice to have a story about how drivers can work with
> this. I'll send a patch adding an explicit sync API.
Would this be a problem irrespective of this optimization?
Btw, after sending this patch, I just realized there might be another
"bug" in the existing code (not my changes). What's the meaning of the
"voltage change" event? It appears to be sent even if the regulator driver
fails to set the voltage. It would be correct if the event just means
"someone called set_voltage", but that seems like an unlikely definition.
Let me know if I should send in a patch for that too.
Thanks,
Saravana
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
next prev parent reply other threads:[~2010-12-12 12:41 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-12 10:55 [PATCH] regulator: Call into regulator driver only when voltage min/max really changes Saravana Kannan
2010-12-12 12:18 ` Mark Brown
2010-12-12 12:41 ` skannan [this message]
2010-12-12 13:13 ` Mark Brown
2010-12-12 13:53 ` Mark Brown
2010-12-12 21:41 ` Saravana Kannan
2010-12-13 14:41 ` Liam Girdwood
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=d681667c87585c281d0330c030c97025.squirrel@codeaurora.org \
--to=skannan@codeaurora.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lrg@slimlogic.co.uk \
/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