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