Enabling PSCI based idle on ARM 32-bit platforms
Get series with b4
b4 am 20151013193413.2e62bff9@xhackerVersions newest first
- v2 Latest0 of 2 patches 0 repliesNew
Patches in v2 No applies recorded yet
None of the 2 patches the cover letter announces are in this archive.
Reviews trailers per patch
| Patch | Jisheng Zhang |
|---|---|
| Series | T-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v2 0/2] Enabling PSCI based idle on ARM 32-bit platforms
Dear Lorenzo,
Quoted 40 lines · On Mon, 12 Oct 2015 12:17:06 +0100 Lorenzo Pieralisi…
This patch series is v2 of a previous posting:
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-October/373756.html
v1->v2:- Refactored patch 1 to remove cpu parameter from
cpuidle_opssuspend hook
- Refactoredpsci_cpu_init_idleto stub out dt parsing function and make it usable on both ARM/ARM64 with no additional changes
- Updated ARMcpuidle_opsto new interfaces
- Fixed PSCI enable method string in ARMcpuidle_opsstructPSCI firmware provides a kernel API that, through a standard interface, allows to manage power states transitions in a seamless manner for ARM and ARM64 systems.
Current PSCI code that initializes CPUidle states on PSCI based systems lives in
arch/arm64directory but it is not ARM64 specific and can be shared with ARM 32-bit systems so that the generic ARM CPUidle driver can leverage the common PSCI interface.This patch series moves PSCI CPUidle management code to
drivers/firmwaredirectory so that ARM and ARM64 architecture can actually share the code.It is made up of two patches:
Patch 1 refactors ARM 32-bit generic idle implementation to remove the cpu parameter from the
cpuidle_opssuspend hook, in preparation for a common PSCI implementation for ARM/ARM64 PSCI idle.Patch 2 moves ARM64 PSCI CPUidle functions implementation to
drivers/firmwareso that it can be shared with ARM 32-bit platforms code. This patch also adds a PSCI entry section on ARM 32-bit systems so that the PSCI CPUidle back-end can be enabled when the enable-method corresponds to PSCI.Patches apply on top of current patch stack to enable PSCI 1.0:
Quoted 8 lines
git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.gittags/firmware/psci-1.0Tested on Juno board (ARM64), compile tested only on ARM 32-bit systems.
Lorenzo Pieralisi (2):
ARM: cpuidle: remove cpu parameter from thecpuidle_opssuspend hook
ARM64: kernel: PSCI: move PSCI idle management code to
drivers/firmware
I did a simple test, it works ARM 32 PSCI system
So for this series except the qcom changes (I have no qcom platform), feel free to add
I also could simple test v3 when it is out.
thanks a lot for these patches!
Quoted 11 lines
arch/arm/include/asm/cpuidle.h | 2 +- arch/arm/kernel/cpuidle.c | 2 +- arch/arm64/kernel/psci.c | 99 +----------------------------- drivers/firmware/Makefile | 2 +- drivers/firmware/psci_cpuops.c | 133 +++++++++++++++++++++++++++++++++++++++++ drivers/soc/qcom/spm.c | 10 ++-- include/linux/psci.h | 3 + 7 files changed, 146 insertions(+), 105 deletions(-) create mode 100644 drivers/firmware/psci_cpuops.c