Commit b24d5c20 authored by Krzysztof Wilczynski's avatar Krzysztof Wilczynski Committed by Bjorn Helgaas

PCI/ATS: Consolidate ATS declarations in linux/pci-ats.h

Move ATS function prototypes from include/linux/pci.h to
include/linux/pci-ats.h as the ATS, PRI, and PASID interfaces are related
and are used only by the IOMMU drivers.  This effectively reverts
ff9bee89 ("PCI: Move ATS declarations to linux/pci.h so they're all
together").

Also, remove surplus forward declaration of struct pci_ats from
include/linux/pci.h, as it is no longer needed, since struct pci_ats was
embedded directly into struct pci_dev by d544d75a ("PCI: Embed ATS info
directly into struct pci_dev").

No functional changes intended.

Link: https://lore.kernel.org/r/20190914213032.22314-1-kw@linux.comSigned-off-by: default avatarKrzysztof Wilczynski <kw@linux.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent e5adf79a
...@@ -4,73 +4,54 @@ ...@@ -4,73 +4,54 @@
#include <linux/pci.h> #include <linux/pci.h>
#ifdef CONFIG_PCI_PRI #ifdef CONFIG_PCI_ATS
/* Address Translation Service */
int pci_enable_ats(struct pci_dev *dev, int ps);
void pci_disable_ats(struct pci_dev *dev);
int pci_ats_queue_depth(struct pci_dev *dev);
int pci_ats_page_aligned(struct pci_dev *dev);
#else /* CONFIG_PCI_ATS */
static inline int pci_enable_ats(struct pci_dev *d, int ps)
{ return -ENODEV; }
static inline void pci_disable_ats(struct pci_dev *d) { }
static inline int pci_ats_queue_depth(struct pci_dev *d)
{ return -ENODEV; }
static inline int pci_ats_page_aligned(struct pci_dev *dev)
{ return 0; }
#endif /* CONFIG_PCI_ATS */
#ifdef CONFIG_PCI_PRI
int pci_enable_pri(struct pci_dev *pdev, u32 reqs); int pci_enable_pri(struct pci_dev *pdev, u32 reqs);
void pci_disable_pri(struct pci_dev *pdev); void pci_disable_pri(struct pci_dev *pdev);
void pci_restore_pri_state(struct pci_dev *pdev); void pci_restore_pri_state(struct pci_dev *pdev);
int pci_reset_pri(struct pci_dev *pdev); int pci_reset_pri(struct pci_dev *pdev);
int pci_prg_resp_pasid_required(struct pci_dev *pdev); int pci_prg_resp_pasid_required(struct pci_dev *pdev);
#else /* CONFIG_PCI_PRI */ #else /* CONFIG_PCI_PRI */
static inline int pci_enable_pri(struct pci_dev *pdev, u32 reqs) static inline int pci_enable_pri(struct pci_dev *pdev, u32 reqs)
{ { return -ENODEV; }
return -ENODEV; static inline void pci_disable_pri(struct pci_dev *pdev) { }
} static inline void pci_restore_pri_state(struct pci_dev *pdev) { }
static inline void pci_disable_pri(struct pci_dev *pdev)
{
}
static inline void pci_restore_pri_state(struct pci_dev *pdev)
{
}
static inline int pci_reset_pri(struct pci_dev *pdev) static inline int pci_reset_pri(struct pci_dev *pdev)
{ { return -ENODEV; }
return -ENODEV;
}
static inline int pci_prg_resp_pasid_required(struct pci_dev *pdev) static inline int pci_prg_resp_pasid_required(struct pci_dev *pdev)
{ { return 0; }
return 0;
}
#endif /* CONFIG_PCI_PRI */ #endif /* CONFIG_PCI_PRI */
#ifdef CONFIG_PCI_PASID #ifdef CONFIG_PCI_PASID
int pci_enable_pasid(struct pci_dev *pdev, int features); int pci_enable_pasid(struct pci_dev *pdev, int features);
void pci_disable_pasid(struct pci_dev *pdev); void pci_disable_pasid(struct pci_dev *pdev);
void pci_restore_pasid_state(struct pci_dev *pdev); void pci_restore_pasid_state(struct pci_dev *pdev);
int pci_pasid_features(struct pci_dev *pdev); int pci_pasid_features(struct pci_dev *pdev);
int pci_max_pasids(struct pci_dev *pdev); int pci_max_pasids(struct pci_dev *pdev);
#else /* CONFIG_PCI_PASID */
#else /* CONFIG_PCI_PASID */
static inline int pci_enable_pasid(struct pci_dev *pdev, int features) static inline int pci_enable_pasid(struct pci_dev *pdev, int features)
{ { return -EINVAL; }
return -EINVAL; static inline void pci_disable_pasid(struct pci_dev *pdev) { }
} static inline void pci_restore_pasid_state(struct pci_dev *pdev) { }
static inline void pci_disable_pasid(struct pci_dev *pdev)
{
}
static inline void pci_restore_pasid_state(struct pci_dev *pdev)
{
}
static inline int pci_pasid_features(struct pci_dev *pdev) static inline int pci_pasid_features(struct pci_dev *pdev)
{ { return -EINVAL; }
return -EINVAL;
}
static inline int pci_max_pasids(struct pci_dev *pdev) static inline int pci_max_pasids(struct pci_dev *pdev)
{ { return -EINVAL; }
return -EINVAL;
}
#endif /* CONFIG_PCI_PASID */ #endif /* CONFIG_PCI_PASID */
#endif /* LINUX_PCI_ATS_H */
#endif /* LINUX_PCI_ATS_H*/
...@@ -284,7 +284,6 @@ struct irq_affinity; ...@@ -284,7 +284,6 @@ struct irq_affinity;
struct pcie_link_state; struct pcie_link_state;
struct pci_vpd; struct pci_vpd;
struct pci_sriov; struct pci_sriov;
struct pci_ats;
struct pci_p2pdma; struct pci_p2pdma;
/* The pci_dev structure describes PCI devices */ /* The pci_dev structure describes PCI devices */
...@@ -1778,19 +1777,6 @@ pci_alloc_irq_vectors(struct pci_dev *dev, unsigned int min_vecs, ...@@ -1778,19 +1777,6 @@ pci_alloc_irq_vectors(struct pci_dev *dev, unsigned int min_vecs,
NULL); NULL);
} }
#ifdef CONFIG_PCI_ATS
/* Address Translation Service */
int pci_enable_ats(struct pci_dev *dev, int ps);
void pci_disable_ats(struct pci_dev *dev);
int pci_ats_queue_depth(struct pci_dev *dev);
int pci_ats_page_aligned(struct pci_dev *dev);
#else
static inline int pci_enable_ats(struct pci_dev *d, int ps) { return -ENODEV; }
static inline void pci_disable_ats(struct pci_dev *d) { }
static inline int pci_ats_queue_depth(struct pci_dev *d) { return -ENODEV; }
static inline int pci_ats_page_aligned(struct pci_dev *dev) { return 0; }
#endif
/* Include architecture-dependent settings and functions */ /* Include architecture-dependent settings and functions */
#include <asm/pci.h> #include <asm/pci.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment