File Index
Files and directories
Sign in
FILE

pci-ats.h

File preview with syntax highlighting.

linux-6.19.14/include/linux/pci-ats.h C
 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_ATS
 8/* Address Translation Service */
 9bool pci_ats_supported(struct pci_dev *dev);
10int pci_enable_ats(struct pci_dev *dev, int ps);
11int pci_prepare_ats(struct pci_dev *dev, int ps);
12void pci_disable_ats(struct pci_dev *dev);
13int pci_ats_queue_depth(struct pci_dev *dev);
14int pci_ats_page_aligned(struct pci_dev *dev);
15#else /* CONFIG_PCI_ATS */
16static inline bool pci_ats_supported(struct pci_dev *d)
17{ return false; }
18static inline int pci_enable_ats(struct pci_dev *d, int ps)
19{ return -ENODEV; }
20static inline int pci_prepare_ats(struct pci_dev *dev, int ps)
21{ return -ENODEV; }
22static inline void pci_disable_ats(struct pci_dev *d) { }
23static inline int pci_ats_queue_depth(struct pci_dev *d)
24{ return -ENODEV; }
25static inline int pci_ats_page_aligned(struct pci_dev *dev)
26{ return 0; }
27#endif /* CONFIG_PCI_ATS */
28
29#ifdef CONFIG_PCI_PRI
30int pci_enable_pri(struct pci_dev *pdev, u32 reqs);
31void pci_disable_pri(struct pci_dev *pdev);
32int pci_reset_pri(struct pci_dev *pdev);
33int pci_prg_resp_pasid_required(struct pci_dev *pdev);
34bool pci_pri_supported(struct pci_dev *pdev);
35#else
36static inline bool pci_pri_supported(struct pci_dev *pdev)
37{ return false; }
38#endif /* CONFIG_PCI_PRI */
39
40#ifdef CONFIG_PCI_PASID
41int pci_enable_pasid(struct pci_dev *pdev, int features);
42void pci_disable_pasid(struct pci_dev *pdev);
43int pci_pasid_features(struct pci_dev *pdev);
44int pci_max_pasids(struct pci_dev *pdev);
45int pci_pasid_status(struct pci_dev *pdev);
46#else /* CONFIG_PCI_PASID */
47static inline int pci_enable_pasid(struct pci_dev *pdev, int features)
48{ return -EINVAL; }
49static inline void pci_disable_pasid(struct pci_dev *pdev) { }
50static inline int pci_pasid_features(struct pci_dev *pdev)
51{ return -EINVAL; }
52static inline int pci_max_pasids(struct pci_dev *pdev)
53{ return -EINVAL; }
54static inline int pci_pasid_status(struct pci_dev *pdev)
55{ return -EINVAL; }
56#endif /* CONFIG_PCI_PASID */
57
58#endif /* LINUX_PCI_ATS_H */
~/ Read-only file preview.