blob: 980ec9b1ac8379703fd981fbd1abd0ee4dac64e6 [file] [log] [blame]
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +01001/*
2 * include/asm-arm/arch-iop33x/entry-macro.S
3 *
4 * Low-level IRQ helper macros for IOP33x-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 .macro disable_fiq
13 .endm
14
15 /*
16 * Note: only deal with normal interrupts, not FIQ
17 */
18 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
19 mov \irqnr, #0
20 mrc p6, 0, \irqstat, c4, c0, 0 @ Read IINTSRC0
21 cmp \irqstat, #0
22 bne 1002f
23 mrc p6, 0, \irqstat, c5, c0, 0 @ Read IINTSRC1
24 cmp \irqstat, #0
25 beq 1001f
26 clz \irqnr, \irqstat
27 rsbs \irqnr,\irqnr,#31 @ recommend by RMK
28 add \irqnr,\irqnr,#IRQ_IOP331_XINT8
29 b 1001f
301002: clz \irqnr, \irqstat
31 rsbs \irqnr,\irqnr,#31 @ recommend by RMK
32 add \irqnr,\irqnr,#IRQ_IOP331_DMA0_EOT
331001:
34 .endm