powerpc/interrupt: Also use exit_must_hard_disable() on PPC32

Reduce #ifdefs a bit by making exit_must_hard_disable() return
true on PPC32.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/52531029563c1fc823b790058e799d0ca71b028c.1624631463.git.christophe.leroy@csgroup.eu
This commit is contained in:
Christophe Leroy
2021-06-25 14:31:46 +00:00
committed by Michael Ellerman
parent 590e1e4254
commit 767e6e7130

View File

@ -33,10 +33,10 @@ static inline bool exit_must_hard_disable(void)
{ {
return static_branch_unlikely(&interrupt_exit_not_reentrant); return static_branch_unlikely(&interrupt_exit_not_reentrant);
} }
#elif defined(CONFIG_PPC64) #else
static inline bool exit_must_hard_disable(void) static inline bool exit_must_hard_disable(void)
{ {
return false; return IS_ENABLED(CONFIG_PPC32);
} }
#endif #endif
@ -56,12 +56,10 @@ static notrace __always_inline bool prep_irq_for_enabled_exit(bool restartable)
/* This must be done with RI=1 because tracing may touch vmaps */ /* This must be done with RI=1 because tracing may touch vmaps */
trace_hardirqs_on(); trace_hardirqs_on();
#ifdef CONFIG_PPC32
__hard_EE_RI_disable();
#else
if (exit_must_hard_disable() || !restartable) if (exit_must_hard_disable() || !restartable)
__hard_EE_RI_disable(); __hard_EE_RI_disable();
#ifdef CONFIG_PPC64
/* This pattern matches prep_irq_for_idle */ /* This pattern matches prep_irq_for_idle */
if (unlikely(lazy_irq_pending_nocheck())) { if (unlikely(lazy_irq_pending_nocheck())) {
if (exit_must_hard_disable() || !restartable) { if (exit_must_hard_disable() || !restartable) {