On Mon, Feb 27, 2023, Sajid Dalvi <sdalvi@xxxxxxxxxx> wrote: > > In dw_pcie_host_init() regardless of whether the link has been started > or not, the code waits for the link to come up. Even in cases where > start_link() is not defined the code ends up spinning in a loop for 1 > second. Since in some systems dw_pcie_host_init() gets called during > probe, this one second loop for each pcie interface instance ends up > extending the boot time. > > Call trace when start_link() is not defined: > dw_pcie_wait_for_link << spins in a loop for 1 second > dw_pcie_host_init > > Signed-off-by: Sajid Dalvi <sdalvi@xxxxxxxxxx> (CC'ed Krzysztof Kozlowski) Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> It looks good to me. I also checked the previous thread. I agree with Krzysztof's opinion that we should include only hardware-related features into DT. Thank you. Best regards, Jingoo Han > --- > drivers/pci/controller/dwc/pcie-designware-host.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c > index 9952057c8819..9709f69f173e 100644 > --- a/drivers/pci/controller/dwc/pcie-designware-host.c > +++ b/drivers/pci/controller/dwc/pcie-designware-host.c > @@ -489,10 +489,10 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp) > ret = dw_pcie_start_link(pci); > if (ret) > goto err_remove_edma; > - } > > - /* Ignore errors, the link may come up later */ > - dw_pcie_wait_for_link(pci); > + /* Ignore errors, the link may come up later */ > + dw_pcie_wait_for_link(pci); > + } > > bridge->sysdata = pp; > > -- > 2.39.2.722.g9855ee24e9-goog >