blob: 7c4b8e27268c7455c9f13234d0d2790dfb46dfc4 [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/* 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*/