[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