aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-3.8/311-MIPS-BCM63XX-Handle-SW-IRQs-0-1.patch
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2013-05-02 15:28:26 +0000
committerJonas Gorski <jogo@openwrt.org>2013-05-02 15:28:26 +0000
commitd11efa14286ba8b6e6bfa3af0f3c16e1f8492682 (patch)
treee3e2bf83875e77ee741919ed9d7bcf368fa3fd7e /target/linux/brcm63xx/patches-3.8/311-MIPS-BCM63XX-Handle-SW-IRQs-0-1.patch
parent8f15326acca2d34200d3b1142bb4c184fa6c1e07 (diff)
downloadupstream-d11efa14286ba8b6e6bfa3af0f3c16e1f8492682.tar.gz
upstream-d11efa14286ba8b6e6bfa3af0f3c16e1f8492682.tar.bz2
upstream-d11efa14286ba8b6e6bfa3af0f3c16e1f8492682.zip
bcm63xx: add SMP support for BCM6362 and BCM6368
BCM6358 requires further work due to its shared TLB. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 36526
Diffstat (limited to 'target/linux/brcm63xx/patches-3.8/311-MIPS-BCM63XX-Handle-SW-IRQs-0-1.patch')
-rw-r--r--target/linux/brcm63xx/patches-3.8/311-MIPS-BCM63XX-Handle-SW-IRQs-0-1.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-3.8/311-MIPS-BCM63XX-Handle-SW-IRQs-0-1.patch b/target/linux/brcm63xx/patches-3.8/311-MIPS-BCM63XX-Handle-SW-IRQs-0-1.patch
new file mode 100644
index 0000000000..f08c7ef4fa
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.8/311-MIPS-BCM63XX-Handle-SW-IRQs-0-1.patch
@@ -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) {