]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
irqchip/omap-intc: Add support for spurious irq handling
authorSekhar Nori <nsekhar@ti.com>
Tue, 15 Dec 2015 14:26:12 +0000 (19:56 +0530)
committerSasha Levin <sasha.levin@oracle.com>
Wed, 13 Apr 2016 21:14:24 +0000 (17:14 -0400)
commit1505f5ae8ac52b4c9cda088ca8113e1f0ec2f32f
treec95b8f3ee44ce037f70bb3edbb1a3aff0ee56a16
parent249ee7541e9bfc313cbe11f2816e902f9612ceec
irqchip/omap-intc: Add support for spurious irq handling

[ Upstream commit d3b421cd07e4c0d4d6c0bbd55ca169c054fc081d ]

Under some conditions, irq sorting procedure used by INTC can go wrong
resulting in a spurious irq getting reported.

If this condition is not handled, it results in endless stream of:

    unexpected IRQ trap at vector 00

messages from ack_bad_irq()

Handle the spurious interrupt condition in omap-intc driver to prevent this.

Measurements using kernel function profiler on AM335x EVM running at 720MHz
show that after this patch omap_intc_handle_irq() takes about 37.4us against
34us before this patch.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Cc: John Ogness <john.ogness@linutronix.de>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Link: http://lkml.kernel.org/r/9c78a6db02ac55f7af7371b417b6e414d2c3095b.1450188128.git.nsekhar@ti.com
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/irqchip/irq-omap-intc.c