[PATCH v8 0/3] dwc general suspend/resume functionality

From: Frank Li
Date: Thu Aug 03 2023 - 11:04:41 EST


Add a API for dwc suspend/resume.
In layerscape platform call this api.

Change log
- Change from v7 to v8
Add new patch to add common PCIE_PME_TO_L2_TIMEOUT_US define.
timeout value using PCIE_PME_TO_L2_TIMEOUT_US.

- Chnage from v6 to v7
Remove local varible struct dw_pcie *pci = pcie->pci
Change according to Manivannan's feedback
remove unused lut_off and lut_base
fixed 100 to 1000(for 1ms)
using dev_err for timeout
refine commit message
fix sleep value 100 (should be 1000 for 1ms).
use dev_err when timeout

- Change from v5 to v6
change to NOIRQ_SYSTEM_SLEEP_PM_OPS to remove #ifdef PM_CONFIG
refine commit message
change according to Manivannan's comments.
remove reduncate step dw_pcie_set_dstate()
return 0 when .pme_turn_off is zero
call host_deinit() in suspend
check .host_deinit and .host_init point before call.

- Change from v4 to v5
Closes: https://lore.kernel.org/oe-kbuild-all/202307211904.zExw4Q8H-lkp@xxxxxxxxx/

- Change from v3 to v4
change according to Manivannan's comments.

- change at v2 to v3
Basic rewrite whole patch according rob herry suggestion.
put common function into dwc, so more soc can share the same logic.

Frank Li (2):
PCI: Add macro PCIE_PME_TO_L2_TIMEOUT_US
PCI: dwc: Implement general suspend/resume functionality for L2/L3
transitions

Hou Zhiqiang (1):
PCI: layerscape: Add power management support for ls1028a

drivers/pci/controller/dwc/pci-layerscape.c | 129 ++++++++++++++++--
.../pci/controller/dwc/pcie-designware-host.c | 75 ++++++++++
drivers/pci/controller/dwc/pcie-designware.h | 28 ++++
drivers/pci/pci.h | 6 +
4 files changed, 229 insertions(+), 9 deletions(-)

--
2.34.1