Message ID | 1320255049-12447-3-git-send-email-marc.zyngier@arm.com |
---|---|
State | New |
Headers | show |
$Subject ~= s/cx/xc/; Best regards Uwe
On 3 November 2011 01:30, Marc Zyngier <marc.zyngier@arm.com> wrote: > As local timer interrupts are now handled as normal interrupts, > remove the special case in the GIC handler. > > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Sascha Hauer <kernel@pengutronix.de> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> I also noticed this problem and had a patch fixing it. But due to the tight Linaro Connect agenda, I have not got the chance to send it out. Glad to see this patch fixing the problem. Acked-and-tested-by: Shawn Guo <shawn.guo@linaro.org> > --- > arch/arm/plat-mxc/gic.c | 11 ++--------- > 1 files changed, 2 insertions(+), 9 deletions(-) > > diff --git a/arch/arm/plat-mxc/gic.c b/arch/arm/plat-mxc/gic.c > index b3b8eed..12f8f81 100644 > --- a/arch/arm/plat-mxc/gic.c > +++ b/arch/arm/plat-mxc/gic.c > @@ -28,21 +28,14 @@ asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) > if (irqnr == 1023) > break; > > - if (irqnr > 29 && irqnr < 1021) > + if (irqnr > 15 && irqnr < 1021) > handle_IRQ(irqnr, regs); > #ifdef CONFIG_SMP > - else if (irqnr < 16) { > + else { > writel_relaxed(irqstat, gic_cpu_base_addr + > GIC_CPU_EOI); > handle_IPI(irqnr, regs); > } > #endif > -#ifdef CONFIG_LOCAL_TIMERS > - else if (irqnr == 29) { > - writel_relaxed(irqstat, gic_cpu_base_addr + > - GIC_CPU_EOI); > - handle_local_timer(regs); > - } > -#endif > } while (1); > } > -- > 1.7.0.4 > > >
On Wed, Nov 02, 2011 at 05:30:49PM +0000, Marc Zyngier wrote: > As local timer interrupts are now handled as normal interrupts, > remove the special case in the GIC handler. > > Cc: Shawn Guo <shawn.guo@linaro.org> > Cc: Sascha Hauer <kernel@pengutronix.de> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Ok, I'll pick this one up. Sascha > --- > arch/arm/plat-mxc/gic.c | 11 ++--------- > 1 files changed, 2 insertions(+), 9 deletions(-) > > diff --git a/arch/arm/plat-mxc/gic.c b/arch/arm/plat-mxc/gic.c > index b3b8eed..12f8f81 100644 > --- a/arch/arm/plat-mxc/gic.c > +++ b/arch/arm/plat-mxc/gic.c > @@ -28,21 +28,14 @@ asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) > if (irqnr == 1023) > break; > > - if (irqnr > 29 && irqnr < 1021) > + if (irqnr > 15 && irqnr < 1021) > handle_IRQ(irqnr, regs); > #ifdef CONFIG_SMP > - else if (irqnr < 16) { > + else { > writel_relaxed(irqstat, gic_cpu_base_addr + > GIC_CPU_EOI); > handle_IPI(irqnr, regs); > } > #endif > -#ifdef CONFIG_LOCAL_TIMERS > - else if (irqnr == 29) { > - writel_relaxed(irqstat, gic_cpu_base_addr + > - GIC_CPU_EOI); > - handle_local_timer(regs); > - } > -#endif > } while (1); > } > -- > 1.7.0.4 > > >
diff --git a/arch/arm/plat-mxc/gic.c b/arch/arm/plat-mxc/gic.c index b3b8eed..12f8f81 100644 --- a/arch/arm/plat-mxc/gic.c +++ b/arch/arm/plat-mxc/gic.c @@ -28,21 +28,14 @@ asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) if (irqnr == 1023) break; - if (irqnr > 29 && irqnr < 1021) + if (irqnr > 15 && irqnr < 1021) handle_IRQ(irqnr, regs); #ifdef CONFIG_SMP - else if (irqnr < 16) { + else { writel_relaxed(irqstat, gic_cpu_base_addr + GIC_CPU_EOI); handle_IPI(irqnr, regs); } #endif -#ifdef CONFIG_LOCAL_TIMERS - else if (irqnr == 29) { - writel_relaxed(irqstat, gic_cpu_base_addr + - GIC_CPU_EOI); - handle_local_timer(regs); - } -#endif } while (1); }
As local timer interrupts are now handled as normal interrupts, remove the special case in the GIC handler. Cc: Shawn Guo <shawn.guo@linaro.org> Cc: Sascha Hauer <kernel@pengutronix.de> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> --- arch/arm/plat-mxc/gic.c | 11 ++--------- 1 files changed, 2 insertions(+), 9 deletions(-)