[PATCH 0/6] PM / Domains: Implement domain performance states

From: Viresh Kumar
Date: Tue Jan 03 2017 - 06:06:45 EST


Hi,

An earlier series[1] tried to implement bindings for PM domain
performance states. Rob Herring suggested that we can actually write the
supporting code first instead of bindings, as that will make things
easier to understand for all.

The bindings [1] aren't discarded yet and this series is based on a
version of those only. The bindings are only used by the last patch,
which should not be applied and is only sent for completeness.

All other patches can be reviewed/applied whenever the maintainers feel
they look good.


A brief summary of the problem this series is trying to solve:

Some platforms have the capability to configure the performance state of
their Power Domains. The performance levels are represented by positive
integer values, a lower value represents lower performance state.

We decided earlier that we should extend Power Domain framework to
support active state power management as well. The power-domains until
now were only concentrating on the idle state management of the device
and this needs to change in order to reuse the infrastructure of power
domains for active state management.

The first 5 patches update the PM domain and QoS frameworks to support
that and the last one presents the front end interface to it.

All the patches are tested by hacking the OPP core a bit for now.

--
viresh

[1] https://marc.info/?l=linux-kernel&m=148154020127722&w=2

Viresh Kumar (6):
PM / QOS: Add default case to the switch
PM / QOS: Pass request type to dev_pm_qos_{add|remove}_notifier()
PM / QOS: Add 'performance' request
PM / domain: Register for PM QOS performance notifier
PM / domain: Save/restore performance state at runtime suspend/resume
PM / OPP: Add support to parse domain-performance-state

Documentation/power/pm_qos_interface.txt | 11 ++--
drivers/base/power/domain.c | 102 ++++++++++++++++++++++++++++---
drivers/base/power/opp/core.c | 75 +++++++++++++++++++++++
drivers/base/power/opp/debugfs.c | 4 ++
drivers/base/power/opp/of.c | 44 +++++++++++++
drivers/base/power/opp/opp.h | 12 ++++
drivers/base/power/qos.c | 74 +++++++++++++++++++---
include/linux/pm_domain.h | 6 ++
include/linux/pm_qos.h | 16 +++--
9 files changed, 322 insertions(+), 22 deletions(-)

--
2.7.1.410.g6faf27b