drivers/pci/controller/dwc/pci-imx6.c | 5 +++++ drivers/pci/controller/dwc/pcie-designware-host.c | 15 +++++++++++++++ drivers/pci/controller/dwc/pcie-designware.h | 1 + 3 files changed, 21 insertions(+)
It's harmless to let dw_pcie_suspend_noirq() proceed suspend after the PME_Turn_Off is sent out, whatever the LTSSM state is in L2 or L3 after a recommended 10ms max wait refer to PCIe r6.0, sec 5.3.3.2.1 PME Synchronization. The LTSSM states of i.MX6QP PCIe is inaccessible after the PME_Turn_Off is kicked off. To handle this case, don't poll L2 state and add one max 10ms delay if the skip_l23_wait flag is true in suspend. Main changes in v9: - Based on v4 patch-set[1] and the pcie/controller/dwc of the following pci git. git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git - Drop 2-2 of v8 patch-set. - Refine the first patch of v8 patch-set refer to Mani's suggestions. [1]:https://lore.kernel.org/linux-pci/20260107-pci-dwc-suspend-rework-v4-0-9b5f3c72df0a@oss.qualcomm.com/#r v8:https://lore.kernel.org/all/20260107024553.3307205-1-hongxing.zhu@nxp.com/ Main changes in v8: - Rebase to v6.19-rc1. v7:https://lore.kernel.org/all/20251024025627.787833-1-hongxing.zhu@nxp.com/ Main changes in v7: - Rebase to v6.18-rc1. - Drop the first patch of v6, since it's not necessary part of this topic, and it seems that more evaluations and discussions are required. v6:https://lore.kernel.org/imx/20250924072324.3046687-1-hongxing.zhu@nxp.com/ Main changes in v6: Refer to Mani' comments. - Update the commit message of first patch. - Squash the 6-3 and 6-4 into 6-2 of v5 patch-set. - Add the Fixes tag, and CC stable list. v5:https://lore.kernel.org/imx/20250902080151.3748965-1-hongxing.zhu@nxp.com/ Main changes in v5: - Fix build warning caused by 6-1 patch. v4:https://lore.kernel.org/imx/20250822084341.3160738-1-hongxing.zhu@nxp.com/ Main changes in v4: - Add one patch[1/6] to remove the L1SS check during L2 entry. - Update the code comments of 2/6 patch and commit description of 6/6 patch. - Add background to 5/6 to describe why skip PME_Turn_off message when no endpoint device is connected. v3:https://lore.kernel.org/imx/20250818073205.1412507-1-hongxing.zhu@nxp.com/ Main changes in v3: - Adjust the patch sequence to avoid the build break. - Update the commit message. v2:https://lore.kernel.org/imx/20250618024116.3704579-1-hongxing.zhu@nxp.com/ Main changes in v2: Add the following two patches. - Skip PME_Turn_Off message if there is no endpoint connected. - Don't return error when wait for link up. v1:https://lore.kernel.org/imx/20250408065221.1941928-1-hongxing.zhu@nxp.com/ [PATCH v9] PCI: dwc: Don't poll L2 if skip_l23_wait is true drivers/pci/controller/dwc/pci-imx6.c | 5 +++++ drivers/pci/controller/dwc/pcie-designware-host.c | 15 +++++++++++++++ drivers/pci/controller/dwc/pcie-designware.h | 1 + 3 files changed, 21 insertions(+)
On Wed, 14 Jan 2026 16:32:59 +0800, Richard Zhu wrote:
> It's harmless to let dw_pcie_suspend_noirq() proceed suspend after the
> PME_Turn_Off is sent out, whatever the LTSSM state is in L2 or L3 after
> a recommended 10ms max wait refer to PCIe r6.0, sec 5.3.3.2.1 PME
> Synchronization.
>
> The LTSSM states of i.MX6QP PCIe is inaccessible after the PME_Turn_Off
> is kicked off. To handle this case, don't poll L2 state and add one max
> 10ms delay if the skip_l23_wait flag is true in suspend.
>
> [...]
Applied, thanks!
[1/1] PCI: dwc: Don't poll L2 if skip_l23_wait is true
commit: 58a17b2647ba5aac47e3ffafd0a9b92bf4a9bcbe
Best regards,
--
Manivannan Sadhasivam <mani@kernel.org>
© 2016 - 2026 Red Hat, Inc.