diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-05-20 02:35:12 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-05-20 02:35:12 +0000 |
commit | be8041e41cc67fda3efa11dc266a1ed438f465ea (patch) | |
tree | bf33594ad0cb3a4b96b49e7d779eed7af0edba40 /openwrt | |
parent | 82648a952273abfca722c066039b66aa5919991c (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
Diffstat (limited to 'openwrt')
-rw-r--r-- | openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch | 21 |
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 a67c56774..af82c3c77 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); + |