linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC v5 0/8]  genpd multiple states v5
@ 2015-04-24 17:35 ahaslam
  2015-04-24 17:35 ` [RFC v5 1/8] PM / Domains: structure changes for multiple states ahaslam
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: ahaslam @ 2015-04-24 17:35 UTC (permalink / raw)
  To: ulf.hansson, khilman, k.kozlowski.k, geert, rjw
  Cc: bcousson, linux-pm, Axel Haslam

From: Axel Haslam <ahaslam@baylibre.com>

Some architectures may have intermediate power
levels between on and off. each state in between
may have its own set of procedures to put the
power domain into that state.

This patch 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 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.

* fix bisect-ability, 
  by allowing the old latencies values to be used if the
  state_count is 0. (meaning no states defined by the platform)

* rename target_state to state_idx and remove init_state,
  platforms can directly set state_idx on registering
  a domain that is off.

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.

* compile tested for shmobile_defconfig, exynos_defconfig,
s3c6400_defconfig u8500_defconfig.

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.

* use static arrays instead of dynamic for state declaration
since its not expected to have lots of intermediate states.
That way we don't have to mess with allocations.

* rename default_power_down_ok_state to power_down_ok_for_state

Axel Haslam (8):
  PM / Domains: structure changes for multiple states
  PM / Domains: select deepest state
  ARM: s3c64xx: pm: Convert to multiple states
  ARM: exynos: pm: Convert to multiple states
  ARM: r8a7779: pm: Convert to multiple states
  ARM: rmobile: pm: Convert to multiple states
  ARM: ux500: pm: Convert to multiple states
  PM / Domains: remove old power on/off callbacks.

 arch/arm/mach-exynos/pm_domains.c    |  8 ++++
 arch/arm/mach-s3c64xx/pm.c           | 22 +++++++++++
 arch/arm/mach-shmobile/pm-r8a7779.c  |  8 ++++
 arch/arm/mach-shmobile/pm-rmobile.c  |  8 ++++
 arch/arm/mach-ux500/pm_domains.c     |  8 ++++
 drivers/base/power/domain.c          | 75 +++++++++++++++++++++++++++++++++---
 drivers/base/power/domain_governor.c | 71 +++++++++++++++++++++-------------
 include/linux/pm_domain.h            | 12 +++++-
 8 files changed, 178 insertions(+), 34 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2015-04-27  9:33 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-24 17:35 [RFC v5 0/8] genpd multiple states v5 ahaslam
2015-04-24 17:35 ` [RFC v5 1/8] PM / Domains: structure changes for multiple states ahaslam
2015-04-26  8:42   ` Geert Uytterhoeven
2015-04-27  8:26     ` Axel Haslam
2015-04-27  8:30       ` Geert Uytterhoeven
2015-04-24 17:35 ` [RFC v5 2/8] PM / Domains: select deepest state ahaslam
2015-04-24 17:35 ` [RFC v5 3/8] ARM: s3c64xx: pm: Convert to multiple states ahaslam
2015-04-24 17:35 ` [RFC v5 4/8] ARM: exynos: " ahaslam
2015-04-24 17:35 ` [RFC v5 5/8] ARM: r8a7779: " ahaslam
2015-04-26  8:43   ` Geert Uytterhoeven
2015-04-27  9:32     ` Axel Haslam
2015-04-24 17:35 ` [RFC v5 6/8] ARM: rmobile: " ahaslam
2015-04-26  8:44   ` Geert Uytterhoeven
2015-04-24 17:35 ` [RFC v5 7/8] ARM: ux500: " ahaslam
2015-04-24 17:35 ` [RFC v5 8/8] PM / Domains: remove old power on/off callbacks ahaslam

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).