diff options
author | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> | 2007-10-16 02:03:00 -0400 |
---|---|---|
committer | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> | 2008-03-31 02:17:01 -0400 |
commit | ab65b87093a38ad8565780494c74bd7afd79ad9a (patch) | |
tree | f50e9c1a1776befdd1e5feec17b2d65b9097506b | |
parent | c1a9e91e426a78728c0e815b0355a7c0374d1088 (diff) |
ns9xxx: Use get_irqnr_preamble to initialize base register
This patch optimizes the irq handling a bit. Now the base register is only
computed once if more than one irq is pending.
Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
-rw-r--r-- | include/asm-arm/arch-ns9xxx/entry-macro.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-arm/arch-ns9xxx/entry-macro.S b/include/asm-arm/arch-ns9xxx/entry-macro.S index 86aec87303e4..5c706dd2379c 100644 --- a/include/asm-arm/arch-ns9xxx/entry-macro.S +++ b/include/asm-arm/arch-ns9xxx/entry-macro.S | |||
@@ -12,13 +12,13 @@ | |||
12 | #include <asm/arch-ns9xxx/regs-sys.h> | 12 | #include <asm/arch-ns9xxx/regs-sys.h> |
13 | 13 | ||
14 | .macro get_irqnr_preamble, base, tmp | 14 | .macro get_irqnr_preamble, base, tmp |
15 | ldr \base, =SYS_ISRADDR | ||
15 | .endm | 16 | .endm |
16 | 17 | ||
17 | .macro arch_ret_to_user, tmp1, tmp2 | 18 | .macro arch_ret_to_user, tmp1, tmp2 |
18 | .endm | 19 | .endm |
19 | 20 | ||
20 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp | 21 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp |
21 | ldr \base, =SYS_ISRADDR | ||
22 | ldr \irqstat, [\base, #(SYS_ISA - SYS_ISRADDR)] | 22 | ldr \irqstat, [\base, #(SYS_ISA - SYS_ISRADDR)] |
23 | cmp \irqstat, #0 | 23 | cmp \irqstat, #0 |
24 | ldrne \irqnr, [\base] | 24 | ldrne \irqnr, [\base] |