Merge branch 'i2c/for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
[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 int pci_prg_resp_pasid_required(struct pci_dev *pdev);
44
45 #else  /* CONFIG_PCI_PASID */
46
47 static inline int pci_enable_pasid(struct pci_dev *pdev, int features)
48 {
49         return -EINVAL;
50 }
51
52 static inline void pci_disable_pasid(struct pci_dev *pdev)
53 {
54 }
55
56 static inline void pci_restore_pasid_state(struct pci_dev *pdev)
57 {
58 }
59
60 static inline int pci_pasid_features(struct pci_dev *pdev)
61 {
62         return -EINVAL;
63 }
64
65 static inline int pci_max_pasids(struct pci_dev *pdev)
66 {
67         return -EINVAL;
68 }
69
70 static inline int pci_prg_resp_pasid_required(struct pci_dev *pdev)
71 {
72         return 0;
73 }
74 #endif /* CONFIG_PCI_PASID */
75
76
77 #endif /* LINUX_PCI_ATS_H*/