]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI: imx6: Skip waiting for L2/L3 Ready on i.MX6SX
authorRichard Zhu <hongxing.zhu@nxp.com>
Sat, 28 Feb 2026 08:09:25 +0000 (16:09 +0800)
committerManivannan Sadhasivam <mani@kernel.org>
Thu, 26 Mar 2026 16:47:00 +0000 (22:17 +0530)
On i.MX6SX, the LTSSM registers become inaccessible after the
PME_Turn_Off message is sent to the link. So there is no way to verify
whether the link has entered L2/L3 Ready state or not.

Hence, set IMX_PCIE_FLAG_SKIP_L23_READY flag for i.MX6SX SoC to skip the
L2/L3 Ready state polling and let the DWC core wait for 10ms after sending
the PME_Turn_Off message as per the PCIe spec r6.0, sec 5.3.3.2.1.

Fixes: a528d1a72597 ("PCI: imx6: Use DWC common suspend resume method")
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
[mani: commit log]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260228080925.1558395-1-hongxing.zhu@nxp.com
drivers/pci/controller/dwc/pci-imx6.c

index 81a7093494c85441b38a982b2cafbb6e6f298ec7..3dfc7bcf53d8f423e84fab77fb77b020570014cf 100644 (file)
@@ -1876,6 +1876,7 @@ static const struct imx_pcie_drvdata drvdata[] = {
                .variant = IMX6SX,
                .flags = IMX_PCIE_FLAG_IMX_PHY |
                         IMX_PCIE_FLAG_SPEED_CHANGE_WORKAROUND |
+                        IMX_PCIE_FLAG_SKIP_L23_READY |
                         IMX_PCIE_FLAG_SUPPORTS_SUSPEND,
                .gpr = "fsl,imx6q-iomuxc-gpr",
                .ltssm_off = IOMUXC_GPR12,