diff options
author | Florian Fainelli <florian@openwrt.org> | 2013-03-16 22:25:47 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2013-03-16 22:25:47 +0000 |
commit | a9ef927cce2c1d053b84d07717dc9c10ac64c2a9 (patch) | |
tree | f47a334d00e849269e48a7c96408d64c1c0f0417 /target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include | |
parent | 18908139f3811f4d7012fbc87aef951eb993775c (diff) | |
download | master-31e0f0ae-a9ef927cce2c1d053b84d07717dc9c10ac64c2a9.tar.gz master-31e0f0ae-a9ef927cce2c1d053b84d07717dc9c10ac64c2a9.tar.bz2 master-31e0f0ae-a9ef927cce2c1d053b84d07717dc9c10ac64c2a9.zip |
mcs814x: implement MULTI_IRQ_HANDLER
Allows us to get rid of the IRQ entry point assembly
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36060
Diffstat (limited to 'target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include')
-rw-r--r-- | target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach/entry-macro.S | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach/entry-macro.S b/target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach/entry-macro.S index eaca5921c6..16d2d6d1af 100644 --- a/target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach/entry-macro.S +++ b/target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach/entry-macro.S @@ -4,26 +4,3 @@ .macro arch_ret_to_user, tmp1, tmp2 .endm - - .macro get_irqnr_preamble, base, tmp - ldr \base, =mcs814x_intc_base @ base virtual address of AIC peripheral - ldr \base, [\base] - .endm - - .macro get_irqnr_and_base, irqnr, irqstat, base, tmp - mov \tmp, #MCS814X_IRQ_STS0 @ load tmp with STS0 register offset - ldr \irqstat, [\base, \tmp] @ load value at base + tmp - tst \irqstat, \irqstat @ test if no active IRQ's - beq 1002f @ if no active irqs return with status 0 - mov \irqnr, #0 @ start from irq zero - mov \tmp, #1 @ the mask initially 1 -1001: - tst \irqstat, \tmp @ and with mask - addeq \irqnr, \irqnr, #1 @ if zero then add one to nr - moveq \tmp, \tmp, lsl #1 @ shift mask one to left - beq 1001b @ if zero then loop again - mov \irqstat, \tmp @ save the return mask - mov \tmp, #MCS814X_IRQ_STS0 @ load tmp with ICR offset - str \irqstat, [\base, \tmp] @ clear irq with selected mask -1002: - .endm |