Message ID | 20250408025930.1863551-3-hongxing.zhu@nxp.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Krzysztof WilczyĆski |
Headers | show |
Series | Add some enhancements for i.MX95 PCIe | expand |
On Tue, Apr 08, 2025 at 10:59:25AM +0800, Richard Zhu wrote: > Remove one reduntant dw_pcie_wait_for_link() in link traning workaround > because common framework already do that. > > Suggested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> - Mani > Reviewed-by: Frank Li <Frank.Li@nxp.com> > --- > drivers/pci/controller/dwc/pci-imx6.c | 15 ++++----------- > 1 file changed, 4 insertions(+), 11 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c > index a4c0714c6468..c5871c3d4194 100644 > --- a/drivers/pci/controller/dwc/pci-imx6.c > +++ b/drivers/pci/controller/dwc/pci-imx6.c > @@ -881,11 +881,11 @@ static int imx_pcie_start_link(struct dw_pcie *pci) > /* Start LTSSM. */ > imx_pcie_ltssm_enable(dev); > > - ret = dw_pcie_wait_for_link(pci); > - if (ret) > - goto err_reset_phy; > - > if (pci->max_link_speed > 1) { > + ret = dw_pcie_wait_for_link(pci); > + if (ret) > + goto err_reset_phy; > + > /* Allow faster modes after the link is up */ > dw_pcie_dbi_ro_wr_en(pci); > tmp = dw_pcie_readl_dbi(pci, offset + PCI_EXP_LNKCAP); > @@ -907,17 +907,10 @@ static int imx_pcie_start_link(struct dw_pcie *pci) > dev_err(dev, "Failed to bring link up!\n"); > goto err_reset_phy; > } > - > - /* Make sure link training is finished as well! */ > - ret = dw_pcie_wait_for_link(pci); > - if (ret) > - goto err_reset_phy; > } else { > dev_info(dev, "Link: Only Gen1 is enabled\n"); > } > > - tmp = dw_pcie_readw_dbi(pci, offset + PCI_EXP_LNKSTA); > - dev_info(dev, "Link up, Gen%i\n", tmp & PCI_EXP_LNKSTA_CLS); > return 0; > > err_reset_phy: > -- > 2.37.1 >
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index a4c0714c6468..c5871c3d4194 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -881,11 +881,11 @@ static int imx_pcie_start_link(struct dw_pcie *pci) /* Start LTSSM. */ imx_pcie_ltssm_enable(dev); - ret = dw_pcie_wait_for_link(pci); - if (ret) - goto err_reset_phy; - if (pci->max_link_speed > 1) { + ret = dw_pcie_wait_for_link(pci); + if (ret) + goto err_reset_phy; + /* Allow faster modes after the link is up */ dw_pcie_dbi_ro_wr_en(pci); tmp = dw_pcie_readl_dbi(pci, offset + PCI_EXP_LNKCAP); @@ -907,17 +907,10 @@ static int imx_pcie_start_link(struct dw_pcie *pci) dev_err(dev, "Failed to bring link up!\n"); goto err_reset_phy; } - - /* Make sure link training is finished as well! */ - ret = dw_pcie_wait_for_link(pci); - if (ret) - goto err_reset_phy; } else { dev_info(dev, "Link: Only Gen1 is enabled\n"); } - tmp = dw_pcie_readw_dbi(pci, offset + PCI_EXP_LNKSTA); - dev_info(dev, "Link up, Gen%i\n", tmp & PCI_EXP_LNKSTA_CLS); return 0; err_reset_phy: