diff mbox series

PCI: imx6: Allow async probe

Message ID 20190404164517.17735-1-l.stach@pengutronix.de (mailing list archive)
State Accepted, archived
Commit 35527124d7bf351b0ec3e1793f8a39bb63cfe7c1
Headers show
Series PCI: imx6: Allow async probe | expand

Commit Message

Lucas Stach April 4, 2019, 4:45 p.m. UTC
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(+)

Comments

Fabio Estevam April 4, 2019, 5:32 p.m. UTC | #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
Lucas Stach April 5, 2019, 8:38 a.m. UTC | #2
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
Fabio Estevam April 5, 2019, 11:42 a.m. UTC | #3
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>
Lorenzo Pieralisi April 16, 2019, 10:26 a.m. UTC | #4
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
>
diff mbox series

Patch

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,