]>
git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - include/linux/pci-ats.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef LINUX_PCI_ATS_H
3 #define LINUX_PCI_ATS_H
8 /* Address Translation Service */
9 bool pci_ats_supported(struct pci_dev
*dev
);
10 int pci_enable_ats(struct pci_dev
*dev
, int ps
);
11 void pci_disable_ats(struct pci_dev
*dev
);
12 int pci_ats_queue_depth(struct pci_dev
*dev
);
13 int pci_ats_page_aligned(struct pci_dev
*dev
);
14 #else /* CONFIG_PCI_ATS */
15 static inline bool pci_ats_supported(struct pci_dev
*d
)
17 static inline int pci_enable_ats(struct pci_dev
*d
, int ps
)
19 static inline void pci_disable_ats(struct pci_dev
*d
) { }
20 static inline int pci_ats_queue_depth(struct pci_dev
*d
)
22 static inline int pci_ats_page_aligned(struct pci_dev
*dev
)
24 #endif /* CONFIG_PCI_ATS */
27 int pci_enable_pri(struct pci_dev
*pdev
, u32 reqs
);
28 void pci_disable_pri(struct pci_dev
*pdev
);
29 int pci_reset_pri(struct pci_dev
*pdev
);
30 int pci_prg_resp_pasid_required(struct pci_dev
*pdev
);
31 bool pci_pri_supported(struct pci_dev
*pdev
);
33 static inline bool pci_pri_supported(struct pci_dev
*pdev
)
35 #endif /* CONFIG_PCI_PRI */
37 #ifdef CONFIG_PCI_PASID
38 int pci_enable_pasid(struct pci_dev
*pdev
, int features
);
39 void pci_disable_pasid(struct pci_dev
*pdev
);
40 int pci_pasid_features(struct pci_dev
*pdev
);
41 int pci_max_pasids(struct pci_dev
*pdev
);
42 #else /* CONFIG_PCI_PASID */
43 static inline int pci_enable_pasid(struct pci_dev
*pdev
, int features
)
45 static inline void pci_disable_pasid(struct pci_dev
*pdev
) { }
46 static inline int pci_pasid_features(struct pci_dev
*pdev
)
48 static inline int pci_max_pasids(struct pci_dev
*pdev
)
50 #endif /* CONFIG_PCI_PASID */
52 #endif /* LINUX_PCI_ATS_H */