mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-26 03:55:32 +02:00
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
This commit is contained in:
parent
82648a9522
commit
be8041e41c
@ -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);
|
||||
+
|
||||
|
Loading…
Reference in New Issue
Block a user