]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
PCI: Add pcie_ptm_enabled()
authorVinicius Costa Gomes <vinicius.gomes@intel.com>
Tue, 27 Jul 2021 03:36:55 +0000 (20:36 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 24 Aug 2021 18:36:13 +0000 (11:36 -0700)
Add a predicate that returns if PCIe PTM (Precision Time Measurement)
is enabled.

It will only return true if it's enabled in all the ports in the path
from the device to the root.

Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/pci/pcie/ptm.c
include/linux/pci.h

index 95d4eef2c9e86fb9182e136a261ee0e1809619cf..8a4ad974c5aca704e386e46410cea7c99a201f53 100644 (file)
@@ -204,3 +204,12 @@ int pci_enable_ptm(struct pci_dev *dev, u8 *granularity)
        return 0;
 }
 EXPORT_SYMBOL(pci_enable_ptm);
+
+bool pcie_ptm_enabled(struct pci_dev *dev)
+{
+       if (!dev)
+               return false;
+
+       return dev->ptm_enabled;
+}
+EXPORT_SYMBOL(pcie_ptm_enabled);
index 21a9d244e4e4fd24652801026520d349d2d3a67f..947430637cac3b7e1abd54edd384e0c1ac62b9e3 100644 (file)
@@ -1622,9 +1622,12 @@ bool pci_ats_disabled(void);
 
 #ifdef CONFIG_PCIE_PTM
 int pci_enable_ptm(struct pci_dev *dev, u8 *granularity);
+bool pcie_ptm_enabled(struct pci_dev *dev);
 #else
 static inline int pci_enable_ptm(struct pci_dev *dev, u8 *granularity)
 { return -EINVAL; }
+static inline bool pcie_ptm_enabled(struct pci_dev *dev)
+{ return false; }
 #endif
 
 void pci_cfg_access_lock(struct pci_dev *dev);