aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/coldfire/patches/050-mcfv4e_irq_magic_bit.patch
diff options
context:
space:
mode:
authorImre Kaloz <kaloz@openwrt.org>2009-06-23 21:04:37 +0000
committerImre Kaloz <kaloz@openwrt.org>2009-06-23 21:04:37 +0000
commitec03ced5fa6eb25eee164839268b538abb965e99 (patch)
tree6d3382662fa3ad4119d3a3cda223c53949ca4894 /target/linux/coldfire/patches/050-mcfv4e_irq_magic_bit.patch
parent777de3a39c4b92ad53b2b9363f405d0c4c28847a (diff)
downloadupstream-ec03ced5fa6eb25eee164839268b538abb965e99.tar.gz
upstream-ec03ced5fa6eb25eee164839268b538abb965e99.tar.bz2
upstream-ec03ced5fa6eb25eee164839268b538abb965e99.zip
use broken-out patches for the coldfire to make it easier to follow differences against the bsp
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16547 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/coldfire/patches/050-mcfv4e_irq_magic_bit.patch')
-rw-r--r--target/linux/coldfire/patches/050-mcfv4e_irq_magic_bit.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/target/linux/coldfire/patches/050-mcfv4e_irq_magic_bit.patch b/target/linux/coldfire/patches/050-mcfv4e_irq_magic_bit.patch
new file mode 100644
index 0000000000..61d746b701
--- /dev/null
+++ b/target/linux/coldfire/patches/050-mcfv4e_irq_magic_bit.patch
@@ -0,0 +1,31 @@
+From 3487b77acbb12f4174f46237f942918651b23aa7 Mon Sep 17 00:00:00 2001
+From: Kurt Mahan <kmahan@freescale.com>
+Date: Tue, 15 Apr 2008 17:14:55 -0600
+Subject: [PATCH] Fix setting low 31 interrupts to deal with magic bit 0
+ of the IMRL register.
+
+LTIBName: mcfv4e-irq-magic-bit
+Signed-off-by: Kurt Mahan <kmahan@freescale.com>
+---
+ arch/m68k/coldfire/ints.c | 9 ++++++---
+ 1 files changed, 6 insertions(+), 3 deletions(-)
+
+--- a/arch/m68k/coldfire/ints.c
++++ b/arch/m68k/coldfire/ints.c
+@@ -420,10 +420,13 @@ void m547x_8x_irq_enable(unsigned int ir
+ }
+ #endif
+
+- if (irq < 32)
+- MCF_IMRL &= ~(1 << irq);
+- else
++ if (irq < 32) {
++ /* *grumble* don't set low bit of IMRL */
++ MCF_IMRL &= (~(1 << irq) & 0xfffffffe);
++ }
++ else {
+ MCF_IMRH &= ~(1 << (irq - 32));
++ }
+ }
+
+ void m547x_8x_irq_disable(unsigned int irq)