Re: [PATCH v4 0/9] PCI: dw-rockchip: add system suspend support

Sebastian Reichel
2025-11-03T18:58:57Z

[-- Attachment #1: Type: text/plain, Size: 4699 bytes --]

Hi,

On Sat, Nov 01, 2025 at 07:29:41PM +0530, Manivannan Sadhasivam wrote:
> On Wed, Oct 29, 2025 at 06:56:39PM +0100, Sebastian Reichel wrote:
> > I've recently been working on fixing up at least basic system suspend
> > support on the Rockchip RK3576 platform. Currently the biggest open
> > issue is missing support in the PCIe driver. This series is a follow-up
> > for Shawn Lin's series with feedback from Niklas Cassel and Manivannan
> > Sadhasivam being handled as well as some of my own changes fixing up
> > things I noticed.
> >
> > In opposite to Shawn Lin I did not test with different peripherals as my
> > main goal is getting basic suspend to ram working in the first place.
>
> Wouldn't it break users who have connected endpoint devices and suspend their
> platform? I don't want to have an untested feature that could potentially cause
> regressions, just for the sake of getting basic system PM.
>
> But if your goal is to just add basic system PM operations for CI
> testing, then I would suggest you to do something minimal in the
> suspend/resume path that don't disrupt the operation of a device.
>
> But this also should be tested with some devices for sanity.

My goal is proper system PM support, but I would like to go step by
step. Right now system suspend on the Rockchip RK3576 EVB just hangs
the board and it has to be power cycled afterwards. In parallel to
this series I've send a bunch of fixes to get it working. It surely
isn't perfect, but I fear things regressing again in other areas while
the complex PCIe system sleep is being worked on - simply blocking system
suspend is not very helpful, since it effectively hides suspend problems.

Greetings,

-- Sebastian

> - Mani
>
> > I did notice issues with the Broadcom WLAN card on the RK3576 EVB.
> > Suspending that platform without a driver being probed works, but after
> > probing brcmfmac suspend is aborted because brcmf_pcie_pm_enter_D3()
> > does not work. As far as I can tell the problem is unrelated to the
> > Rockchip PCIe driver.
> >
> > Changes since PATCHv3:
> > * https://lore.kernel.org/linux-pci/1744940759-23823-1-git-send-email-shawn.lin@rock-chips.com/
> > * rename rockchip_pcie_get_ltssm to rockchip_pcie_get_ltssm_status_reg
> > in a separate patch (Niklas Cassel)
> > * rename rockchip_pcie_get_pure_ltssm to rockchip_pcie_get_ltssm_state
> > in a separate patch (Niklas Cassel)
> > * Move devm_phy_get out of phy_init to probe in a separate patch
> > (Manivannan Sadhasivam)
> > * Add helper function for enhanced LTSSM control mode in a separate patch
> > (Niklas Cassel)
> > * Add helper function for controller mode in a separate patch
> > (Niklas Cassel)
> > * Add helper function for DDL indicator in a separate patch
> > (Niklas Cassel)
> > * Move rockchip_pcie_pme_turn_off implementation in a separate patch
> > * Rebase to v6.18-rc3 using new FIELD_PREP_WM16()
> > * Improve readability of PME_TURN_OFF/PME_TO_ACK defines (Manivannan Sadhasivam)
> > * Fix usage of reverse Xmas (Manivannan Sadhasivam)
> > * Assert PERST# before turning off other resources (Manivannan Sadhasivam)
> > * Improve some error messages (Manivannan Sadhasivam)
> > * Rename goto labels as per their purpose (Manivannan Sadhasivam)
> > * Add extra patch for dw_pcie_resume_noirq, since I've seen errors
> > during resume on boards not having anything plugged into their PCIe
> > port
> >
> > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> > ---
> > Sebastian Reichel (9):
> > PCI: dw-rockchip: Rename rockchip_pcie_get_ltssm function
> > PCI: dw-rockchip: Support get_ltssm operation
> > PCI: dw-rockchip: Move devm_phy_get out of phy_init
> > PCI: dw-rockchip: Add helper function for enhanced LTSSM control mode
> > PCI: dw-rockchip: Add helper function for controller mode
> > PCI: dw-rockchip: Add helper function for DDL indicator
> > PCI: dw-rockchip: Add pme_turn_off support
> > PCI: dw-rockchip: Add system PM support
> > PCI: dwc: support missing PCIe device on resume
> >
> > drivers/pci/controller/dwc/pcie-designware-host.c | 13 +-
> > drivers/pci/controller/dwc/pcie-dw-rockchip.c | 220 ++++++++++++++++++----
> > 2 files changed, 198 insertions(+), 35 deletions(-)
> > ---
> > base-commit: dcb6fa37fd7bc9c3d2b066329b0d27dedf8becaa
> > change-id: 20251028-rockchip-pcie-system-suspend-86cf08a7b229
> >
> > Best regards,
> > --
> > Sebastian Reichel <sebastian.reichel@collabora.com>
> >
>
> --
> மணிவண்ணன் சதாசிவம்

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]