]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
irqchip: omap-intc: Improve IRQ handler
authorFelipe Balbi <balbi@ti.com>
Fri, 2 Jan 2015 22:18:54 +0000 (16:18 -0600)
committerSasha Levin <sasha.levin@oracle.com>
Wed, 13 Apr 2016 21:14:24 +0000 (17:14 -0400)
commit249ee7541e9bfc313cbe11f2816e902f9612ceec
treedd62a54bcca4dee506d0ea1d95cabba50a990570
parent610ed2802923b6d0204513b6cb7cf22fdbeec38b
irqchip: omap-intc: Improve IRQ handler

[ Upstream commit 6ed3464897cc825a75218653c710d673282dfcf8 ]

As it turns out the current IRQ number will *always* be available from
SIR register which renders the reads of PENDING registers as plain
unnecessary overhead.

In order to catch any situation where SIR reads as zero, we're adding
a WARN() to turn it into a very verbose error and users actually
report it.

With this patch average running time of omap_intc_handle_irq() reduced
from about 28.5us to 19.8us as measured by the kernel function
profiler.

Tested with BeagleBoneBlack Rev A5C.

Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Cc: Linux ARM Kernel Mailing List <linux-arm-kernel@lists.infradead.org>
Link: http://lkml.kernel.org/r/20150720204910.GH5394@saruman.tx.rr.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/irqchip/irq-omap-intc.c