From 61de74b7f58ba44f2df14a47bad49370f434dda0 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Sat, 16 Mar 2013 22:25:47 +0000 Subject: mcs814x: implement MULTI_IRQ_HANDLER Allows us to get rid of the IRQ entry point assembly Signed-off-by: Florian Fainelli git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36060 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../arm/mach-mcs814x/include/mach/entry-macro.S | 23 ---------------------- 1 file changed, 23 deletions(-) (limited to 'target/linux/mcs814x/files-3.3/arch/arm/mach-mcs814x/include/mach') 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 -- cgit v1.2.3