[OpenWrt-Devel] [PATCH 1/6] bcm53xx: fixup early device id 8012

Ian Kent raven at themaw.net
Mon Mar 9 23:30:12 EDT 2015


Looks like the BCM53012 has a similar problem to the BCM53011.

Signed-off-by: Ian Kent <raven at themaw.net>
---
 ...-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch |   12 +++++++++++-
 ...-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch |   12 +++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/target/linux/bcm53xx/patches-3.14/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch b/target/linux/bcm53xx/patches-3.14/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch
index e963133..4e2e59e 100644
--- a/target/linux/bcm53xx/patches-3.14/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch
+++ b/target/linux/bcm53xx/patches-3.14/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch
@@ -30,7 +30,16 @@ to remove the call to pci_bus_add_devices() in pci_scan_root_bus() to
 make registration work, calling pci_bus_add_devices() later again does
 not fix this problem.
 
+edit: imk
+It appears the BCM53012 has a similar problem to the BCM53011.
+
+If the top 24 bits of the dev->class field isn't PCI_CLASS_BRIDGE_PCI
+the kernel will not do the bridge setup so add an early fixup for it
+too.
+end edit: imk
+
 Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
+Signed-off-by: Ian Kent <raven at themaw.net>
 ---
  arch/arm/mach-bcm/Kconfig            |   1 +
  drivers/pci/host/Kconfig             |   7 +
@@ -72,7 +81,7 @@ Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
 +obj-$(CONFIG_PCI_BCM5301X) += pci-host-bcm5301x.o
 --- /dev/null
 +++ b/drivers/pci/host/pci-host-bcm5301x.c
-@@ -0,0 +1,459 @@
+@@ -0,0 +1,460 @@
 +/*
 + * Northstar PCI-Express driver
 + * Only supports Root-Complex (RC) mode
@@ -220,6 +229,7 @@ Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
 +	dev->class = PCI_CLASS_BRIDGE_PCI << 8;
 +}
 +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x8011, bcma_pcie2_fixup_class);
++DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x8012, bcma_pcie2_fixup_class);
 +
 +/*
 + * Check link status, return 0 if link is up in RC mode,
diff --git a/target/linux/bcm53xx/patches-3.18/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch b/target/linux/bcm53xx/patches-3.18/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch
index 1a84604..94fdea1 100644
--- a/target/linux/bcm53xx/patches-3.18/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch
+++ b/target/linux/bcm53xx/patches-3.18/170-pcie2-bcma-add-new-PCIe2-driver-for-bcma.patch
@@ -30,7 +30,16 @@ to remove the call to pci_bus_add_devices() in pci_scan_root_bus() to
 make registration work, calling pci_bus_add_devices() later again does
 not fix this problem.
 
+edit: imk
+It appears the BCM53012 has a similar problem to the BCM53011.
+
+If the top 24 bits of the dev->class field isn't PCI_CLASS_BRIDGE_PCI
+the kernel will not do the bridge setup so add an early fixup for it
+too.
+end edit: imk
+
 Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
+Signed-off-by: Ian Kent <raven at themaw.net>
 ---
  arch/arm/mach-bcm/Kconfig            |   1 +
  drivers/pci/host/Kconfig             |   7 +
@@ -72,7 +81,7 @@ Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
 +obj-$(CONFIG_PCI_BCM5301X) += pci-host-bcm5301x.o
 --- /dev/null
 +++ b/drivers/pci/host/pci-host-bcm5301x.c
-@@ -0,0 +1,459 @@
+@@ -0,0 +1,460 @@
 +/*
 + * Northstar PCI-Express driver
 + * Only supports Root-Complex (RC) mode
@@ -220,6 +229,7 @@ Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
 +	dev->class = PCI_CLASS_BRIDGE_PCI << 8;
 +}
 +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x8011, bcma_pcie2_fixup_class);
++DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x8012, bcma_pcie2_fixup_class);
 +
 +/*
 + * Check link status, return 0 if link is up in RC mode,
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list