]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - include/linux/pci-ats.h
mm/hotplug: invalid PFNs from pfn_to_online_page()
[mirror_ubuntu-bionic-kernel.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*/