Blame view
include/linux/pci-ats.h
2.59 KB
5cdede240 PCI: Move ATS dec... |
1 2 |
#ifndef LINUX_PCI_ATS_H #define LINUX_PCI_ATS_H |
db3c33c6d PCI: Move ATS imp... |
3 |
#include <linux/pci.h> |
5cdede240 PCI: Move ATS dec... |
4 5 6 7 8 9 10 11 |
/* Address Translation Service */ struct pci_ats { int pos; /* capability position */ int stu; /* Smallest Translation Unit */ int qdep; /* Invalidate Queue Depth */ int ref_cnt; /* Physical Function reference count */ unsigned int is_enabled:1; /* Enable bit is set */ }; |
466b3ddfb PCI: Fix compile ... |
12 |
#ifdef CONFIG_PCI_ATS |
5cdede240 PCI: Move ATS dec... |
13 14 15 16 |
extern int pci_enable_ats(struct pci_dev *dev, int ps); extern void pci_disable_ats(struct pci_dev *dev); extern int pci_ats_queue_depth(struct pci_dev *dev); |
c320b976d PCI: Add implemen... |
17 |
|
5cdede240 PCI: Move ATS dec... |
18 19 20 21 22 23 24 25 26 27 |
/** * pci_ats_enabled - query the ATS status * @dev: the PCI device * * Returns 1 if ATS capability is enabled, or 0 if not. */ static inline int pci_ats_enabled(struct pci_dev *dev) { return dev->ats && dev->ats->is_enabled; } |
466b3ddfb PCI: Fix compile ... |
28 |
#else /* CONFIG_PCI_ATS */ |
5cdede240 PCI: Move ATS dec... |
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
static inline int pci_enable_ats(struct pci_dev *dev, int ps) { return -ENODEV; } static inline void pci_disable_ats(struct pci_dev *dev) { } static inline int pci_ats_queue_depth(struct pci_dev *dev) { return -ENODEV; } static inline int pci_ats_enabled(struct pci_dev *dev) { return 0; } |
466b3ddfb PCI: Fix compile ... |
48 |
#endif /* CONFIG_PCI_ATS */ |
5cdede240 PCI: Move ATS dec... |
49 |
|
c320b976d PCI: Add implemen... |
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
#ifdef CONFIG_PCI_PRI extern int pci_enable_pri(struct pci_dev *pdev, u32 reqs); extern void pci_disable_pri(struct pci_dev *pdev); extern bool pci_pri_enabled(struct pci_dev *pdev); extern int pci_reset_pri(struct pci_dev *pdev); extern bool pci_pri_stopped(struct pci_dev *pdev); extern int pci_pri_status(struct pci_dev *pdev); #else /* CONFIG_PCI_PRI */ static inline int pci_enable_pri(struct pci_dev *pdev, u32 reqs) { return -ENODEV; } static inline void pci_disable_pri(struct pci_dev *pdev) { } static inline bool pci_pri_enabled(struct pci_dev *pdev) { return false; } static inline int pci_reset_pri(struct pci_dev *pdev) { return -ENODEV; } static inline bool pci_pri_stopped(struct pci_dev *pdev) { return true; } static inline int pci_pri_status(struct pci_dev *pdev) { return -ENODEV; } #endif /* CONFIG_PCI_PRI */ |
086ac11f6 PCI: Add support ... |
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
#ifdef CONFIG_PCI_PASID extern int pci_enable_pasid(struct pci_dev *pdev, int features); extern void pci_disable_pasid(struct pci_dev *pdev); extern int pci_pasid_features(struct pci_dev *pdev); extern int pci_max_pasids(struct pci_dev *pdev); #else /* CONFIG_PCI_PASID */ static inline int pci_enable_pasid(struct pci_dev *pdev, int features) { return -EINVAL; } static inline void pci_disable_pasid(struct pci_dev *pdev) { } static inline int pci_pasid_features(struct pci_dev *pdev) { return -EINVAL; } static inline int pci_max_pasids(struct pci_dev *pdev) { return -EINVAL; } #endif /* CONFIG_PCI_PASID */ |
5cdede240 PCI: Move ATS dec... |
119 |
#endif /* LINUX_PCI_ATS_H*/ |