PSCI: Use cpuidle context helpers in psci_cpu_suspend_enter()
authorMarc Zyngier <maz@kernel.org>
Tue, 15 Jun 2021 11:12:26 +0000 (12:12 +0100)
committerWill Deacon <will@kernel.org>
Thu, 17 Jun 2021 17:00:39 +0000 (18:00 +0100)
commitc9223b616298c3d0e6ff5dd20d14d65c2131c535
tree2ccdd6c72704403c9de79d46f01eb463f92e9dd9
parentd4dc10277255afc303de4f00cbee0b9ce74d870f
PSCI: Use cpuidle context helpers in psci_cpu_suspend_enter()

The PSCI CPU suspend code isn't aware of the PMR vs DAIF game,
resulting in a system that locks up if entering CPU suspend
with GICv3 pNMI enabled.

To save the day, teach the suspend code about our new cpuidle
context helpers, which will do everything that's required just
like the usual WFI cpuidle code.

This fixes my Altra system, which would otherwise lock-up at
boot time when booted with irqchip.gicv3_pseudo_nmi=1.

Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20210615111227.2454465-4-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
drivers/firmware/psci/psci.c