Changes in v3: - Re-worked the genpd patch (patch4) and updated the commit-msg. - No other changes. The APSS RSC is a part of the CPU cluster PM domain and it's responsible for flushing 'sleep' and 'wake' votes to avoid wasting energy. In particular, this needs to be done when last CPU in the cluster enters a deeper idlestate. To make this work, this series makes the APSS RSC device to become attached to its corresponding CPU cluster PM domain, which are being managed by the cpuidle-psci-domain through genpd. More details are available in the commit messages for each patch. Assuming there is an agreement to apply this, I suggest Bjorn to funnel this via his qcom tree for v6.2. Note that, there is also a related error report [1], [2], that this series should be fixing. Although, as $subject series seems a bit too heavy for stable kernels there's another minor workarounds in pipe [2] for 6.1-rc back to v5.18. That said, we may then need to make a revert of [2] for v6.2, assuming it gets merged for v6.1-rc[n]. Kind regards Ulf Hansson [1] https://lore.kernel.org/linux-pm/07c29682-41d7-5624-b08a-35dd0c223d1e@xxxxxxxxxx/ [2] https://lore.kernel.org/linux-arm-msm/20221018145348.4051809-1-amit.pundir@xxxxxxxxxx/ Lina Iyer (1): soc: qcom: rpmh-rsc: Attach RSC to cluster PM domain Maulik Shah (5): dt-bindings: soc: qcom: Update devicetree binding document for rpmh-rsc arm64: dts: qcom: Add power-domains property for apps_rsc PM: domains: Store the next hrtimer wakeup in genpd soc: qcom: rpmh-rsc: Save base address of drv soc: qcom: rpmh-rsc: Write CONTROL_TCS with next timer wakeup .../bindings/soc/qcom/qcom,rpmh-rsc.yaml | 5 + arch/arm64/boot/dts/qcom/sm8150.dtsi | 1 + arch/arm64/boot/dts/qcom/sm8250.dtsi | 1 + arch/arm64/boot/dts/qcom/sm8350.dtsi | 1 + arch/arm64/boot/dts/qcom/sm8450.dtsi | 1 + drivers/base/power/domain.c | 26 ++++ drivers/base/power/domain_governor.c | 3 + drivers/soc/qcom/rpmh-internal.h | 9 +- drivers/soc/qcom/rpmh-rsc.c | 146 ++++++++++++++++-- drivers/soc/qcom/rpmh.c | 4 +- include/linux/pm_domain.h | 7 + 11 files changed, 188 insertions(+), 16 deletions(-) -- 2.34.1