On Mon, Sep 12, 2022 at 01:15:59PM -0700, Rajvi Jingar wrote: > On 9/9/22 13:24, Bjorn Helgaas wrote: > > From: Bjorn Helgaas<bhelgaas@xxxxxxxxxx> > > > > We currently disable PTM for Root Ports during suspend. Leaving PTM > > enabled for downstream devices causes UR errors if they send PTM Requests > > to upstream devices that have PTM disabled. > > > > 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 and > > doing it early in the suspend paths. > > > > - Explicitly re-enable PTM during resume. > > > > Changes between v3 and v4: > > - Use u16 for ptm_cap > > - Add kernel-doc for pci_enable_ptm() and pci_disable_ptm() (exported > > functions) > > - Drop "Preserve PTM Root Select" (unnecessary since enabling PTM sets > > Root Select when needed) > > - Squash these three patches into one because they make more sense that > > way: > > PCI/PTM: Add suspend/resume > > PCI/PTM: Add pci_enable_ptm() wrapper > > PCI/PTM: Add pci_disable_ptm() wrapper > > - Add "PCI/PTM: Preserve RsvdP bits in PTM Control register" > > - Add "PCI/PTM: Consolidate PTM interface declarations" > > > > Bjorn Helgaas (9): > > PCI/PTM: Cache PTM Capability offset > > PCI/PTM: Add pci_upstream_ptm() helper > > PCI/PTM: Separate configuration and enable > > PCI/PTM: Add pci_suspend_ptm() and pci_resume_ptm() > > PCI/PTM: Move pci_ptm_info() body into its only caller > > PCI/PTM: Preserve RsvdP bits in PTM Control register > > PCI/PTM: Reorder functions in logical order > > PCI/PTM: Consolidate PTM interface declarations > > PCI/PM: Always disable PTM for all devices during suspend > > Looks good. It fixes the issue on Dell Precision 5530 with Coffee Lake > CPU platforms to get improved residency in low power idle states. > > Tested-by:rajvi.jingar@xxxxxxxxxxxxxxx Thanks a lot for testing this! It's best if you can send plain-text mail to the lists. This was a multi-part message, which the vger mailing lists reject: http://vger.kernel.org/majordomo-info.html Bjorn