diff options
author | Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> | 2019-08-09 13:03:12 +0200 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2019-08-09 18:51:39 +0200 |
commit | 9ffeb6d08c3a4bbd7b1e33711b241f511e2ded79 (patch) | |
tree | cd3d6211180de96c446af4cc90b62226f18bb576 /lib/test_user_copy.c | |
parent | ARM: psci: cpuidle: Enable PSCI CPUidle driver (diff) | |
download | linux-9ffeb6d08c3a4bbd7b1e33711b241f511e2ded79.tar.xz linux-9ffeb6d08c3a4bbd7b1e33711b241f511e2ded79.zip |
PSCI: cpuidle: Refactor CPU suspend power_state parameter handling
Current PSCI code handles idle state entry through the
psci_cpu_suspend_enter() API, that takes an idle state index as a
parameter and convert the index into a previously initialized
power_state parameter before calling the PSCI.CPU_SUSPEND() with it.
This is unwieldly, since it forces the PSCI firmware layer to keep track
of power_state parameter for every idle state so that the
index->power_state conversion can be made in the PSCI firmware layer
instead of the CPUidle driver implementations.
Move the power_state handling out of drivers/firmware/psci
into the respective ACPI/DT PSCI CPUidle backends and convert
the psci_cpu_suspend_enter() API to get the power_state
parameter as input, which makes it closer to its firmware
interface PSCI.CPU_SUSPEND() API.
A notable side effect is that the PSCI ACPI/DT CPUidle backends
now can directly handle (and if needed update) power_state
parameters before handing them over to the PSCI firmware
interface to trigger PSCI.CPU_SUSPEND() calls.
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'lib/test_user_copy.c')
0 files changed, 0 insertions, 0 deletions