diff options
| author | Krishna chaitanya chundru <[email protected]> | 2024-11-22 19:10:00 +0000 |
|---|---|---|
| committer | Bjorn Helgaas <[email protected]> | 2025-01-18 17:35:11 +0000 |
| commit | 36971d6c5a9a134c15760ae9fd13c6d5f9a36abb (patch) | |
| tree | 0840571c30cea73266ba7900a4601b00b7f72777 /drivers/pci/controller/dwc | |
| parent | PCI: dwc: Don't wait for link up if driver can detect Link Up event (diff) | |
| download | kernel-36971d6c5a9a134c15760ae9fd13c6d5f9a36abb.tar.gz kernel-36971d6c5a9a134c15760ae9fd13c6d5f9a36abb.zip | |
PCI: qcom: Don't wait for link if we can detect Link Up
If we have a 'global' IRQ for Link Up events, we need not wait for the
link to be up during PCI initialization, which reduces startup time.
Check for 'global' IRQ, and if present, set 'use_linkup_irq',
so dw_pcie_host_init() doesn't wait for the link to come up.
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Krishna chaitanya chundru <[email protected]>
Signed-off-by: Krzysztof WilczyĆski <[email protected]>
[bhelgaas: commit log]
Signed-off-by: Bjorn Helgaas <[email protected]>
Reviewed-by: Manivannan Sadhasivam <[email protected]>
Reviewed-by: Niklas Cassel <[email protected]>
Diffstat (limited to 'drivers/pci/controller/dwc')
| -rw-r--r-- | drivers/pci/controller/dwc/pcie-qcom.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c index dc102d8bd58c..656d2be9d87f 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -1703,6 +1703,10 @@ static int qcom_pcie_probe(struct platform_device *pdev) platform_set_drvdata(pdev, pcie); + irq = platform_get_irq_byname_optional(pdev, "global"); + if (irq > 0) + pp->use_linkup_irq = true; + ret = dw_pcie_host_init(pp); if (ret) { dev_err(dev, "cannot initialize host\n"); @@ -1716,7 +1720,6 @@ static int qcom_pcie_probe(struct platform_device *pdev) goto err_host_deinit; } - irq = platform_get_irq_byname_optional(pdev, "global"); if (irq > 0) { ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, qcom_pcie_global_irq_thread, |
