• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/arch/arm/mach-s5pc100/include/mach/
1/* arch/arm/mach-s5pc100/include/mach/entry-macro.S
2 *
3 * Copyright 2009 Samsung Electronics Co.
4 *	Byungho Min <bhmin@samsung.com>
5 *
6 * Based on mach-s3c6400/include/mach/entry-macro.S
7 *
8 * Low-level IRQ helper macros for the Samsung S5PC1XX series
9 *
10 * This file is licensed under  the terms of the GNU General Public
11 * License version 2. This program is licensed "as is" without any
12 * warranty of any kind, whether express or implied.
13*/
14
15#include <asm/hardware/vic.h>
16#include <mach/map.h>
17#include <plat/irqs.h>
18
19	.macro	disable_fiq
20	.endm
21
22	.macro	get_irqnr_preamble, base, tmp
23	ldr	\base, =VA_VIC0
24	.endm
25
26	.macro	arch_ret_to_user, tmp1, tmp2
27	.endm
28
29	.macro	get_irqnr_and_base, irqnr, irqstat, base, tmp
30
31	@ check the vic0
32	mov	\irqnr, # S5P_IRQ_OFFSET + 31
33	ldr	\irqstat, [ \base, # VIC_IRQ_STATUS ]
34	teq	\irqstat, #0
35
36	@ otherwise try vic1
37	addeq	\tmp, \base, #(VA_VIC1 - VA_VIC0)
38	addeq	\irqnr, \irqnr, #32
39	ldreq	\irqstat, [ \tmp, # VIC_IRQ_STATUS ]
40	teqeq	\irqstat, #0
41
42	@ otherwise try vic2
43	addeq	\tmp, \base, #(VA_VIC2 - VA_VIC0)
44	addeq	\irqnr, \irqnr, #32
45	ldreq	\irqstat, [ \tmp, # VIC_IRQ_STATUS ]
46	teqeq	\irqstat, #0
47
48	clzne	\irqstat, \irqstat
49	subne	\irqnr, \irqnr, \irqstat
50	.endm
51