linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RESEND PATCH v3 0/5] Add quirks to proceed PME handshake in DWC PM
@ 2025-08-18  7:32 Richard Zhu
  2025-08-18  7:32 ` [RESEND v3 1/5] PCI: dwc: Don't poll L2 if QUIRK_NOL2POLL_IN_PM is existing in suspend Richard Zhu
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Richard Zhu @ 2025-08-18  7:32 UTC (permalink / raw)
  To: frank.li, jingoohan1, l.stach, lpieralisi, kwilczynski, mani,
	robh, bhelgaas, shawnguo, s.hauer, kernel, festevam
  Cc: linux-pci, linux-arm-kernel, imx, linux-kernel

Refer to PCIe r6.0, sec 5.2, fig 5-1 Link Power Management State Flow
Diagram. Both L0 and L2/L3 Ready can be transferred to LDn directly.

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 QUIRK_NOL2POLL_IN_PM flag is existing in suspend.

Main changes in v3:
- Adjust the patch sequence to avoid the build break.
- Update the commit message.
v2:https://patchwork.kernel.org/project/linux-pci/cover/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://patchwork.kernel.org/project/linux-pci/cover/20250408065221.1941928-1-hongxing.zhu@nxp.com/

[RESEND v3 1/5] PCI: dwc: Don't poll L2 if QUIRK_NOL2POLL_IN_PM is
[RESEND v3 2/5] PCI: imx6: Don't poll LTSSM state of i.MX6QP PCIe in
[RESEND v3 3/5] PCI: imx6: Don't poll LTSSM state of i.MX7D PCIe in
[RESEND v3 4/5] PCI: dwc: Skip PME_Turn_Off message if there is no
[RESEND v3 5/5] PCI: dwc: Don't return error when wait for link up

drivers/pci/controller/dwc/pci-imx6.c             |  4 ++++
drivers/pci/controller/dwc/pcie-designware-host.c | 50 +++++++++++++++++++++++++++++++-------------------
drivers/pci/controller/dwc/pcie-designware.h      |  4 ++++
3 files changed, 39 insertions(+), 19 deletions(-)



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-08-21 19:13 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-18  7:32 [RESEND PATCH v3 0/5] Add quirks to proceed PME handshake in DWC PM Richard Zhu
2025-08-18  7:32 ` [RESEND v3 1/5] PCI: dwc: Don't poll L2 if QUIRK_NOL2POLL_IN_PM is existing in suspend Richard Zhu
2025-08-18 15:48   ` Bjorn Helgaas
2025-08-19  5:51     ` Hongxing Zhu
2025-08-19 19:33       ` Bjorn Helgaas
2025-08-19 19:28   ` Bjorn Helgaas
2025-08-21  5:44     ` Hongxing Zhu
2025-08-18  7:32 ` [RESEND v3 2/5] PCI: imx6: Don't poll LTSSM state of i.MX6QP PCIe in PM operations Richard Zhu
2025-08-18  7:32 ` [RESEND v3 3/5] PCI: imx6: Don't poll LTSSM state of i.MX7D " Richard Zhu
2025-08-18  7:32 ` [RESEND v3 4/5] PCI: dwc: Skip PME_Turn_Off message if there is no endpoint connected Richard Zhu
2025-08-19 19:07   ` Bjorn Helgaas
2025-08-21  5:44     ` Hongxing Zhu
2025-08-21 14:36       ` Bjorn Helgaas
2025-08-18  7:32 ` [RESEND v3 5/5] PCI: dwc: Don't return error when wait for link up Richard Zhu
2025-08-18 15:32   ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).