diff options
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch | 26 | ||||
-rw-r--r-- | target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch | 12 |
2 files changed, 32 insertions, 6 deletions
diff --git a/target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch b/target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch new file mode 100644 index 000000000..302ac8d95 --- /dev/null +++ b/target/linux/brcm47xx/patches-3.3/204-bcma-do-not-initialize-deactivated-PCIe-cores.patch @@ -0,0 +1,26 @@ +--- a/drivers/bcma/driver_pci_host.c ++++ b/drivers/bcma/driver_pci_host.c +@@ -35,11 +35,6 @@ bool __devinit bcma_core_pci_is_in_hostm + chipid_top != 0x5300) + return false; + +- if (bus->sprom.boardflags_lo & BCMA_CORE_PCI_BFL_NOPCI) { +- bcma_info(bus, "This PCI core is disabled and not working\n"); +- return false; +- } +- + bcma_core_enable(pc->core, 0); + + return !mips_busprobe32(tmp, pc->core->io_addr); +@@ -396,6 +391,11 @@ void __devinit bcma_core_pci_hostmode_in + + bcma_info(bus, "PCIEcore in host mode found\n"); + ++ if (bus->sprom.boardflags_lo & BCMA_CORE_PCI_BFL_NOPCI) { ++ bcma_info(bus, "This PCIE core is disabled and not working\n"); ++ return; ++ } ++ + pc_host = kzalloc(sizeof(*pc_host), GFP_KERNEL); + if (!pc_host) { + bcma_err(bus, "can not allocate memory"); diff --git a/target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch b/target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch index 874c249b0..91b8a4191 100644 --- a/target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch +++ b/target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch @@ -1,6 +1,6 @@ --- a/drivers/bcma/driver_pci_host.c +++ b/drivers/bcma/driver_pci_host.c -@@ -99,19 +99,19 @@ static int bcma_extpci_read_config(struc +@@ -94,19 +94,19 @@ static int bcma_extpci_read_config(struc if (dev == 0) { /* we support only two functions on device 0 */ if (func > 1) @@ -23,7 +23,7 @@ val = pcicore_read32(pc, addr); } } else { -@@ -127,8 +127,6 @@ static int bcma_extpci_read_config(struc +@@ -122,8 +122,6 @@ static int bcma_extpci_read_config(struc val = 0xffffffff; goto unmap; } @@ -32,7 +32,7 @@ } val >>= (8 * (off & 3)); -@@ -156,7 +154,7 @@ static int bcma_extpci_write_config(stru +@@ -151,7 +149,7 @@ static int bcma_extpci_write_config(stru const void *buf, int len) { int err = -EINVAL; @@ -41,7 +41,7 @@ void __iomem *mmio = 0; u16 chipid = pc->core->bus->chipinfo.id; -@@ -164,16 +162,22 @@ static int bcma_extpci_write_config(stru +@@ -159,16 +157,22 @@ static int bcma_extpci_write_config(stru if (unlikely(len != 1 && len != 2 && len != 4)) goto out; if (dev == 0) { @@ -70,7 +70,7 @@ } } else { addr = bcma_get_cfgspace_addr(pc, dev, func, off); -@@ -192,12 +196,10 @@ static int bcma_extpci_write_config(stru +@@ -187,12 +191,10 @@ static int bcma_extpci_write_config(stru switch (len) { case 1: @@ -83,7 +83,7 @@ val &= ~(0xFFFF << (8 * (off & 3))); val |= *((const u16 *)buf) << (8 * (off & 3)); break; -@@ -205,13 +207,14 @@ static int bcma_extpci_write_config(stru +@@ -200,13 +202,14 @@ static int bcma_extpci_write_config(stru val = *((const u32 *)buf); break; } |