From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Marc Zyngier <maz@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org,
Will Deacon <will@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Valentin Schneider <valentin.schneider@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
Russell King <linux@armlinux.org.uk>,
kernel-team@android.com
Subject: Re: [PATCH 3/3] PSCI: Use cpuidle context helpers in psci_cpu_suspend_enter()
Date: Fri, 11 Jun 2021 17:49:37 +0100 [thread overview]
Message-ID: <20210611164937.GC9252@lpieralisi> (raw)
In-Reply-To: <20210608172715.2396787-4-maz@kernel.org>
On Tue, Jun 08, 2021 at 06:27:15PM +0100, Marc Zyngier wrote:
> 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.
>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> ---
> drivers/firmware/psci/psci.c | 5 +++++
> 1 file changed, 5 insertions(+)
We need an additional patch for PSCI suspend, regardless:
Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c
> index 3c1c5daf6df2..d10675bdd9d0 100644
> --- a/drivers/firmware/psci/psci.c
> +++ b/drivers/firmware/psci/psci.c
> @@ -333,13 +333,18 @@ static int psci_suspend_finisher(unsigned long state)
>
> int psci_cpu_suspend_enter(u32 state)
> {
> + struct arm_cpuidle_context context;
> int ret;
>
> + arm_cpuidle_save_context(&context);
> +
> if (!psci_power_state_loses_context(state))
> ret = psci_ops.cpu_suspend(state, 0);
> else
> ret = cpu_suspend(state, psci_suspend_finisher);
>
> + arm_cpuidle_restore_context(&context);
> +
> return ret;
> }
> #endif
> --
> 2.30.2
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-06-11 16:51 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-08 17:27 [PATCH 0/3] arm64: Fix cpuidle with pseudo-NMI enabled Marc Zyngier
2021-06-08 17:27 ` [PATCH 1/3] arm64: Add cpuidle context save/restore helpers Marc Zyngier
2021-06-11 16:46 ` Lorenzo Pieralisi
2021-06-12 12:04 ` Marc Zyngier
2021-06-16 12:07 ` Lorenzo Pieralisi
2021-06-08 17:27 ` [PATCH 2/3] arm64: Convert cpu_do_idle() to using cpuidle context helpers Marc Zyngier
2021-06-11 16:48 ` Lorenzo Pieralisi
2021-06-08 17:27 ` [PATCH 3/3] PSCI: Use cpuidle context helpers in psci_cpu_suspend_enter() Marc Zyngier
2021-06-08 18:20 ` Sudeep Holla
2021-06-11 16:49 ` Lorenzo Pieralisi [this message]
2021-06-09 14:46 ` [PATCH 0/3] arm64: Fix cpuidle with pseudo-NMI enabled Valentin Schneider
2021-06-09 14:58 ` Valentin Schneider
2021-06-10 16:28 ` Lorenzo Pieralisi
2021-06-10 17:43 ` Sudeep Holla
2021-06-11 8:24 ` Marc Zyngier
2021-06-11 8:19 ` Marc Zyngier
2021-06-11 9:41 ` Lorenzo Pieralisi
2021-06-11 11:32 ` Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210611164937.GC9252@lpieralisi \
--to=lorenzo.pieralisi@arm.com \
--cc=alexandru.elisei@arm.com \
--cc=catalin.marinas@arm.com \
--cc=kernel-team@android.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=valentin.schneider@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.