Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
9int pci_enable_pri(struct pci_dev *pdev, u32 reqs);
10void pci_disable_pri(struct pci_dev *pdev);
11void pci_restore_pri_state(struct pci_dev *pdev);
12int pci_reset_pri(struct pci_dev *pdev);
13
14#else /* CONFIG_PCI_PRI */
15
16static inline int pci_enable_pri(struct pci_dev *pdev, u32 reqs)
17{
18 return -ENODEV;
19}
20
21static inline void pci_disable_pri(struct pci_dev *pdev)
22{
23}
24
25static inline void pci_restore_pri_state(struct pci_dev *pdev)
26{
27}
28
29static 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
38int pci_enable_pasid(struct pci_dev *pdev, int features);
39void pci_disable_pasid(struct pci_dev *pdev);
40void pci_restore_pasid_state(struct pci_dev *pdev);
41int pci_pasid_features(struct pci_dev *pdev);
42int pci_max_pasids(struct pci_dev *pdev);
43
44#else /* CONFIG_PCI_PASID */
45
46static inline int pci_enable_pasid(struct pci_dev *pdev, int features)
47{
48 return -EINVAL;
49}
50
51static inline void pci_disable_pasid(struct pci_dev *pdev)
52{
53}
54
55static inline void pci_restore_pasid_state(struct pci_dev *pdev)
56{
57}
58
59static inline int pci_pasid_features(struct pci_dev *pdev)
60{
61 return -EINVAL;
62}
63
64static 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*/