bcm63xx: add 3.9 support
[openwrt.git] / target / linux / brcm63xx / patches-3.9 / 311-MIPS-BCM63XX-Handle-SW-IRQs-0-1.patch
diff --git a/target/linux/brcm63xx/patches-3.9/311-MIPS-BCM63XX-Handle-SW-IRQs-0-1.patch b/target/linux/brcm63xx/patches-3.9/311-MIPS-BCM63XX-Handle-SW-IRQs-0-1.patch
new file mode 100644 (file)
index 0000000..f08c7ef
--- /dev/null
@@ -0,0 +1,28 @@
+From 8e0bd819cc0f8815cad99feea98664172c0b1fe4 Mon Sep 17 00:00:00 2001
+From: Kevin Cernekee <cernekee@gmail.com>
+Date: Mon, 31 Oct 2011 11:52:10 -0700
+Subject: [PATCH 02/13] MIPS: BCM63XX: Handle SW IRQs 0-1
+
+MIPS software IRQs 0 and 1 are used for interprocessor signaling (IPI)
+on BMIPS SMP.  Make the board support code aware of them.
+
+Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
+[jogo@openwrt.org: move sw irqs behind timer irq]
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ arch/mips/bcm63xx/irq.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/arch/mips/bcm63xx/irq.c
++++ b/arch/mips/bcm63xx/irq.c
+@@ -294,6 +294,10 @@ asmlinkage void plat_irq_dispatch(void)
+               if (cause & CAUSEF_IP7)
+                       do_IRQ(7);
++              if (cause & CAUSEF_IP0)
++                      do_IRQ(0);
++              if (cause & CAUSEF_IP1)
++                      do_IRQ(1);
+               if (cause & CAUSEF_IP2)
+                       dispatch_internal();
+               if (!is_ext_irq_cascaded) {