Re: [PATCH] Revert "PCI: dwc: Wait for link up only if link is started"

From: Krzysztof Wilczyński
Date: Mon Jul 10 2023 - 13:06:17 EST


Hello,

> > > > > Finally, note that the intel-gw driver is the only driver currently not
> > > > > providing a start_link callback and instead starts the link in its
> > > > > host_init callback, and which may avoid an additional one-second timeout
> > > > > during probe by making the link-up wait conditional. If anyone cares,
> > > > > that can be done in a follow-up patch with a proper motivation.
> > >
> > > > The offending commit is bogus since it makes the intel-gw _special_ w.r.t
> > > > waiting for the link up. Most of the drivers call dw_pcie_host_init() during the
> > > > probe time and they all have to wait for 1 sec if the slot is empty.
> >
> > Mani, can you please explain how my commit made the intel-gw driver
> > special? The intel driver actually fails the dw_pcie_host_init if the
> > link does not come up. That was my motivation behind adding the fail
> > logic in the core driver as well.
> > >
> > > Just to clarify, the intel-gw driver starts the link and waits for link
> > > up in its host_init() callback, which is called during probe. That wait
> > > could possibly just be dropped in favour of the one in
> > > dw_pcie_host_init() and/or the driver could be reworked to implement
> > > start_link().
> > >
> > > Either way, the call in dw_pcie_host_init() will only add an additional
> > > 1 second delay in cases where the link did *not* come up.
> > >
> > > > As Johan noted, intel-gw should make use of the async probe to avoid the boot
> > > > delay instead of adding a special case.
> > >
> > > Indeed.

The whole conversation above about the intel-gw driver: would something
need to be addressed here? Or can I pick the suggested fix?

> > My apologies for adding this regression in some of the SOCs.
> > May I suggest to keep my patch and make the following change instead?
> > This shall keep the existing behavior as is, and save the boot time
> > for drivers that do not define the start_link()?
[...]

> I just realized that Fabio pushed exactly the same patch as I suggested
> here:
> https://lore.kernel.org/all/20230704122635.1362156-1-festevam@xxxxxxxxx/.
> I think it is better we take it instead of reverting my commit.

Will do. I will also make sure that we have correct attributions in place.

Krzysztof