You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/coldfire/patches/050-mcfv4e_irq_magic_bit.patch

32 lines
824 B
Diff

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)