Establishing a PCIe link can take a while. Allow async probing so all this happens in the background while other devices are being probed. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> --- drivers/pci/controller/dwc/pci-imx6.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 3d627f94a166..2eb39d5de4f6 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -1279,6 +1279,7 @@ static struct platform_driver imx6_pcie_driver = { .of_match_table = imx6_pcie_of_match, .suppress_bind_attrs = true, .pm = &imx6_pcie_pm_ops, + .probe_type = PROBE_PREFER_ASYNCHRONOUS, }, .probe = imx6_pcie_probe, .shutdown = imx6_pcie_shutdown, -- 2.20.1
Hi Lucas,
On Thu, Apr 4, 2019 at 1:46 PM Lucas Stach <l.stach@pengutronix.de> wrote:
>
> Establishing a PCIe link can take a while. Allow async probing so all
> this happens in the background while other devices are being probed.
>
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> ---
> drivers/pci/controller/dwc/pci-imx6.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 3d627f94a166..2eb39d5de4f6 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -1279,6 +1279,7 @@ static struct platform_driver imx6_pcie_driver = {
> .of_match_table = imx6_pcie_of_match,
> .suppress_bind_attrs = true,
> .pm = &imx6_pcie_pm_ops,
> + .probe_type = PROBE_PREFER_ASYNCHRONOUS,
This does not seem to be imx6 specific.
Should this be moved to
drivers/pci/controller/dwc/pcie-designware-plat.c instead?
Thanks
Hi Fabio,
Am Donnerstag, den 04.04.2019, 14:32 -0300 schrieb Fabio Estevam:
> Hi Lucas,
>
> > On Thu, Apr 4, 2019 at 1:46 PM Lucas Stach <l.stach@pengutronix.de> wrote:
> >
> > Establishing a PCIe link can take a while. Allow async probing so all
> > this happens in the background while other devices are being probed.
> >
> > > > Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> > ---
> > drivers/pci/controller/dwc/pci-imx6.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> > index 3d627f94a166..2eb39d5de4f6 100644
> > --- a/drivers/pci/controller/dwc/pci-imx6.c
> > +++ b/drivers/pci/controller/dwc/pci-imx6.c
> > @@ -1279,6 +1279,7 @@ static struct platform_driver imx6_pcie_driver = {
> > .of_match_table = imx6_pcie_of_match,
> > .suppress_bind_attrs = true,
> > .pm = &imx6_pcie_pm_ops,
> > + .probe_type = PROBE_PREFER_ASYNCHRONOUS,
>
> This does not seem to be imx6 specific.
>
> Should this be moved to
> drivers/pci/controller/dwc/pcie-designware-plat.c instead?
This property needs to be set in the SoC specific driver that gets
probed, we don't use pcie-designware-plat.c t all. While it isn't
really i.MX specific, I won't go around and set it for platforms I
can't test, as the async behavior may have some unexpected consequences
on other platforms.
Regards,
Lucas
Hi Lucas,
On Fri, Apr 5, 2019 at 5:38 AM Lucas Stach <l.stach@pengutronix.de> wrote:
> This property needs to be set in the SoC specific driver that gets
> probed, we don't use pcie-designware-plat.c t all. While it isn't
> really i.MX specific, I won't go around and set it for platforms I
> can't test, as the async behavior may have some unexpected consequences
> on other platforms.
Got it. It makes sense:
Reviewed-by: Fabio Estevam <festevam@gmail.com>
On Thu, Apr 04, 2019 at 06:45:17PM +0200, Lucas Stach wrote: > Establishing a PCIe link can take a while. Allow async probing so all > this happens in the background while other devices are being probed. > > Signed-off-by: Lucas Stach <l.stach@pengutronix.de> > --- > drivers/pci/controller/dwc/pci-imx6.c | 1 + > 1 file changed, 1 insertion(+) Applied to pci/dwc, thanks. Lorenzo > diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c > index 3d627f94a166..2eb39d5de4f6 100644 > --- a/drivers/pci/controller/dwc/pci-imx6.c > +++ b/drivers/pci/controller/dwc/pci-imx6.c > @@ -1279,6 +1279,7 @@ static struct platform_driver imx6_pcie_driver = { > .of_match_table = imx6_pcie_of_match, > .suppress_bind_attrs = true, > .pm = &imx6_pcie_pm_ops, > + .probe_type = PROBE_PREFER_ASYNCHRONOUS, > }, > .probe = imx6_pcie_probe, > .shutdown = imx6_pcie_shutdown, > -- > 2.20.1 >