diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-03-03 02:40:15 +0300 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-03-03 02:40:15 +0300 |
commit | 882d01f96bc1909455696aae6eb7ce4df3e908c8 (patch) | |
tree | 06e5789cb33d0547c2497fd4d0327dc9e8614d37 /arch/arm/mach-s5p6442/include/mach/entry-macro.S | |
parent | 64ed28a87a0c075e91c1c5b0fe7d225a6cc6ae39 (diff) | |
parent | d608c738bb8fb37e5fbfcdef9c566764f2fea086 (diff) | |
download | linux-882d01f96bc1909455696aae6eb7ce4df3e908c8.tar.xz |
Merge branch 'for-rmk/samsung5' of git://git.fluff.org/bjdooks/linux into devel-stable
Conflicts:
arch/arm/Kconfig
arch/arm/Makefile
Diffstat (limited to 'arch/arm/mach-s5p6442/include/mach/entry-macro.S')
-rw-r--r-- | arch/arm/mach-s5p6442/include/mach/entry-macro.S | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/arch/arm/mach-s5p6442/include/mach/entry-macro.S b/arch/arm/mach-s5p6442/include/mach/entry-macro.S new file mode 100644 index 000000000000..6d574edbf1ae --- /dev/null +++ b/arch/arm/mach-s5p6442/include/mach/entry-macro.S @@ -0,0 +1,48 @@ +/* linux/arch/arm/mach-s5p6442/include/mach/entry-macro.S + * + * Copyright (c) 2010 Samsung Electronics Co., Ltd. + * http://www.samsung.com/ + * + * Low-level IRQ helper macros for the Samsung S5P6442 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include <asm/hardware/vic.h> +#include <mach/map.h> +#include <plat/irqs.h> + + .macro disable_fiq + .endm + + .macro get_irqnr_preamble, base, tmp + ldr \base, =VA_VIC0 + .endm + + .macro arch_ret_to_user, tmp1, tmp2 + .endm + + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp + + @ check the vic0 + mov \irqnr, # S5P_IRQ_OFFSET + 31 + ldr \irqstat, [ \base, # VIC_IRQ_STATUS ] + teq \irqstat, #0 + + @ otherwise try vic1 + addeq \tmp, \base, #(VA_VIC1 - VA_VIC0) + addeq \irqnr, \irqnr, #32 + ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] + teqeq \irqstat, #0 + + @ otherwise try vic2 + addeq \tmp, \base, #(VA_VIC2 - VA_VIC0) + addeq \irqnr, \irqnr, #32 + ldreq \irqstat, [ \tmp, # VIC_IRQ_STATUS ] + teqeq \irqstat, #0 + + clzne \irqstat, \irqstat + subne \irqnr, \irqnr, \irqstat + .endm |