aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-arm/arch-at91
diff options
context:
space:
mode:
authorMarc Pignat <marc.pignat@hevs.ch>2007-12-03 12:58:24 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-01-26 15:00:30 +0000
commit156864f806baa4e1aa6eabd28ac45ecc92b31315 (patch)
tree8771cab0e5aa41e0d7f71762fe4671d58b155ae9 /include/asm-arm/arch-at91
parent[ARM] 4657/1: AT91: Header definition update (diff)
downloadlinux-dev-156864f806baa4e1aa6eabd28ac45ecc92b31315.tar.xz
linux-dev-156864f806baa4e1aa6eabd28ac45ecc92b31315.zip
[ARM] 4688/1: at91: speed-up irq processing
Save N instructions on every interrupt processing (where N is the number of interrupts processed in any one IRQ exception). Signed-off-by: Marc Pignat <marc.pignat@hevs.ch> Acked-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/arch-at91')
-rw-r--r--include/asm-arm/arch-at91/entry-macro.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-arm/arch-at91/entry-macro.S b/include/asm-arm/arch-at91/entry-macro.S
index cc1d850a0788..1005eee6219b 100644
--- a/include/asm-arm/arch-at91/entry-macro.S
+++ b/include/asm-arm/arch-at91/entry-macro.S
@@ -17,13 +17,13 @@
.endm
.macro get_irqnr_preamble, base, tmp
+ ldr \base, =(AT91_VA_BASE_SYS + AT91_AIC) @ base virtual address of AIC peripheral
.endm
.macro arch_ret_to_user, tmp1, tmp2
.endm
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp
- ldr \base, =(AT91_VA_BASE_SYS + AT91_AIC) @ base virtual address of AIC peripheral
ldr \irqnr, [\base, #(AT91_AIC_IVR - AT91_AIC)] @ read IRQ vector register: de-asserts nIRQ to processor (and clears interrupt)
ldr \irqstat, [\base, #(AT91_AIC_ISR - AT91_AIC)] @ read interrupt source number
teq \irqstat, #0 @ ISR is 0 when no current interrupt, or spurious interrupt