diff options
Diffstat (limited to 'arch/arm/mach-msm/include/mach/entry-macro.S')
| -rw-r--r-- | arch/arm/mach-msm/include/mach/entry-macro.S | 21 | 
1 files changed, 17 insertions, 4 deletions
diff --git a/arch/arm/mach-msm/include/mach/entry-macro.S b/arch/arm/mach-msm/include/mach/entry-macro.S index b16f082eeb6..f2ae9087f65 100644 --- a/arch/arm/mach-msm/include/mach/entry-macro.S +++ b/arch/arm/mach-msm/include/mach/entry-macro.S @@ -16,8 +16,21 @@   *   */ -#if defined(CONFIG_ARM_GIC) -#include <mach/entry-macro-qgic.S> -#else -#include <mach/entry-macro-vic.S> +#if !defined(CONFIG_ARM_GIC) +#include <mach/msm_iomap.h> + +	.macro	get_irqnr_preamble, base, tmp +	@ enable imprecise aborts +	cpsie	a +	mov	\base, #MSM_VIC_BASE +	.endm + +	.macro	get_irqnr_and_base, irqnr, irqstat, base, tmp +	@ 0xD0 has irq# or old irq# if the irq has been handled +	@ 0xD4 has irq# or -1 if none pending *but* if you just +	@ read 0xD4 you never get the first irq for some reason +	ldr	\irqnr, [\base, #0xD0] +	ldr	\irqnr, [\base, #0xD4] +	cmp	\irqnr, #0xffffffff +	.endm  #endif  | 
