[PATCH v3 0/3] Use PSCI OS initiated mode for sc7280

From: Maulik Shah
Date: Fri Apr 14 2023 - 01:55:38 EST


Changes in v3:
- Add new change to provide helper function dt_idle_pd_remove_topology()
- Address ulf's comments for error handling
- Add reviewed by ulf for devicetree change

Changes in v2:
- Add new change to Move enabling OSI mode after power domains creation
- Fix compatible string to domains-idle-states for cluster idle state.
- Update cover letter with some more details on OSI and PC mode
comparision

The dependency [2] is now merged in trustedfirmware project.

Stats comparision between OSI and PC mode are captured at [3] with
usecase
details, where during multiple CPUs online the residency in cluster idle
state is better with OSI and also inline with single CPU mode. In PC
mode
with multiple CPUs cluster idle state residency is dropping compare to
single CPU mode.

Recording of this meeting is also available at [4].

This change adds power-domains for cpuidle states to use PSCI OS
initiated mode for sc7280.

This change depends on external project changes [1] & [2] which are
under review/discussion to add PSCI os-initiated support in Arm Trusted
Firmware.

I can update here once the dependency are in and change is ready to
merge.

[1] https://review.trustedfirmware.org/q/topic:psci-osi
[2] https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19487
[3] https://www.trustedfirmware.org/docs/PSCI-OS-initiated.pdf
[4] https://www.trustedfirmware.org/meetings/tf-a-technical-forum

Maulik Shah (3):
cpuidle: dt_idle_genpd: Add helper function to remove genpd topology
cpuidle: psci: Move enabling OSI mode after power domains creation
arm64: dts: qcom: sc7280: Add power-domains for cpuidle states

arch/arm64/boot/dts/qcom/sc7280.dtsi | 98 ++++++++++++++++++++-------
drivers/cpuidle/cpuidle-psci-domain.c | 37 ++++------
drivers/cpuidle/dt_idle_genpd.c | 24 +++++++
drivers/cpuidle/dt_idle_genpd.h | 7 ++
4 files changed, 116 insertions(+), 50 deletions(-)

--
2.17.1