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] |
