This source file includes following definitions.
- kfd_iommu_check_device
- kfd_iommu_device_init
- kfd_iommu_bind_process_to_device
- kfd_iommu_unbind_process
- kfd_iommu_suspend
- kfd_iommu_resume
- kfd_iommu_add_perf_counters
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #ifndef __KFD_IOMMU_H__
24 #define __KFD_IOMMU_H__
25
26 #if defined(CONFIG_AMD_IOMMU_V2_MODULE) || defined(CONFIG_AMD_IOMMU_V2)
27
28 #define KFD_SUPPORT_IOMMU_V2
29
30 int kfd_iommu_check_device(struct kfd_dev *kfd);
31 int kfd_iommu_device_init(struct kfd_dev *kfd);
32
33 int kfd_iommu_bind_process_to_device(struct kfd_process_device *pdd);
34 void kfd_iommu_unbind_process(struct kfd_process *p);
35
36 void kfd_iommu_suspend(struct kfd_dev *kfd);
37 int kfd_iommu_resume(struct kfd_dev *kfd);
38
39 int kfd_iommu_add_perf_counters(struct kfd_topology_device *kdev);
40
41 #else
42
43 static inline int kfd_iommu_check_device(struct kfd_dev *kfd)
44 {
45 return -ENODEV;
46 }
47 static inline int kfd_iommu_device_init(struct kfd_dev *kfd)
48 {
49 return 0;
50 }
51
52 static inline int kfd_iommu_bind_process_to_device(
53 struct kfd_process_device *pdd)
54 {
55 return 0;
56 }
57 static inline void kfd_iommu_unbind_process(struct kfd_process *p)
58 {
59
60 }
61
62 static inline void kfd_iommu_suspend(struct kfd_dev *kfd)
63 {
64
65 }
66 static inline int kfd_iommu_resume(struct kfd_dev *kfd)
67 {
68 return 0;
69 }
70
71 static inline int kfd_iommu_add_perf_counters(struct kfd_topology_device *kdev)
72 {
73 return 0;
74 }
75
76 #endif
77
78 #endif