Merge tag 'v3.3.7' into 3.3/master
[zen-stable.git] / arch / arm / mach-ixp23xx / include / mach / entry-macro.S
blob3f5338a7bbddef6113e838e707683d806cbe1604
1 /*
2  * arch/arm/mach-ixp23xx/include/mach/entry-macro.S
3  */
5                 .macro  disable_fiq
6                 .endm
8                 .macro  get_irqnr_preamble, base, tmp
9                 .endm
11                 .macro  arch_ret_to_user, tmp1, tmp2
12                 .endm
14                 .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
15                 ldr     \irqnr, =(IXP23XX_INTC_VIRT + IXP23XX_INTR_IRQ_ENC_ST_OFFSET)
16                 ldr     \irqnr, [\irqnr]        @ get interrupt number
17                 cmp     \irqnr, #0x0            @ spurious interrupt ?
18                 movne   \irqnr, \irqnr, lsr #2  @ skip unwanted low order bits
19                 subne   \irqnr, \irqnr, #1      @ convert to 0 based
21 #if 0
22                 cmp     \irqnr, #IRQ_IXP23XX_PCI_INT_RPH
23                 bne     1001f
24                 mov     \irqnr, #IRQ_IXP23XX_INTA
26                 ldr     \irqnr, =0xf5000030
28                 mov     \tmp, #(1<<26)
29                 tst     \irqnr, \tmp
30                 movne   \irqnr, #IRQ_IXP23XX_INTB
32                 mov     \tmp, #(1<<27)
33                 tst     \irqnr, \tmp
34                 movne   \irqnr, #IRQ_IXP23XX_INTA
35 1001:
36 #endif
37                 .endm