summaryrefslogtreecommitdiff
path: root/arch/arm/mach-rpc/fiq.S
diff options
context:
space:
mode:
authorRob Herring <rob.herring@calxeda.com>2012-02-08 18:24:23 -0600
committerRob Herring <rob.herring@calxeda.com>2012-02-21 17:04:33 -0600
commit78cbaaca6908c2ddf1bd26cf58c408938654e3d8 (patch)
tree7e52f81c470138284f40617ffb51126bc3a3c496 /arch/arm/mach-rpc/fiq.S
parent13a5045d4ee5a244195062cbf2c651d1b4f22aa7 (diff)
ARM: rpc: make default fiq handler run-time installed
Only rpc uses disable_fiq macro. Change it to a run-time installed default FIQ handler. The handler is installed before FIQ is enabled so the behavior should be unchanged. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Acked-by: Nicolas Pitre <nico@linaro.org>
Diffstat (limited to 'arch/arm/mach-rpc/fiq.S')
-rw-r--r--arch/arm/mach-rpc/fiq.S16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-rpc/fiq.S b/arch/arm/mach-rpc/fiq.S
new file mode 100644
index 000000000000..48ddd57db16e
--- /dev/null
+++ b/arch/arm/mach-rpc/fiq.S
@@ -0,0 +1,16 @@
+#include <linux/linkage.h>
+#include <asm/assembler.h>
+#include <mach/hardware.h>
+#include <mach/entry-macro.S>
+
+ .text
+
+ .global rpc_default_fiq_end
+ENTRY(rpc_default_fiq_start)
+ mov r12, #ioc_base_high
+ .if ioc_base_low
+ orr r12, r12, #ioc_base_low
+ .endif
+ strb r12, [r12, #0x38] @ Disable FIQ register
+ subs pc, lr, #4
+rpc_default_fiq_end: