summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-05-20 02:35:12 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-05-20 02:35:12 +0000
commitbe8041e41cc67fda3efa11dc266a1ed438f465ea (patch)
treebf33594ad0cb3a4b96b49e7d779eed7af0edba40
parent82648a952273abfca722c066039b66aa5919991c (diff)
fix irq problem with the new brcm-2.4 system code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@3803 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch21
1 files changed, 4 insertions, 17 deletions
diff --git a/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch b/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch
index a67c567742..af82c3c770 100644
--- a/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch
+++ b/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch
@@ -10087,7 +10087,7 @@ diff -urN linux.old/arch/mips/bcm947xx/prom.c linux.dev/arch/mips/bcm947xx/prom.
diff -urN linux.old/arch/mips/bcm947xx/sbmips.c linux.dev/arch/mips/bcm947xx/sbmips.c
--- linux.old/arch/mips/bcm947xx/sbmips.c 1970-01-01 01:00:00.000000000 +0100
+++ linux.dev/arch/mips/bcm947xx/sbmips.c 2006-05-02 04:43:13.000000000 +0200
-@@ -0,0 +1,1145 @@
+@@ -0,0 +1,1132 @@
+/*
+ * BCM47XX Sonics SiliconBackplane MIPS core routines
+ *
@@ -10162,8 +10162,8 @@ diff -urN linux.old/arch/mips/bcm947xx/sbmips.c linux.dev/arch/mips/bcm947xx/sbm
+ * Returns the MIPS IRQ assignment of the current core. If unassigned,
+ * 0 is returned.
+ */
-+static uint
-+sb_getirq(sb_t *sbh)
++uint
++sb_irq(sb_t *sbh)
+{
+ osl_t *osh;
+ uint idx;
@@ -10196,19 +10196,6 @@ diff -urN linux.old/arch/mips/bcm947xx/sbmips.c linux.dev/arch/mips/bcm947xx/sbm
+ return irq;
+}
+
-+/*
-+ * Return the MIPS IRQ assignment of the current core. If necessary
-+ * map cores sharing the MIPS hw IRQ0 to virtual dedicated OS IRQs.
-+ */
-+uint
-+sb_irq(sb_t *sbh)
-+{
-+ uint irq = sb_getirq(sbh);
-+ if (irq == 0 && shirq_map_base)
-+ irq = sb_getflag(sbh) + shirq_map_base;
-+ return irq;
-+}
-+
+/* Clears the specified MIPS IRQ. */
+static void
+BCMINITFN(sb_clearirq)(sb_t *sbh, uint irq)
@@ -10250,7 +10237,7 @@ diff -urN linux.old/arch/mips/bcm947xx/sbmips.c linux.dev/arch/mips/bcm947xx/sbm
+ regs = sb_setcore(sbh, coreid, coreunit);
+ ASSERT(regs);
+ flag = sb_getflag(sbh);
-+ oldirq = sb_getirq(sbh);
++ oldirq = sb_irq(sbh);
+ if (oldirq)
+ sb_clearirq(sbh, oldirq);
+