From: ahaslam@baylibre.com
To: ulf.hansson@linaro.org, lina.iyer@linaro.org
Cc: khilman@baylibre.com, linux-pm@vger.kernel.org,
geert@linux-m68k.org, mtitinger@baylibre.com, rjw@rjwysocki.net,
bcousson@baylibre.com, Axel Haslam <ahaslam+renesas@baylibre.com>
Subject: [RFC v11 0/3] Multiple intermediate states for genpd
Date: Tue, 9 Feb 2016 14:15:48 +0100 [thread overview]
Message-ID: <1455023751-32521-1-git-send-email-ahaslam@baylibre.com> (raw)
From: Axel Haslam <ahaslam+renesas@baylibre.com>
Some architectures may have intermediate power levels between on and off.
This patch set adds the ability to declare multiple states for a given
generic power domain, the idea is that the deepest state will be entered
which does not violate any of the device or sub-domain latency constraints.
Changes since v10
* Several reworks after Ulf Hansson's comments:
- merge the governor changes and core changes into a single patch
- remove the "name" of the state.
- add a default state allocation function
- convert governor power done ok function to while loop.
- reword commit message
Changes since v9
*rebased on linux-next
Changes since v8
* rebased to linux-pm next
Changes since v7:
* rebase to 4.3-rc5
* add genpd_init_simple (Lina's suggestion) for platforms that don't have
multiple states and don't declare initial latencies. A default OFF
state with initial 0 latencies will be used in this case.
* Append Mark's patch to add "states" and "timings" to the genpd
debugfs
Changes since v6:
* change int to unsigned int were appropriate.
* spelling mistakes, and fix commit message for removal of latencies.
Changes since v5:
* rebase to 4.1-rc1
* Pass state array as an init argument on pm_genpd_init
* declare a default OFF state with no latencies, that will be used if a
null state argument is given.
* set the deepest state when using sync_poweroff.
* create and use name allocation function in the debug area
instead of inline.
Changes since v4:
* move to power_on/off callbacks out of the state array Platforms can
check the state_idx to know what state the power on/off corresponds to.
* convert states to pointer,
Dynamically allocate the states array to save memory on platforms
with several power domains.
* rename target_state to state_idx and remove init_state.
Changes since v3:
* remove old power on/off function at the end of the
series so that compilation will not break in between.
Changes since v2:
* remove state argument and macros from save/restore callbacks.
* added init_state for platforms to pass the initial state when the genpd
is initially off.
* convert current genpd users for the structure changes.
Changes since v1:
* split the changes so that the actual logic that selects the target state
is a separate patch.
* move the cached logic out of the state function and add
it back to default_power_down_ok.
* rename default_power_down_ok_state to power_down_ok_for_state
Axel Haslam (3):
PM / Domains: Support for multiple states
ARM: imx6: pm: declare pm domain latency on power_state struct.
PM / Domains: remove old power on/off latencies.
arch/arm/mach-imx/gpc.c | 11 ++++--
drivers/base/power/domain.c | 53 ++++++++++++++++++++++++---
drivers/base/power/domain_governor.c | 70 +++++++++++++++++++++++-------------
include/linux/pm_domain.h | 11 ++++--
4 files changed, 112 insertions(+), 33 deletions(-)
--
2.6.3
next reply other threads:[~2016-02-09 13:16 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-09 13:15 ahaslam [this message]
2016-02-09 13:15 ` [RFC v11 1/3] PM / Domains: Support for multiple states ahaslam
2016-02-09 15:38 ` Ulf Hansson
[not found] ` <CAKXjFTMzgy1gp5rG4N8UOKkoUa1qMzzrU2Vy7pNF8+FiNbinUQ@mail.gmail.com>
2016-02-10 8:08 ` Ulf Hansson
2016-02-10 9:25 ` Axel Haslam
2016-02-10 10:24 ` Ulf Hansson
2016-02-10 10:56 ` Axel Haslam
2016-02-09 13:15 ` [RFC v11 2/3] ARM: imx6: pm: declare pm domain latency on power_state struct ahaslam
2016-02-09 15:39 ` Ulf Hansson
2016-02-09 13:15 ` [RFC v11 3/3] PM / Domains: remove old power on/off latencies ahaslam
2016-02-09 15:41 ` Ulf Hansson
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=1455023751-32521-1-git-send-email-ahaslam@baylibre.com \
--to=ahaslam@baylibre.com \
--cc=ahaslam+renesas@baylibre.com \
--cc=bcousson@baylibre.com \
--cc=geert@linux-m68k.org \
--cc=khilman@baylibre.com \
--cc=lina.iyer@linaro.org \
--cc=linux-pm@vger.kernel.org \
--cc=mtitinger@baylibre.com \
--cc=rjw@rjwysocki.net \
--cc=ulf.hansson@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