Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[linux-2.6] / include / asm-arm / arch-iop3xx / entry-macro.S
1 /*
2  * include/asm-arm/arch-iop3xx/entry-macro.S
3  *
4  * Low-level IRQ helper macros for IOP3xx-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 #include <asm/arch/irqs.h>
11
12 #if defined(CONFIG_ARCH_IOP321)
13                 .macro  disable_fiq
14                 .endm
15
16                 /*
17                  * Note: only deal with normal interrupts, not FIQ
18                  */
19                 .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
20                 mov     \irqnr, #0
21                 mrc     p6, 0, \irqstat, c8, c0, 0      @ Read IINTSRC
22                 cmp     \irqstat, #0
23                 beq     1001f
24                 clz     \irqnr, \irqstat
25                 mov     \base, #31
26                 subs    \irqnr,\base,\irqnr
27                 add     \irqnr,\irqnr,#IRQ_IOP321_DMA0_EOT
28 1001:
29                 .endm
30
31 #elif defined(CONFIG_ARCH_IOP331)
32                 .macro  disable_fiq
33                 .endm
34
35                 /*
36                  * Note: only deal with normal interrupts, not FIQ
37                  */
38                 .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
39                 mov     \irqnr, #0
40                 mrc     p6, 0, \irqstat, c4, c0, 0      @ Read IINTSRC0
41                 cmp     \irqstat, #0
42                 bne     1002f
43                 mrc     p6, 0, \irqstat, c5, c0, 0      @ Read IINTSRC1
44                 cmp     \irqstat, #0
45                 beq     1001f
46                 clz     \irqnr, \irqstat
47                 rsbs    \irqnr,\irqnr,#31   @ recommend by RMK
48                 add     \irqnr,\irqnr,#IRQ_IOP331_XINT8
49                 b       1001f
50 1002:   clz     \irqnr, \irqstat
51                 rsbs    \irqnr,\irqnr,#31   @ recommend by RMK
52                 add     \irqnr,\irqnr,#IRQ_IOP331_DMA0_EOT
53 1001:
54                 .endm
55
56 #endif
57