Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial
[linux-2.6] / include / asm-arm / arch-ixp23xx / entry-macro.S
1 /*
2  * include/asm-arm/arch-ixp23xx/entry-macro.S
3  */
4
5                 .macro  disable_fiq
6                 .endm
7
8                 .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
9                 ldr     \irqnr, =(IXP23XX_INTC_VIRT + IXP23XX_INTR_IRQ_ENC_ST_OFFSET)
10                 ldr     \irqnr, [\irqnr]        @ get interrupt number
11                 cmp     \irqnr, #0x0            @ spurious interrupt ?
12                 movne   \irqnr, \irqnr, lsr #2  @ skip unwanted low order bits
13                 subne   \irqnr, \irqnr, #1      @ convert to 0 based
14
15 #if 0
16                 cmp     \irqnr, #IRQ_IXP23XX_PCI_INT_RPH
17                 bne     1001f
18                 mov     \irqnr, #IRQ_IXP23XX_INTA
19
20                 ldr     \irqnr, =0xf5000030
21
22                 mov     \tmp, #(1<<26)
23                 tst     \irqnr, \tmp
24                 movne   \irqnr, #IRQ_IXP23XX_INTB
25
26                 mov     \tmp, #(1<<27)
27                 tst     \irqnr, \tmp
28                 movne   \irqnr, #IRQ_IXP23XX_INTA
29 1001:
30 #endif
31                 .endm