]> git.ipfire.org Git - thirdparty/kernel/stable.git/blob - include/asm-arm/arch-omap/entry-macro.S
Linux-2.6.12-rc2
[thirdparty/kernel/stable.git] / include / asm-arm / arch-omap / entry-macro.S
1 /*
2 * include/asm-arm/arch-omap/entry-macro.S
3 *
4 * Low-level IRQ helper macros for OMAP-based platforms
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 */
10
11 .macro disable_fiq
12 .endm
13
14 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
15 ldr \base, =IO_ADDRESS(OMAP_IH1_BASE)
16 ldr \irqnr, [\base, #IRQ_ITR_REG_OFFSET]
17 ldr \tmp, [\base, #IRQ_MIR_REG_OFFSET]
18 mov \irqstat, #0xffffffff
19 bic \tmp, \irqstat, \tmp
20 tst \irqnr, \tmp
21 beq 1510f
22
23 ldr \irqnr, [\base, #IRQ_SIR_FIQ_REG_OFFSET]
24 cmp \irqnr, #0
25 ldreq \irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET]
26 cmpeq \irqnr, #INT_IH2_IRQ
27 ldreq \base, =IO_ADDRESS(OMAP_IH2_BASE)
28 ldreq \irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET]
29 addeqs \irqnr, \irqnr, #32
30 1510:
31 .endm
32