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 int pci_prg_resp_pasid_required(struct pci_dev *pdev); 44 45 #else /* CONFIG_PCI_PASID */ 46 pci_enable_pasid(struct pci_dev * pdev,int features)47static inline int pci_enable_pasid(struct pci_dev *pdev, int features) 48 { 49 return -EINVAL; 50 } 51 pci_disable_pasid(struct pci_dev * pdev)52static inline void pci_disable_pasid(struct pci_dev *pdev) 53 { 54 } 55 pci_restore_pasid_state(struct pci_dev * pdev)56static inline void pci_restore_pasid_state(struct pci_dev *pdev) 57 { 58 } 59 pci_pasid_features(struct pci_dev * pdev)60static inline int pci_pasid_features(struct pci_dev *pdev) 61 { 62 return -EINVAL; 63 } 64 pci_max_pasids(struct pci_dev * pdev)65static inline int pci_max_pasids(struct pci_dev *pdev) 66 { 67 return -EINVAL; 68 } 69 pci_prg_resp_pasid_required(struct pci_dev * pdev)70static inline int pci_prg_resp_pasid_required(struct pci_dev *pdev) 71 { 72 return 0; 73 } 74 #endif /* CONFIG_PCI_PASID */ 75 76 77 #endif /* LINUX_PCI_ATS_H*/ 78