|  | /* | 
|  | * include/asm-arm/arch-omap/entry-macro.S | 
|  | * | 
|  | * Low-level IRQ helper macros for OMAP-based platforms | 
|  | * | 
|  | * This file is licensed under  the terms of the GNU General Public | 
|  | * License version 2. This program is licensed "as is" without any | 
|  | * warranty of any kind, whether express or implied. | 
|  | */ | 
|  |  | 
|  | #if defined(CONFIG_ARCH_OMAP1) | 
|  |  | 
|  | .macro	disable_fiq | 
|  | .endm | 
|  |  | 
|  | .macro	get_irqnr_and_base, irqnr, irqstat, base, tmp | 
|  | ldr	\base, =IO_ADDRESS(OMAP_IH1_BASE) | 
|  | ldr	\irqnr, [\base, #IRQ_ITR_REG_OFFSET] | 
|  | ldr	\tmp, [\base, #IRQ_MIR_REG_OFFSET] | 
|  | mov	\irqstat, #0xffffffff | 
|  | bic	\tmp, \irqstat, \tmp | 
|  | tst	\irqnr, \tmp | 
|  | beq	1510f | 
|  |  | 
|  | ldr	\irqnr, [\base, #IRQ_SIR_FIQ_REG_OFFSET] | 
|  | cmp	\irqnr, #0 | 
|  | ldreq	\irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET] | 
|  | cmpeq	\irqnr, #INT_IH2_IRQ | 
|  | ldreq	\base, =IO_ADDRESS(OMAP_IH2_BASE) | 
|  | ldreq	\irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET] | 
|  | addeqs	\irqnr, \irqnr, #32 | 
|  | 1510: | 
|  | .endm | 
|  |  | 
|  | #elif defined(CONFIG_ARCH_OMAP24XX) | 
|  |  | 
|  | #include <asm/arch/omap24xx.h> | 
|  |  | 
|  | .macro	disable_fiq | 
|  | .endm | 
|  |  | 
|  | .macro	get_irqnr_and_base, irqnr, irqstat, base, tmp | 
|  | ldr	\base, =VA_IC_BASE | 
|  | ldr	\irqnr, [\base, #0x98] /* IRQ pending reg 1 */ | 
|  | cmp	\irqnr, #0x0 | 
|  | bne	2222f | 
|  | ldr	\irqnr, [\base, #0xb8] /* IRQ pending reg 2 */ | 
|  | cmp	\irqnr, #0x0 | 
|  | bne	2222f | 
|  | ldr	\irqnr, [\base, #0xd8] /* IRQ pending reg 3 */ | 
|  | cmp	\irqnr, #0x0 | 
|  | 2222: | 
|  | ldrne	\irqnr, [\base, #IRQ_SIR_IRQ] | 
|  |  | 
|  | .endm | 
|  |  | 
|  | .macro	irq_prio_table | 
|  | .endm | 
|  |  | 
|  | #endif |