aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/controller/dwc
diff options
context:
space:
mode:
authorNiklas Cassel <[email protected]>2025-01-13 10:59:34 +0000
committerBjorn Helgaas <[email protected]>2025-01-18 17:35:25 +0000
commitec9fd499b9c60a187ac8d6414c3c343c77d32e42 (patch)
tree9892768f16cb763d70922886c74e60cc13c28371 /drivers/pci/controller/dwc
parentPCI: dw-rockchip: Enumerate endpoints based on dll_link_up IRQ (diff)
downloadkernel-ec9fd499b9c60a187ac8d6414c3c343c77d32e42.tar.gz
kernel-ec9fd499b9c60a187ac8d6414c3c343c77d32e42.zip
PCI: dw-rockchip: Don't wait for link since we can detect Link Up
The Root Complex specific device tree binding for pcie-dw-rockchip has the 'sys' interrupt marked as required. The driver requests the 'sys' IRQ unconditionally, and errors out if not provided. Thus, we can unconditionally set 'use_linkup_irq', so dw_pcie_host_init() doesn't wait for the link to come up. This will skip the wait for link up (since the bus will be enumerated once the link up IRQ is triggered), which reduces the bootup time. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Niklas Cassel <[email protected]> [bhelgaas: commit log] Signed-off-by: Bjorn Helgaas <[email protected]> Signed-off-by: Krzysztof WilczyƄski <[email protected]>
Diffstat (limited to 'drivers/pci/controller/dwc')
-rw-r--r--drivers/pci/controller/dwc/pcie-dw-rockchip.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
index 1ff8c36c3fa5..93698abff4d9 100644
--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c
+++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
@@ -478,6 +478,7 @@ static int rockchip_pcie_configure_rc(struct platform_device *pdev,
pp = &rockchip->pci.pp;
pp->ops = &rockchip_pcie_host_ops;
+ pp->use_linkup_irq = true;
ret = dw_pcie_host_init(pp);
if (ret) {