On 22/07/2019 17:37, Lorenzo Pieralisi wrote: > 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.pieral...@arm.com> > Cc: Will Deacon <w...@kernel.org> > Cc: Ulf Hansson <ulf.hans...@linaro.org> > Cc: Sudeep Holla <sudeep.ho...@arm.com> > Cc: Daniel Lezcano <daniel.lezc...@linaro.org> > Cc: Catalin Marinas <catalin.mari...@arm.com> > Cc: Mark Rutland <mark.rutl...@arm.com> > Cc: "Rafael J. Wysocki" <r...@rjwysocki.net> > ---
AFAICT, Acked-by: Daniel Lezcano <daniel.lezc...@linaro.org> -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog