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 9 int pci_enable_pri(struct pci_dev *pdev, u32 reqs); 10 void pci_disable_pri(struct pci_dev *pdev); 11 void pci_restore_pri_state(struct pci_dev *pdev); 12 int pci_reset_pri(struct pci_dev *pdev); 13 14 #else /* CONFIG_PCI_PRI */ 15 pci_enable_pri(struct pci_dev * pdev,u32 reqs)16static inline int pci_enable_pri(struct pci_dev *pdev, u32 reqs) 17 { 18 return -ENODEV; 19 } 20 pci_disable_pri(struct pci_dev * pdev)21static inline void pci_disable_pri(struct pci_dev *pdev) 22 { 23 } 24 pci_restore_pri_state(struct pci_dev * pdev)25static inline void pci_restore_pri_state(struct pci_dev *pdev) 26 { 27 } 28 pci_reset_pri(struct pci_dev * pdev)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 38 int pci_enable_pasid(struct pci_dev *pdev, int features); 39 void pci_disable_pasid(struct pci_dev *pdev); 40 void pci_restore_pasid_state(struct pci_dev *pdev); 41 int pci_pasid_features(struct pci_dev *pdev); 42 int pci_max_pasids(struct pci_dev *pdev); 43 44 #else /* CONFIG_PCI_PASID */ 45 pci_enable_pasid(struct pci_dev * pdev,int features)46static inline int pci_enable_pasid(struct pci_dev *pdev, int features) 47 { 48 return -EINVAL; 49 } 50 pci_disable_pasid(struct pci_dev * pdev)51static inline void pci_disable_pasid(struct pci_dev *pdev) 52 { 53 } 54 pci_restore_pasid_state(struct pci_dev * pdev)55static inline void pci_restore_pasid_state(struct pci_dev *pdev) 56 { 57 } 58 pci_pasid_features(struct pci_dev * pdev)59static inline int pci_pasid_features(struct pci_dev *pdev) 60 { 61 return -EINVAL; 62 } 63 pci_max_pasids(struct pci_dev * pdev)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