Re: [PATCH v7 00/10] Add power domain driver for corners on msm8996/sdm845

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Changes in v7:
* Rebased on Andy's for-next, and used the updated cmd_db_read_aux_data()
[]..

Hey Andy, just wanted to let you know that this series (v7) is now
well reviewed/ack'ed and ready to land (except for the last 3 patches)
Patch 08/10 will need to go via Ulf/Rafael and Patch 09/10 depends on it
for compilation, also Patch 10/10 has other dependencies which need to
land via the power tree.

So Patch 01/10 to 07/10 from this series are good to be pulled in,
whenever you think is the right time, I am guessing its probably
too late for 4.21?

Thanks,
Rajendra


Changes in v6:
* OPP binding updates for qcom,level reviewed by Rob
* DT bindings for rpmpd and rpmhpd updated to specify the
OPP tables as child nodes of the power-controller itself
* Removed some module specific remains from the drivers,
now that they can only be built-in
* Added a simple_opp_to_performance_state() helper

Changes in v5:
* First 6 patches are unchanged
* Patch 7/8 adds the DT node for rpmh power-controller on sdm845 and the
corresponding OPP tables for it to describe the performance states
* Patch 8/8 adds a parent/child relationship across mx/cx and mx_ao/cx_ao
as needed on sdm845 platform. This patch is dependent on the series from
Viresh [1] which adds support to propogate performance states across the
power domain hierarchy which is still being reviewed

Changes in v4:
* Included the patch to add qcom-opp bindings (dropped accidentally in v3)
* merged the patches to add bindings for rpm and rpmh, added consumer binding example
* Made the drivers built in, removed .remove
* Added better description in changelog for PATCH 6/6
* Updated rpmhpd_aggregate_corner() based on Davids feedback
* rpmhpd_set_performance_state() returns max corner, in cases where its called
with an INT_MAX
* Dropped the patch to max vote on all corners at init, the patch did not
work anyway, and it shouldn't be needed now

Changes in v3:
* Bindings split into seperate patches
* Bindings updated to remove duplicate OPP table phandles
* DT headers defining macros for Power domain indexes and OPP levels
* Optimisations to use rpmh_write_async() whereever applicable
* Fixed up handling of ACTIVE_ONLY/WAKE_ONLY/SLEEP voting for RPMh
* Fixed the vlvl to hlvl conversions in set_performance
* Other minor fixes based on review of v2
* TODO: This series does not handle the case where all VDD_MX votes
should be higher than VDD_CX from APPs, as pointed out
by David Collins in v2. This needs support at genpd to propogate performance
state up the parents, if we model these as Parent/Child to handle the
interdependency.

Changes in v2:
* added a power domain driver for sdm845 which supports communicating to RPMh
* dropped the changes to sdhc driver to move over to using OPP
as there is active discussion on using OPP as the interface vs
handling all of it in clock drivers
* Other minor binding updates based on review of v1

With performance state support for genpd/OPP merged, this is an effort
to model a power domain driver to communicate corner/level
values for qualcomm platforms to RPM (Remote Power Manager) and RPMh.

[1] https://lkml.org/lkml/2018/11/26/333

Rajendra Nayak (10):
   dt-bindings: opp: Introduce qcom-opp bindings
   dt-bindings: power: Add qcom rpm power domain driver bindings
   soc: qcom: rpmpd: Add a Power domain driver to model corners
   soc: qcom: rpmpd: Add support for get/set performance state
   arm64: dts: msm8996: Add rpmpd device node
   soc: qcom: rpmhpd: Add RPMh power domain driver
   arm64: dts: sdm845: Add rpmh powercontroller node
   PM / Domains: Add a simple_opp_to_performance_state() helper
   soc: qcom: rpmpd: Use simple_opp_to_performance_state() helper
   soc: qcom: rpmhpd: Mark mx as a parent for cx

  .../devicetree/bindings/opp/qcom-opp.txt      |  25 ++
  .../devicetree/bindings/power/qcom,rpmpd.txt  | 146 +++++++
  arch/arm64/boot/dts/qcom/msm8996.dtsi         |  34 ++
  arch/arm64/boot/dts/qcom/sdm845.dtsi          |  51 +++
  drivers/base/power/domain.c                   |  17 +
  drivers/soc/qcom/Kconfig                      |  18 +
  drivers/soc/qcom/Makefile                     |   2 +
  drivers/soc/qcom/rpmhpd.c                     | 402 ++++++++++++++++++
  drivers/soc/qcom/rpmpd.c                      | 317 ++++++++++++++
  include/dt-bindings/power/qcom-rpmpd.h        |  39 ++
  include/linux/pm_domain.h                     |   9 +
  11 files changed, 1060 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/opp/qcom-opp.txt
  create mode 100644 Documentation/devicetree/bindings/power/qcom,rpmpd.txt
  create mode 100644 drivers/soc/qcom/rpmhpd.c
  create mode 100644 drivers/soc/qcom/rpmpd.c
  create mode 100644 include/dt-bindings/power/qcom-rpmpd.h




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux