diff options
author | Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> | 2013-09-27 10:25:02 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2014-09-12 10:48:56 +0100 |
commit | 18910ab0d916b1a87016d69efd027714a80521dd (patch) | |
tree | 3cb97f8ed90a87078e669d0ac6ca7ffd553b596d /drivers/cpuidle | |
parent | d64f84f696463c58e1908510e45b0f5d450f737a (diff) |
arm64: add PSCI CPU_SUSPEND based cpu_suspend support
This patch implements the cpu_suspend cpu operations method through
the PSCI CPU SUSPEND API. The PSCI implementation translates the idle state
index passed by the cpu_suspend core call into a valid PSCI state according to
the PSCI states initialized at boot through the cpu_init_idle() CPU
operations hook.
The PSCI CPU suspend operation hook checks if the PSCI state is a
standby state. If it is, it calls the PSCI suspend implementation
straight away, without saving any context. If the state is a power
down state the kernel calls the __cpu_suspend API (that saves the CPU
context) and passed the PSCI suspend finisher as a parameter so that PSCI
can be called by the __cpu_suspend implementation after saving and flushing
the context as last function before power down.
For power down states, entry point is set to cpu_resume physical address,
that represents the default kernel execution address following a CPU reset.
Reviewed-by: Ashwin Chaugule <ashwin.chaugule@linaro.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'drivers/cpuidle')
0 files changed, 0 insertions, 0 deletions