diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2021-01-30 23:08:51 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2021-02-09 00:10:50 +1100 |
commit | 86dbb39416493add2bdf5b7ad39a1276f2107b83 (patch) | |
tree | c83febd028b02290a4ff8b57cff050ac27e1b377 /arch/powerpc/include/asm/interrupt.h | |
parent | 6ecbb582b6947f041832fff07c2f38791ae19287 (diff) | |
download | linux-86dbb39416493add2bdf5b7ad39a1276f2107b83.tar.gz linux-86dbb39416493add2bdf5b7ad39a1276f2107b83.tar.bz2 linux-86dbb39416493add2bdf5b7ad39a1276f2107b83.zip |
powerpc/64s: runlatch interrupt handling in C
There is no need for this to be in asm, use the new intrrupt entry wrapper.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210130130852.2952424-42-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/include/asm/interrupt.h')
-rw-r--r-- | arch/powerpc/include/asm/interrupt.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/interrupt.h b/arch/powerpc/include/asm/interrupt.h index 72a585084066..4badb3e51c19 100644 --- a/arch/powerpc/include/asm/interrupt.h +++ b/arch/powerpc/include/asm/interrupt.h @@ -6,6 +6,7 @@ #include <linux/hardirq.h> #include <asm/cputime.h> #include <asm/ftrace.h> +#include <asm/runlatch.h> struct interrupt_state { #ifdef CONFIG_PPC_BOOK3E_64 @@ -83,6 +84,12 @@ static inline void interrupt_exit_prepare(struct pt_regs *regs, struct interrupt static inline void interrupt_async_enter_prepare(struct pt_regs *regs, struct interrupt_state *state) { +#ifdef CONFIG_PPC_BOOK3S_64 + if (cpu_has_feature(CPU_FTR_CTRL) && + !test_thread_local_flags(_TLF_RUNLATCH)) + __ppc64_runlatch_on(); +#endif + interrupt_enter_prepare(regs, state); irq_enter(); } |