2023-10-06 22:16:37

by Doug Anderson

[permalink] [raw]
Subject: [PATCH 2/3] Revert "arm64: smp: avoid NMI IPIs with broken MediaTek FW"

This reverts commit a07a594152173a3dd3bdd12fc7d73dbba54cdbca.

This is no longer needed after the patch ("arm64: Disable GiC
priorities on Mediatek devices w/ firmware issues").

Signed-off-by: Douglas Anderson <[email protected]>
---

arch/arm64/kernel/smp.c | 5 +----
drivers/irqchip/irq-gic-v3.c | 2 +-
2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
index 16ead57a583d..f36a97a54d2b 100644
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
@@ -964,10 +964,7 @@ static void smp_cross_call(const struct cpumask *target, unsigned int ipinr)

static bool ipi_should_be_nmi(enum ipi_msg_type ipi)
{
- DECLARE_STATIC_KEY_FALSE(supports_pseudo_nmis);
-
- if (!system_uses_irq_prio_masking() ||
- !static_branch_likely(&supports_pseudo_nmis))
+ if (!system_uses_irq_prio_masking())
return false;

switch (ipi) {
diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index 737da1b9aabf..787ccc880b22 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -106,7 +106,7 @@ static DEFINE_STATIC_KEY_TRUE(supports_deactivate_key);
* - Figure 4-7 Secure read of the priority field for a Non-secure Group 1
* interrupt.
*/
-DEFINE_STATIC_KEY_FALSE(supports_pseudo_nmis);
+static DEFINE_STATIC_KEY_FALSE(supports_pseudo_nmis);

DEFINE_STATIC_KEY_FALSE(gic_nonsecure_priorities);
EXPORT_SYMBOL(gic_nonsecure_priorities);
--
2.42.0.609.gbb76f46606-goog


2023-10-18 11:03:46

by Mark Rutland

[permalink] [raw]
Subject: Re: [PATCH 2/3] Revert "arm64: smp: avoid NMI IPIs with broken MediaTek FW"

On Fri, Oct 06, 2023 at 03:15:52PM -0700, Douglas Anderson wrote:
> This reverts commit a07a594152173a3dd3bdd12fc7d73dbba54cdbca.
>
> This is no longer needed after the patch ("arm64: Disable GiC
> priorities on Mediatek devices w/ firmware issues").

That first patch has a typo in the title: s/GiC/GIC/

This patch makes sense to me, so:

Acked-by: Mark Rutland <[email protected]>

Mark.

>
> Signed-off-by: Douglas Anderson <[email protected]>
> ---
>
> arch/arm64/kernel/smp.c | 5 +----
> drivers/irqchip/irq-gic-v3.c | 2 +-
> 2 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
> index 16ead57a583d..f36a97a54d2b 100644
> --- a/arch/arm64/kernel/smp.c
> +++ b/arch/arm64/kernel/smp.c
> @@ -964,10 +964,7 @@ static void smp_cross_call(const struct cpumask *target, unsigned int ipinr)
>
> static bool ipi_should_be_nmi(enum ipi_msg_type ipi)
> {
> - DECLARE_STATIC_KEY_FALSE(supports_pseudo_nmis);
> -
> - if (!system_uses_irq_prio_masking() ||
> - !static_branch_likely(&supports_pseudo_nmis))
> + if (!system_uses_irq_prio_masking())
> return false;
>
> switch (ipi) {
> diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> index 737da1b9aabf..787ccc880b22 100644
> --- a/drivers/irqchip/irq-gic-v3.c
> +++ b/drivers/irqchip/irq-gic-v3.c
> @@ -106,7 +106,7 @@ static DEFINE_STATIC_KEY_TRUE(supports_deactivate_key);
> * - Figure 4-7 Secure read of the priority field for a Non-secure Group 1
> * interrupt.
> */
> -DEFINE_STATIC_KEY_FALSE(supports_pseudo_nmis);
> +static DEFINE_STATIC_KEY_FALSE(supports_pseudo_nmis);
>
> DEFINE_STATIC_KEY_FALSE(gic_nonsecure_priorities);
> EXPORT_SYMBOL(gic_nonsecure_priorities);
> --
> 2.42.0.609.gbb76f46606-goog
>