Merge branch 'cgroup-rmdir-updates' into cgroup/for-3.8
[linux-drm-fsl-dcu.git] / arch / arm / mach-shark / include / mach / entry-macro.S
1 /*
2  * arch/arm/mach-shark/include/mach/entry-macro.S
3  *
4  * Low-level IRQ helper macros for Shark platform
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                 .macro  get_irqnr_preamble, base, tmp
11                 mov     \base, #0xfe000000
12                 orr     \base, \base, #0x00e00000
13                 .endm
14
15                 .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
16
17                 mov     \irqstat, #0x0C
18                 strb    \irqstat, [\base, #0x20]        @outb(0x0C, 0x20) /* Poll command */
19                 ldrb    \irqnr, [\base, #0x20]          @irq = inb(0x20) & 7
20                 and     \irqstat, \irqnr, #0x80
21                 teq     \irqstat, #0
22                 beq     43f
23                 and     \irqnr, \irqnr, #7
24                 teq     \irqnr, #2
25                 bne     44f
26 43:             mov     \irqstat, #0x0C
27                 strb    \irqstat, [\base, #0xa0]        @outb(0x0C, 0xA0) /* Poll command */
28                 ldrb    \irqnr, [\base, #0xa0]          @irq = (inb(0xA0) & 7) + 8
29                 and     \irqstat, \irqnr, #0x80
30                 teq     \irqstat, #0
31                 beq     44f
32                 and     \irqnr, \irqnr, #7
33                 add     \irqnr, \irqnr, #8
34 44:             teq     \irqstat, #0
35                 .endm
36