On 9/2/22 7:58 AM, Bjorn Helgaas wrote: > From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > > When disabling PTM, there's no need to clear the Root Select bit. We > disable PTM during suspend, and we want to re-enable it during resume. > Clearing Root Select here makes re-enabling more complicated. Currently, it looks like we disable PCI_PTM_CTRL_ROOT in pci_disable_ptm(), but not enable it in pci_enable_ptm(). Do you know this did not trigger an issue? Also, you mentioned that it is complicated to enable it, can you add some details? > > Per PCIe r6.0, sec 7.9.15.3, "When set, if the PTM Enable bit is also Set, > this Time Source is the PTM Root," so if PTM Enable is cleared, the value > of Root Select should be irrelevant. > > Preserve Root Select to simplify re-enabling PTM. > > Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > Cc: David E. Box <david.e.box@xxxxxxxxxxxxxxx> > --- > drivers/pci/pcie/ptm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/pcie/ptm.c b/drivers/pci/pcie/ptm.c > index 368a254e3124..b6a417247ce3 100644 > --- a/drivers/pci/pcie/ptm.c > +++ b/drivers/pci/pcie/ptm.c > @@ -42,7 +42,7 @@ void pci_disable_ptm(struct pci_dev *dev) > return; > > pci_read_config_word(dev, ptm + PCI_PTM_CTRL, &ctrl); > - ctrl &= ~(PCI_PTM_CTRL_ENABLE | PCI_PTM_CTRL_ROOT); > + ctrl &= ~PCI_PTM_CTRL_ENABLE; > pci_write_config_word(dev, ptm + PCI_PTM_CTRL, ctrl); > } > -- Sathyanarayanan Kuppuswamy Linux Kernel Developer