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*/ 73