mbox series

[v2,0/3] PM / Domains: Add support for assigned-performance-states

Message ID 1622095949-2014-1-git-send-email-rnayak@codeaurora.org (mailing list archive)
Headers show
Series PM / Domains: Add support for assigned-performance-states | expand

Message

Rajendra Nayak May 27, 2021, 6:12 a.m. UTC
This is a re-spin of the series that was posted a while back [1]
with no major changes except for some review feedback from Stephen
addressed.

Back when this was posted, we thought its a good idea if client
drivers handle this instead of genpd core handling it [2]
So that lead to another series which handled this in the i2c 
driver [3], but then it looked like it would be duplication
of code across drivers and perhaps it should be done some place
centrally.

The way forward seems like
1. Get the bindings reviewed from DT folks
2. Once the bindings are finalized, figure out how to handle this
centrally without duplication. While this series does it with everything
handled in genpd core, there are perhaps other ways to do it with genpd
core exporting some helpers and genpd providers handling some of it with
callbacks.

----
Some devices within power-domains with performance states do not
support DVFS, but still need to vote on a default/static state
while they are active. Add support for a new device tree property
which the clients can use to specify this and add support in
kernel to parse this value and vote.

[1] https://lore.kernel.org/patchwork/patch/1284040/
[2] https://lore.kernel.org/patchwork/patch/1284042/
[3] https://lore.kernel.org/patchwork/patch/1356618/

Rajendra Nayak (3):
  dt-bindings: power: Introduce 'assigned-performance-states' property
  PM / Domains: Add support for 'assigned-performance-states'
  arm64: dts: sc7180: Add assigned-performance-states for i2c

 .../devicetree/bindings/power/power-domain.yaml    | 50 ++++++++++++++++++++++
 arch/arm64/boot/dts/qcom/sc7180.dtsi               | 24 +++++++++++
 drivers/base/power/domain.c                        | 27 ++++++++++++
 include/linux/pm_domain.h                          |  1 +
 4 files changed, 102 insertions(+)