Re: [PATCH v4 0/6] Add power domain driver for corners on msm8996/sdm845

From: Niklas Cassel
Date: Thu Aug 30 2018 - 04:22:08 EST


On Thu, Aug 30, 2018 at 12:05:14PM +0530, Rajendra Nayak wrote:
>
>
> On 6/27/2018 10:22 AM, Rajendra Nayak wrote:
> > 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
>
> These patches have been out on the list for a while (8 weeks).
> I haven't seen any further comments from anyone, except on PATCH 2/6
> by Rob. I requested Rob to provide his Ack if he is fine with the bindings.
>
> Can we plan to pull these in for 4.20?

Hello Rajendra,

FYI: these patches do no longer cleanly apply to v4.19-rc1, it's a trivial
conflict, but most maintainers prefer for the patch author to rebase, not
sure what Andy prefers.

If it builds correctly with COMPILE_TEST, please consider adding that to
your new Kconfig:
depends on MFD_QCOM_RPM && QCOM_SMD_RPM || COMPILE_TEST

Kind regards,
Niklas

>
> >
> > 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.
> >
> > Rajendra Nayak (6):
> > 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
> >
> > .../devicetree/bindings/opp/qcom-opp.txt | 25 ++
> > .../devicetree/bindings/power/qcom,rpmpd.txt | 146 +++++++
> > arch/arm64/boot/dts/qcom/msm8996.dtsi | 34 ++
> > drivers/soc/qcom/Kconfig | 18 +
> > drivers/soc/qcom/Makefile | 2 +
> > drivers/soc/qcom/rpmhpd.c | 406 ++++++++++++++++++
> > drivers/soc/qcom/rpmpd.c | 340 +++++++++++++++
> > include/dt-bindings/power/qcom-rpmpd.h | 39 ++
> > 8 files changed, 1010 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
> >