0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #ifndef KFD_SMI_EVENTS_H_INCLUDED
0025 #define KFD_SMI_EVENTS_H_INCLUDED
0026
0027 int kfd_smi_event_open(struct kfd_dev *dev, uint32_t *fd);
0028 void kfd_smi_event_update_vmfault(struct kfd_dev *dev, uint16_t pasid);
0029 void kfd_smi_event_update_thermal_throttling(struct kfd_dev *dev,
0030 uint64_t throttle_bitmask);
0031 void kfd_smi_event_update_gpu_reset(struct kfd_dev *dev, bool post_reset);
0032 void kfd_smi_event_page_fault_start(struct kfd_dev *dev, pid_t pid,
0033 unsigned long address, bool write_fault,
0034 ktime_t ts);
0035 void kfd_smi_event_page_fault_end(struct kfd_dev *dev, pid_t pid,
0036 unsigned long address, bool migration);
0037 void kfd_smi_event_migration_start(struct kfd_dev *dev, pid_t pid,
0038 unsigned long start, unsigned long end,
0039 uint32_t from, uint32_t to,
0040 uint32_t prefetch_loc, uint32_t preferred_loc,
0041 uint32_t trigger);
0042 void kfd_smi_event_migration_end(struct kfd_dev *dev, pid_t pid,
0043 unsigned long start, unsigned long end,
0044 uint32_t from, uint32_t to, uint32_t trigger);
0045 void kfd_smi_event_queue_eviction(struct kfd_dev *dev, pid_t pid,
0046 uint32_t trigger);
0047 void kfd_smi_event_queue_restore(struct kfd_dev *dev, pid_t pid);
0048 void kfd_smi_event_queue_restore_rescheduled(struct mm_struct *mm);
0049 void kfd_smi_event_unmap_from_gpu(struct kfd_dev *dev, pid_t pid,
0050 unsigned long address, unsigned long last,
0051 uint32_t trigger);
0052 #endif