summaryrefslogtreecommitdiffstats
path: root/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch')
-rw-r--r--0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch57
1 files changed, 0 insertions, 57 deletions
diff --git a/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch b/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch
deleted file mode 100644
index 07f8b4e26..000000000
--- a/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Date: Tue, 10 Mar 2020 13:52:41 +0100
-Subject: [PATCH] PCI: brcmstb: Wait for Raspberry Pi's firmware when present
-
-xHCI's PCI fixup, run at the end of pcie-brcmstb's probe, depends on
-RPi4's VideoCore firmware interface to be up and running. It's possible
-for both initializations to race, so make sure it's available prior to
-starting.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
----
- drivers/pci/controller/pcie-brcmstb.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
-index 6d79d14527a6..aee84679a997 100644
---- a/drivers/pci/controller/pcie-brcmstb.c
-+++ b/drivers/pci/controller/pcie-brcmstb.c
-@@ -28,6 +28,8 @@
- #include <linux/string.h>
- #include <linux/types.h>
-
-+#include <soc/bcm2835/raspberrypi-firmware.h>
-+
- #include "../pci.h"
-
- /* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */
-@@ -917,11 +919,24 @@ static int brcm_pcie_probe(struct platform_device *pdev)
- {
- struct device_node *np = pdev->dev.of_node, *msi_np;
- struct pci_host_bridge *bridge;
-+ struct device_node *fw_np;
- struct brcm_pcie *pcie;
- struct pci_bus *child;
- struct resource *res;
- int ret;
-
-+ /*
-+ * We have to wait for the Raspberry Pi's firmware interface to be up
-+ * as some PCI fixups depend on it.
-+ */
-+ fw_np = of_find_compatible_node(NULL, NULL,
-+ "raspberrypi,bcm2835-firmware");
-+ if (fw_np && !rpi_firmware_get(fw_np)) {
-+ of_node_put(fw_np);
-+ return -EPROBE_DEFER;
-+ }
-+ of_node_put(fw_np);
-+
- bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie));
- if (!bridge)
- return -ENOMEM;
---
-2.26.2
-