[PATCH v1] PCI: imx6: Align EP link start behavior with documentation

Frank Li Frank.li at nxp.com
Fri Jun 6 08:30:02 PDT 2025


On Fri, Jun 06, 2025 at 03:57:29PM +0800, Richard Zhu wrote:
> According to PCI/endpoint/pci-endpoint-cfs.rst, the endpoint (EP) should
> only link up after `echo 1 > start` is executed.
>
> To match the documented behavior, do not start the link automatically
> when adding the EP controller. Ensure the LTSSM_EN bit is not asserted
> to 1'b1 by default.

Reviewed-by: Frank Li <Frank.Li at nxp.com>

>
> Signed-off-by: Richard Zhu <hongxing.zhu at nxp.com>
> ---
>  drivers/pci/controller/dwc/pci-imx6.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 5f267dd261b5..69825e47d2d4 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -1337,6 +1337,10 @@ static int imx_add_pcie_ep(struct imx_pcie *imx_pcie,
>  	struct device *dev = pci->dev;
>
>  	imx_pcie_host_init(pp);
> +
> +	/* Make sure that PCIe LTSSM is cleared */
> +	imx_pcie_ltssm_disable(dev);
> +
>  	ep = &pci->ep;
>  	ep->ops = &pcie_ep_ops;
>
> @@ -1360,9 +1364,6 @@ static int imx_add_pcie_ep(struct imx_pcie *imx_pcie,
>
>  	pci_epc_init_notify(ep->epc);
>
> -	/* Start LTSSM. */
> -	imx_pcie_ltssm_enable(dev);
> -
>  	return 0;
>  }
>
> --
> 2.37.1
>



More information about the linux-arm-kernel mailing list