diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2007-05-12 10:25:50 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-05-12 10:25:50 -0400 |
commit | 641e79129a56a4c50be1aed0fa713f440b46a440 (patch) | |
tree | 41831a6b7927d2d392f5dad8cad7ddd38c363315 /include/asm-arm/arch-sa1100 | |
parent | 3b938be69e46b64a516b6e3ed6d93c40c091f22c (diff) |
[ARM] Use new get_irqnr_preamble
Use the new get_irqnr_preamble macro to move the address of the IRQ
controller outside the IRQ handling loop.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/arch-sa1100')
-rw-r--r-- | include/asm-arm/arch-sa1100/entry-macro.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/asm-arm/arch-sa1100/entry-macro.S b/include/asm-arm/arch-sa1100/entry-macro.S index 028967629340..127db4aaf4f2 100644 --- a/include/asm-arm/arch-sa1100/entry-macro.S +++ b/include/asm-arm/arch-sa1100/entry-macro.S | |||
@@ -12,16 +12,16 @@ | |||
12 | .endm | 12 | .endm |
13 | 13 | ||
14 | .macro get_irqnr_preamble, base, tmp | 14 | .macro get_irqnr_preamble, base, tmp |
15 | mov \base, #0xfa000000 @ ICIP = 0xfa050000 | ||
16 | add \base, \base, #0x00050000 | ||
15 | .endm | 17 | .endm |
16 | 18 | ||
17 | .macro arch_ret_to_user, tmp1, tmp2 | 19 | .macro arch_ret_to_user, tmp1, tmp2 |
18 | .endm | 20 | .endm |
19 | 21 | ||
20 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp | 22 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp |
21 | mov r4, #0xfa000000 @ ICIP = 0xfa050000 | 23 | ldr \irqstat, [\base] @ get irqs |
22 | add r4, r4, #0x00050000 | 24 | ldr \irqnr, [\base, #4] @ ICMR = 0xfa050004 |
23 | ldr \irqstat, [r4] @ get irqs | ||
24 | ldr \irqnr, [r4, #4] @ ICMR = 0xfa050004 | ||
25 | ands \irqstat, \irqstat, \irqnr | 25 | ands \irqstat, \irqstat, \irqnr |
26 | mov \irqnr, #0 | 26 | mov \irqnr, #0 |
27 | beq 1001f | 27 | beq 1001f |