diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2011-09-27 09:57:16 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2011-10-14 12:05:35 -0400 |
commit | 086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6 (patch) | |
tree | 29e9445f029b73bac174900cb68d5e1fd2748cef /include/linux/pci-ats.h | |
parent | c320b976d7837c561ce4aa49dfe0a64f0e527ce4 (diff) |
PCI: Add support for PASID capability
Devices supporting Process Address Space Identifiers
(PASIDs) can use an IOMMU to access multiple IO address
spaces at the same time. A PCIe device indicates support for
this feature by implementing the PASID capability. This
patch adds support for the capability to the Linux kernel.
Reviewed-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'include/linux/pci-ats.h')
-rw-r--r-- | include/linux/pci-ats.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/linux/pci-ats.h b/include/linux/pci-ats.h index 071395251abf..e3d0b3890249 100644 --- a/include/linux/pci-ats.h +++ b/include/linux/pci-ats.h | |||
@@ -93,4 +93,35 @@ static inline int pci_pri_status(struct pci_dev *pdev) | |||
93 | } | 93 | } |
94 | #endif /* CONFIG_PCI_PRI */ | 94 | #endif /* CONFIG_PCI_PRI */ |
95 | 95 | ||
96 | #ifdef CONFIG_PCI_PASID | ||
97 | |||
98 | extern int pci_enable_pasid(struct pci_dev *pdev, int features); | ||
99 | extern void pci_disable_pasid(struct pci_dev *pdev); | ||
100 | extern int pci_pasid_features(struct pci_dev *pdev); | ||
101 | extern int pci_max_pasids(struct pci_dev *pdev); | ||
102 | |||
103 | #else /* CONFIG_PCI_PASID */ | ||
104 | |||
105 | static inline int pci_enable_pasid(struct pci_dev *pdev, int features) | ||
106 | { | ||
107 | return -EINVAL; | ||
108 | } | ||
109 | |||
110 | static inline void pci_disable_pasid(struct pci_dev *pdev) | ||
111 | { | ||
112 | } | ||
113 | |||
114 | static inline int pci_pasid_features(struct pci_dev *pdev) | ||
115 | { | ||
116 | return -EINVAL; | ||
117 | } | ||
118 | |||
119 | static inline int pci_max_pasids(struct pci_dev *pdev) | ||
120 | { | ||
121 | return -EINVAL; | ||
122 | } | ||
123 | |||
124 | #endif /* CONFIG_PCI_PASID */ | ||
125 | |||
126 | |||
96 | #endif /* LINUX_PCI_ATS_H*/ | 127 | #endif /* LINUX_PCI_ATS_H*/ |