[v3,0/6] soc: qcom: Add APSS RSC to the CPU cluster PM domain

Message ID 20221018152837.619426-1-ulf.hansson@linaro.org
Headers
Series soc: qcom: Add APSS RSC to the CPU cluster PM domain |

Message

Ulf Hansson Oct. 18, 2022, 3:28 p.m. UTC
  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@linaro.org/

[2]
https://lore.kernel.org/linux-arm-msm/20221018145348.4051809-1-amit.pundir@linaro.org/


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(-)
  

Comments

Bjorn Andersson Nov. 10, 2022, 4:09 a.m. UTC | #1
On Tue, 18 Oct 2022 17:28:31 +0200, Ulf Hansson wrote:
> 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.
> 
> [...]

Applied, thanks!

[3/6] arm64: dts: qcom: Add power-domains property for apps_rsc
      commit: 2ffa0ca4d37a1fef0b423f32007067fbce8708a3

Best regards,