]> git.hungrycats.org Git - linux/commitdiff
[ARM PATCH] 1871/1: faster IRQ retrieval for PXA27x
authorNicolas Pitre <nico@org.rmk.(none)>
Thu, 13 May 2004 13:59:34 +0000 (14:59 +0100)
committerRussell King <rmk@flint.arm.linux.org.uk>
Thu, 13 May 2004 13:59:34 +0000 (14:59 +0100)
Patch from Nicolas Pitre

On the PXA27x it's also possible to get the IRQ info from CP6
and it has a much lower latency than the memory mapped equivalent.

arch/arm/kernel/entry-armv.S

index 4b5c28a5d573348868aa2bd9e7e628d82048a184..83361abd757205cc2386a84ab3888b0fb9453f88 100644 (file)
@@ -623,10 +623,15 @@ ENTRY(soft_irq_mask)
                .endm
 
                .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
+#ifdef CONFIG_PXA27x
+               mrc     p6, 0, \irqstat, c0, c0, 0              @ ICIP
+               mrc     p6, 0, \irqnr, c1, c0, 0                @ ICMR
+#else
                mov     \base, #io_p2v(0x40000000)      @ IIR Ctl = 0x40d00000
                add     \base, \base, #0x00d00000
                ldr     \irqstat, [\base, #0]           @ ICIP
                ldr     \irqnr, [\base, #4]             @ ICMR
+#endif
                ands    \irqnr, \irqstat, \irqnr
                beq     1001f
                rsb     \irqstat, \irqnr, #0