Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
5cdede24 JR |
2 | #ifndef LINUX_PCI_ATS_H |
3 | #define LINUX_PCI_ATS_H | |
4 | ||
db3c33c6 JR |
5 | #include <linux/pci.h> |
6 | ||
c320b976 JR |
7 | #ifdef CONFIG_PCI_PRI |
8 | ||
f39d5b72 BH |
9 | int pci_enable_pri(struct pci_dev *pdev, u32 reqs); |
10 | void pci_disable_pri(struct pci_dev *pdev); | |
4ebeb1ec | 11 | void pci_restore_pri_state(struct pci_dev *pdev); |
f39d5b72 | 12 | int pci_reset_pri(struct pci_dev *pdev); |
c320b976 JR |
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 | ||
4ebeb1ec CT |
25 | static inline void pci_restore_pri_state(struct pci_dev *pdev) |
26 | { | |
27 | } | |
28 | ||
c320b976 JR |
29 | static inline int pci_reset_pri(struct pci_dev *pdev) |
30 | { | |
31 | return -ENODEV; | |
32 | } | |
33 | ||
c320b976 JR |
34 | #endif /* CONFIG_PCI_PRI */ |
35 | ||
086ac11f JR |
36 | #ifdef CONFIG_PCI_PASID |
37 | ||
f39d5b72 BH |
38 | int pci_enable_pasid(struct pci_dev *pdev, int features); |
39 | void pci_disable_pasid(struct pci_dev *pdev); | |
4ebeb1ec | 40 | void pci_restore_pasid_state(struct pci_dev *pdev); |
f39d5b72 BH |
41 | int pci_pasid_features(struct pci_dev *pdev); |
42 | int pci_max_pasids(struct pci_dev *pdev); | |
e5567f5f | 43 | int pci_prg_resp_pasid_required(struct pci_dev *pdev); |
086ac11f JR |
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 | ||
4ebeb1ec CT |
56 | static inline void pci_restore_pasid_state(struct pci_dev *pdev) |
57 | { | |
58 | } | |
59 | ||
086ac11f JR |
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 | ||
fff42928 | 70 | static inline int pci_prg_resp_pasid_required(struct pci_dev *pdev) |
e5567f5f KS |
71 | { |
72 | return 0; | |
73 | } | |
086ac11f JR |
74 | #endif /* CONFIG_PCI_PASID */ |
75 | ||
76 | ||
5cdede24 | 77 | #endif /* LINUX_PCI_ATS_H*/ |