Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
[linux-2.6.git] / arch / arm / mach-msm / include / mach / entry-macro-vic.S
1 /*
2  * Copyright (C) 2007 Google, Inc.
3  * Author: Brian Swetland <swetland@google.com>
4  *
5  * This software is licensed under the terms of the GNU General Public
6  * License version 2, as published by the Free Software Foundation, and
7  * may be copied, distributed, and modified under those terms.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  */
15
16 #include <mach/msm_iomap.h>
17
18         .macro  disable_fiq
19         .endm
20
21         .macro  get_irqnr_preamble, base, tmp
22         @ enable imprecise aborts
23         cpsie   a
24         mov     \base, #MSM_VIC_BASE
25         .endm
26
27         .macro  arch_ret_to_user, tmp1, tmp2
28         .endm
29
30         .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
31         @ 0xD0 has irq# or old irq# if the irq has been handled
32         @ 0xD4 has irq# or -1 if none pending *but* if you just
33         @ read 0xD4 you never get the first irq for some reason
34         ldr     \irqnr, [\base, #0xD0]
35         ldr     \irqnr, [\base, #0xD4]
36         cmp     \irqnr, #0xffffffff
37         .endm