diff options
Diffstat (limited to 'SOURCES/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch')
-rw-r--r-- | SOURCES/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/SOURCES/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch b/SOURCES/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch deleted file mode 100644 index 07f8b4e..0000000 --- a/SOURCES/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 - |