Messages in this thread | | | From | Guo Ren <> | Date | Fri, 22 Oct 2021 10:19:53 +0800 | Subject | Re: [PATCH 11/15] irq: csky: perform irqentry in entry code |
| |
On Fri, Oct 22, 2021 at 2:03 AM Mark Rutland <mark.rutland@arm.com> wrote: > > In preparation for removing HANDLE_DOMAIN_IRQ_IRQENTRY, have arch/csky > perform all the irqentry accounting in its entry code. As arch/csky uses > GENERIC_IRQ_MULTI_HANDLER, we can use generic_handle_arch_irq() to do > so. > > There should be no functional change as a result of this patch. > > Signed-off-by: Mark Rutland <mark.rutland@arm.com> > Cc: Guo Ren <guoren@kernel.org> > Cc: Marc Zyngier <maz@kernel.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > --- > arch/csky/Kconfig | 1 - > arch/csky/kernel/entry.S | 2 +- > arch/csky/kernel/irq.c | 5 ----- > 3 files changed, 1 insertion(+), 7 deletions(-) > > diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig > index 45f03f674a61..9d4d898df76b 100644 > --- a/arch/csky/Kconfig > +++ b/arch/csky/Kconfig > @@ -18,7 +18,6 @@ config CSKY > select DMA_DIRECT_REMAP > select IRQ_DOMAIN > select HANDLE_DOMAIN_IRQ > - select HANDLE_DOMAIN_IRQ_IRQENTRY > select DW_APB_TIMER_OF > select GENERIC_IOREMAP > select GENERIC_LIB_ASHLDI3 > diff --git a/arch/csky/kernel/entry.S b/arch/csky/kernel/entry.S > index 00e3c8ebf9b8..a4ababf25e24 100644 > --- a/arch/csky/kernel/entry.S > +++ b/arch/csky/kernel/entry.S > @@ -249,7 +249,7 @@ ENTRY(csky_irq) > > > mov a0, sp > - jbsr csky_do_IRQ > + jbsr generic_handle_arch_irq > > jmpi ret_from_exception > > diff --git a/arch/csky/kernel/irq.c b/arch/csky/kernel/irq.c > index 03a1930f1cbb..fcdaf3156286 100644 > --- a/arch/csky/kernel/irq.c > +++ b/arch/csky/kernel/irq.c > @@ -15,8 +15,3 @@ void __init init_IRQ(void) > setup_smp_ipi(); > #endif > } > - > -asmlinkage void __irq_entry csky_do_IRQ(struct pt_regs *regs) > -{ > - handle_arch_irq(regs); > -}
Seems the previous code has lost old_regs save/restore?
+ struct pt_regs *old_regs; + + irq_enter(); + old_regs = set_irq_regs(regs); + handle_arch_irq(regs); + set_irq_regs(old_regs); + irq_exit();
> -- > 2.11.0 >
-- Best Regards Guo Ren
ML: https://lore.kernel.org/linux-csky/
| |