[PATCH 0/4] PCI/PM: Always disable PTM for all devices during

Bjorn Helgaas
2022-09-02T15:26:17Z

From: Bjorn Helgaas <bhelgaas@google.com>

We currently disable PTM for Root Ports during suspend. Leaving PTM
enabled for downstream devices causes UR errors if they send PTM Requests.
The intent of this series is to:

- Unconditionally disable PTM during suspend (even if the driver saves
its own state) by moving the disable from pci_prepare_to_sleep() to
pci_pm_suspend().

- Disable PTM for all devices by removing the Root Port condition.

- Manually set PTM Enable when restoring PTM state because suspend saves
the PTM state *after* disabling PTM.

This series is intended to replace Rajvi's second patch, so we would end
up with this:

Rajvi PCI/PM: Simplify pci_pm_suspend_noirq()
Bjorn PCI/PTM: Preserve PTM Root Select
Bjorn PCI/PTM: Enable PTM when restoring state
Bjorn PCI/PM: Always disable PTM for all devices during suspend
Bjorn PCI/PTM: Cache PTM Capability offset

Please comment!

Bjorn Helgaas (4):
PCI/PTM: Preserve PTM Root Select
PCI/PTM: Enable PTM when restoring state
PCI/PM: Always disable PTM for all devices during suspend
PCI/PTM: Cache PTM Capability offset

drivers/pci/pci-driver.c | 8 ++++++
drivers/pci/pci.c | 20 --------------
drivers/pci/pcie/ptm.c | 56 +++++++++++++++++++---------------------
include/linux/pci.h | 1 +
4 files changed, 35 insertions(+), 50 deletions(-)

--
2.25.1