]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - include/linux/pci-ats.h
iommu/amd: Remove PD_DMA_OPS_MASK
[mirror_ubuntu-jammy-kernel.git] / include / linux / pci-ats.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
5cdede24
JR
2#ifndef LINUX_PCI_ATS_H
3#define LINUX_PCI_ATS_H
4
db3c33c6
JR
5#include <linux/pci.h>
6
b24d5c20
KW
7#ifdef CONFIG_PCI_ATS
8/* Address Translation Service */
9int pci_enable_ats(struct pci_dev *dev, int ps);
10void pci_disable_ats(struct pci_dev *dev);
11int pci_ats_queue_depth(struct pci_dev *dev);
12int pci_ats_page_aligned(struct pci_dev *dev);
13#else /* CONFIG_PCI_ATS */
14static inline int pci_enable_ats(struct pci_dev *d, int ps)
15{ return -ENODEV; }
16static inline void pci_disable_ats(struct pci_dev *d) { }
17static inline int pci_ats_queue_depth(struct pci_dev *d)
18{ return -ENODEV; }
19static inline int pci_ats_page_aligned(struct pci_dev *dev)
20{ return 0; }
21#endif /* CONFIG_PCI_ATS */
c320b976 22
b24d5c20 23#ifdef CONFIG_PCI_PRI
f39d5b72
BH
24int pci_enable_pri(struct pci_dev *pdev, u32 reqs);
25void pci_disable_pri(struct pci_dev *pdev);
f39d5b72 26int pci_reset_pri(struct pci_dev *pdev);
8cbb8a93 27int pci_prg_resp_pasid_required(struct pci_dev *pdev);
c320b976
JR
28#endif /* CONFIG_PCI_PRI */
29
086ac11f 30#ifdef CONFIG_PCI_PASID
f39d5b72
BH
31int pci_enable_pasid(struct pci_dev *pdev, int features);
32void pci_disable_pasid(struct pci_dev *pdev);
33int pci_pasid_features(struct pci_dev *pdev);
34int pci_max_pasids(struct pci_dev *pdev);
b24d5c20 35#else /* CONFIG_PCI_PASID */
5a4549fd
JPB
36static inline int pci_enable_pasid(struct pci_dev *pdev, int features)
37{ return -EINVAL; }
38static inline void pci_disable_pasid(struct pci_dev *pdev) { }
086ac11f 39static inline int pci_pasid_features(struct pci_dev *pdev)
b24d5c20 40{ return -EINVAL; }
086ac11f 41static inline int pci_max_pasids(struct pci_dev *pdev)
b24d5c20 42{ return -EINVAL; }
086ac11f
JR
43#endif /* CONFIG_PCI_PASID */
44
b24d5c20 45#endif /* LINUX_PCI_ATS_H */