fix irq sharing issue on bcm4710

SVN-Revision: 5160
master
Felix Fietkau 18 years ago
parent 11e5e050ae
commit 071177ca66
  1. 9
      target/linux/brcm-2.6/patches/001-bcm947xx.patch

@ -1829,22 +1829,22 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbmips.c linux.dev/arch/mips/bcm
+ BCMINIT(sb_setirq)(sbh, 0, SB_CODEC, 0); + BCMINIT(sb_setirq)(sbh, 0, SB_CODEC, 0);
+ BCMINIT(sb_setirq)(sbh, 0, SB_EXTIF, 0); + BCMINIT(sb_setirq)(sbh, 0, SB_EXTIF, 0);
+ BCMINIT(sb_setirq)(sbh, 2, SB_ENET, 1); + BCMINIT(sb_setirq)(sbh, 2, SB_ENET, 1);
+ BCMINIT(sb_setirq)(sbh, 3, SB_ILINE20, 0); + // BCMINIT(sb_setirq)(sbh, 3, SB_ILINE20, 0); /* seems to be unused */
+ BCMINIT(sb_setirq)(sbh, 4, SB_PCI, 0); + BCMINIT(sb_setirq)(sbh, 4, SB_PCI, 0);
+ ASSERT(eir); + ASSERT(eir);
+ value = BCMINIT(early_nvram_get)("et0phyaddr"); + value = BCMINIT(early_nvram_get)("et0phyaddr");
+ if (value && !strcmp(value, "31")) { + if (value && !strcmp(value, "31")) {
+ /* Enable internal UART */ + /* Enable internal UART */
+ W_REG(&eir->corecontrol, CC_UE); + W_REG(&eir->corecontrol, CC_UE);
+ /* Give USB its own interrupt */
+ BCMINIT(sb_setirq)(sbh, 1, SB_USB, 0);
+ } else { + } else {
+ /* Disable internal UART */ + /* Disable internal UART */
+ W_REG(&eir->corecontrol, 0); + W_REG(&eir->corecontrol, 0);
+ /* Give Ethernet its own interrupt */ + /* Give Ethernet its own interrupt */
+ BCMINIT(sb_setirq)(sbh, 1, SB_ENET, 0); + BCMINIT(sb_setirq)(sbh, 1, SB_ENET, 0);
+ BCMINIT(sb_setirq)(sbh, 0, SB_USB, 0);
+ } + }
+ /* USB gets its own interrupt */
+ BCMINIT(sb_setirq)(sbh, 3, SB_USB, 0);
+
+ break; + break;
+ case BCM5350_DEVICE_ID: + case BCM5350_DEVICE_ID:
+ /* Clear interrupt map */ + /* Clear interrupt map */
@ -2512,6 +2512,7 @@ diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbmips.c linux.dev/arch/mips/bcm
+} +}
+ +
+ +
diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbpci.c linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c diff -urN linux.old/arch/mips/bcm947xx/broadcom/sbpci.c linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c
--- linux.old/arch/mips/bcm947xx/broadcom/sbpci.c 1970-01-01 01:00:00.000000000 +0100 --- linux.old/arch/mips/bcm947xx/broadcom/sbpci.c 1970-01-01 01:00:00.000000000 +0100
+++ linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c 2006-10-15 23:29:14.000000000 +0200 +++ linux.dev/arch/mips/bcm947xx/broadcom/sbpci.c 2006-10-15 23:29:14.000000000 +0200

Loading…
Cancel
Save