Merge tag 'gpio-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[sfrench/cifs-2.6.git] / include / linux / pci-ats.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef LINUX_PCI_ATS_H
3 #define LINUX_PCI_ATS_H
4
5 #include <linux/pci.h>
6
7 #ifdef CONFIG_PCI_PRI
8
9 int pci_enable_pri(struct pci_dev *pdev, u32 reqs);
10 void pci_disable_pri(struct pci_dev *pdev);
11 void pci_restore_pri_state(struct pci_dev *pdev);
12 int pci_reset_pri(struct pci_dev *pdev);
13
14 #else /* CONFIG_PCI_PRI */
15
16 static inline int pci_enable_pri(struct pci_dev *pdev, u32 reqs)
17 {
18         return -ENODEV;
19 }
20
21 static inline void pci_disable_pri(struct pci_dev *pdev)
22 {
23 }
24
25 static inline void pci_restore_pri_state(struct pci_dev *pdev)
26 {
27 }
28
29 static inline int pci_reset_pri(struct pci_dev *pdev)
30 {
31         return -ENODEV;
32 }
33
34 #endif /* CONFIG_PCI_PRI */
35
36 #ifdef CONFIG_PCI_PASID
37
38 int pci_enable_pasid(struct pci_dev *pdev, int features);
39 void pci_disable_pasid(struct pci_dev *pdev);
40 void pci_restore_pasid_state(struct pci_dev *pdev);
41 int pci_pasid_features(struct pci_dev *pdev);
42 int pci_max_pasids(struct pci_dev *pdev);
43
44 #else  /* CONFIG_PCI_PASID */
45
46 static inline int pci_enable_pasid(struct pci_dev *pdev, int features)
47 {
48         return -EINVAL;
49 }
50
51 static inline void pci_disable_pasid(struct pci_dev *pdev)
52 {
53 }
54
55 static inline void pci_restore_pasid_state(struct pci_dev *pdev)
56 {
57 }
58
59 static inline int pci_pasid_features(struct pci_dev *pdev)
60 {
61         return -EINVAL;
62 }
63
64 static inline int pci_max_pasids(struct pci_dev *pdev)
65 {
66         return -EINVAL;
67 }
68
69 #endif /* CONFIG_PCI_PASID */
70
71
72 #endif /* LINUX_PCI_ATS_H*/