diff options
| author | Richard Zhu <hongxing.zhu@nxp.com> | 2026-09-17 14:33:22 +0800 |
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2026-10-14 14:28:36 -0500 |
| commit | f845c1e2d2d4506802244ea2a378ae7b04e90bfe (patch) | |
| tree | ac67a43eabdb8624b25478aba688fc330bea53fc /scripts/basic | |
| parent | e60d0d4dfddfac3058753a1c2255251401c92dad (diff) | |
| download | linux-f845c1e2d2d4506802244ea2a378ae7b04e90bfe.tar.gz linux-f845c1e2d2d4506802244ea2a378ae7b04e90bfe.zip | |
PCI: dwc: Add suspend_poweroff flag for platforms with RC power loss
Some platforms like i.MX power off their PCIe RC controllers during
system suspend, requiring full re-initialization on resume. These
platforms need to enter L2 state to properly notify endpoints before
power loss.
According to PCIe r7.0, sec 5.2, system software should transition the
device into D3hot before broadcasting the PME_Turn_Off message to initiate
L2 entry. In practice, endpoint drivers properly put their devices into
D3hot during the suspend flow. However, some wakeup-capable endpoint
devices that don't support PME from D3cold fail the D3cold capability check
in pci_host_common_d3cold_possible(), which currently prevents L2 entry
even though the devices are already in the required D3hot state.
For platforms where the RC loses power during suspend, L2 entry is
essential regardless of D3cold support, as the link will be lost anyway
when the RC powers off. Without L2 entry, endpoints are not properly
notified before power loss, which can cause issues during resume and
reinitialization.
Add a suspend_poweroff flag to allow L2 entry for devices that are in
D3hot but fail the D3cold capability check, and enable it for i.MX PCIe
controllers that lose power during suspend.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
[mani: removed redundant comment]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20260917063322.4102035-1-hongxing.zhu@oss.nxp.com
Diffstat (limited to 'scripts/basic')
0 files changed, 0 insertions, 0 deletions
