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:
committed by
Michael Ellerman
parent
590e1e4254
commit
767e6e7130
@ -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) {
|
||||||
|
Reference in New Issue
Block a user