linux-stable/drivers/pci
Manivannan Sadhasivam ad9b9b6e36 PCI: qcom: Add support for system suspend and resume
During the system suspend, vote for minimal interconnect bandwidth (1KiB)
to keep the interconnect path active for config access and also turn OFF
the resources like clock and PHY if there are no active devices connected
to the controller. For the controllers with active devices, the resources
are kept ON as removing the resources will trigger access violation during
the late end of suspend cycle as kernel tries to access the config space of
PCIe devices to mask the MSIs.

Also, it is not desirable to put the link into L2/L3 state as that
implies VDD supply will be removed and the devices may go into powerdown
state. This will affect the lifetime of storage devices like NVMe.

And finally, during resume, turn ON the resources if the controller was
truly suspended (resources OFF) and update the interconnect bandwidth
based on PCIe Gen speed.

Suggested-by: Krishna chaitanya chundru <quic_krichai@quicinc.com>
Link: https://lore.kernel.org/r/20230403154922.20704-2-manivannan.sadhasivam@linaro.org
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Acked-by: Dhruva Gole <d-gole@ti.com>
2023-04-12 08:48:53 +02:00
..
controller PCI: qcom: Add support for system suspend and resume 2023-04-12 08:48:53 +02:00
endpoint Merge branch 'pci/misc' 2023-02-22 13:47:32 -06:00
hotplug Merge branch 'pci/kbuild' 2023-02-22 13:47:25 -06:00
msi PCI/MSI: Clarify usage of pci_msix_free_irq() 2023-02-21 08:25:14 +01:00
pcie pci-v6.3-changes 2023-02-24 16:51:40 -08:00
switch
access.c
ats.c
bus.c
doe.c
ecam.c
host-bridge.c
iov.c
irq.c
Kconfig
Makefile
mmap.c
of.c
p2pdma.c
pci-acpi.c
pci-bridge-emul.c
pci-bridge-emul.h
pci-driver.c pci-v6.3-changes 2023-02-24 16:51:40 -08:00
pci-label.c
pci-mid.c
pci-pf-stub.c
pci-stub.c
pci-sysfs.c
pci.c pci-v6.3-changes 2023-02-24 16:51:40 -08:00
pci.h pci-v6.3-changes 2023-02-24 16:51:40 -08:00
probe.c cxl for v6.3 2023-02-25 09:19:23 -08:00
proc.c
quirks.c virtio,vhost,vdpa: features, fixes 2023-02-25 11:48:02 -08:00
remove.c
rom.c
search.c
setup-bus.c
setup-irq.c
setup-res.c
slot.c
syscall.c
vc.c
vgaarb.c
vpd.c
xen-pcifront.c