summaryrefslogtreecommitdiffstats
path: root/drivers/pci/pci.h
diff options
context:
space:
mode:
authorBjorn Helgaas2018-08-15 21:58:58 +0200
committerBjorn Helgaas2018-08-15 21:58:58 +0200
commitc689209be23166b340c224df8ecd5deea163da56 (patch)
tree3e7a5ec634d0db624644a79c08e983e38d3ad736 /drivers/pci/pci.h
parentMerge branch 'pci/notes' (diff)
parentPCI: Add ACS Redirect disable quirk for Intel Sunrise Point (diff)
downloadkernel-qcow2-linux-c689209be23166b340c224df8ecd5deea163da56.tar.gz
kernel-qcow2-linux-c689209be23166b340c224df8ecd5deea163da56.tar.xz
kernel-qcow2-linux-c689209be23166b340c224df8ecd5deea163da56.zip
Merge branch 'pci/peer-to-peer'
- Add "pci=disable_acs_redir=" parameter to disable ACS redirection for peer-to-peer DMA support (we don't have the peer-to-peer support yet; this is just one piece) (Logan Gunthorpe) * pci/peer-to-peer: PCI: Add ACS Redirect disable quirk for Intel Sunrise Point PCI: Add device-specific ACS Redirect disable infrastructure PCI: Convert device-specific ACS quirks from NULL termination to ARRAY_SIZE PCI: Add "pci=disable_acs_redir=" parameter for peer-to-peer support PCI: Allow specifying devices using a base bus and path of devfns PCI: Make specifying PCI devices in kernel parameters reusable PCI: Hide ACS quirk declarations inside PCI core
Diffstat (limited to 'drivers/pci/pci.h')
-rw-r--r--drivers/pci/pci.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index ccb0537d5d89..8907ceb88233 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -400,6 +400,25 @@ static inline resource_size_t pci_resource_alignment(struct pci_dev *dev,
}
void pci_enable_acs(struct pci_dev *dev);
+#ifdef CONFIG_PCI_QUIRKS
+int pci_dev_specific_acs_enabled(struct pci_dev *dev, u16 acs_flags);
+int pci_dev_specific_enable_acs(struct pci_dev *dev);
+int pci_dev_specific_disable_acs_redir(struct pci_dev *dev);
+#else
+static inline int pci_dev_specific_acs_enabled(struct pci_dev *dev,
+ u16 acs_flags)
+{
+ return -ENOTTY;
+}
+static inline int pci_dev_specific_enable_acs(struct pci_dev *dev)
+{
+ return -ENOTTY;
+}
+static inline int pci_dev_specific_disable_acs_redir(struct pci_dev *dev)
+{
+ return -ENOTTY;
+}
+#endif
/* PCI error reporting and recovery */
void pcie_do_fatal_recovery(struct pci_dev *dev, u32 service);