diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2009-08-13 20:38:16 +0200 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2009-08-13 20:34:36 +0200 |
commit | b88fb83b138d4a377abea9461b2d58b9bf8ad9fe (patch) | |
tree | a57b501db597bebf03b69dee0267272f3fe4ef26 /arch/arm/mach-netx/include | |
parent | ed680c4ad478d0fee9740f7d029087f181346564 (diff) | |
download | talos-obmc-linux-b88fb83b138d4a377abea9461b2d58b9bf8ad9fe.tar.gz talos-obmc-linux-b88fb83b138d4a377abea9461b2d58b9bf8ad9fe.zip |
netx: Use get_irqnr_preamble to initialize base register
This patch optimizes the irq handling a bit. Now the base register is
only computed once per irq exception instead of at least twice.
Moreover the mov+add sequence is simplified to an ldr (which might save
some cycles depending on memory timing).
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-netx/include')
-rw-r--r-- | arch/arm/mach-netx/include/mach/entry-macro.S | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/arm/mach-netx/include/mach/entry-macro.S b/arch/arm/mach-netx/include/mach/entry-macro.S index a1952a0feda6..844f1f9acbdf 100644 --- a/arch/arm/mach-netx/include/mach/entry-macro.S +++ b/arch/arm/mach-netx/include/mach/entry-macro.S @@ -24,15 +24,13 @@ .endm .macro get_irqnr_preamble, base, tmp + ldr \base, =io_p2v(0x001ff000) .endm .macro arch_ret_to_user, tmp1, tmp2 .endm .macro get_irqnr_and_base, irqnr, irqstat, base, tmp - mov \base, #io_p2v(0x00100000) - add \base, \base, #0x000ff000 - ldr \irqstat, [\base, #0] clz \irqnr, \irqstat rsb \irqnr, \irqnr, #31 |