mbox series

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

Message ID 20220902145835.344302-1-helgaas@kernel.org
Headers show
Series PCI/PM: Always disable PTM for all devices during | expand

Message

Bjorn Helgaas Sept. 2, 2022, 2:58 p.m. UTC
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(-)