| H A D | kfd_device_queue_manager.c | 50 static int set_pasid_vmid_mapping(struct device_queue_manager *dqm, 53 static int execute_queues_cpsch(struct device_queue_manager *dqm, 57 static int unmap_queues_cpsch(struct device_queue_manager *dqm, 63 static int map_queues_cpsch(struct device_queue_manager *dqm); 65 static void deallocate_sdma_queue(struct device_queue_manager *dqm, 68 static inline void deallocate_hqd(struct device_queue_manager *dqm, 70 static int allocate_hqd(struct device_queue_manager *dqm, struct queue *q); 71 static int allocate_sdma_queue(struct device_queue_manager *dqm, 74 static int reset_queues_on_hws_hang(struct device_queue_manager *dqm, bool is_sdma); 75 static struct queue *find_queue_by_doorbell_offset(struct device_queue_manager *dqm, 89 is_pipe_enabled(struct device_queue_manager * dqm,int mec,int pipe) is_pipe_enabled() argument 103 get_cp_queues_num(struct device_queue_manager * dqm) get_cp_queues_num() argument 109 get_queues_per_pipe(struct device_queue_manager * dqm) get_queues_per_pipe() argument 114 get_pipes_per_mec(struct device_queue_manager * dqm) get_pipes_per_mec() argument 119 get_num_all_sdma_engines(struct device_queue_manager * dqm) get_num_all_sdma_engines() argument 125 get_num_sdma_queues(struct device_queue_manager * dqm) get_num_sdma_queues() argument 131 get_num_xgmi_sdma_queues(struct device_queue_manager * dqm) get_num_xgmi_sdma_queues() argument 137 init_sdma_bitmaps(struct device_queue_manager * dqm) init_sdma_bitmaps() argument 152 program_sh_mem_settings(struct device_queue_manager * dqm,struct qcm_process_device * qpd) program_sh_mem_settings() argument 165 kfd_hws_hang(struct device_queue_manager * dqm) kfd_hws_hang() argument 207 add_queue_mes(struct device_queue_manager * dqm,struct queue * q,struct qcm_process_device * qpd) add_queue_mes() argument 284 remove_queue_mes_on_reset_option(struct device_queue_manager * dqm,struct queue * q,struct qcm_process_device * qpd,bool is_for_reset,bool flush_mes_queue) remove_queue_mes_on_reset_option() argument 331 set_perfcount(struct device_queue_manager * dqm,int enable) set_perfcount() argument 354 remove_queue_mes(struct device_queue_manager * dqm,struct queue * q,struct qcm_process_device * qpd) remove_queue_mes() argument 360 remove_all_kfd_queues_mes(struct device_queue_manager * dqm) remove_all_kfd_queues_mes() argument 387 add_all_kfd_queues_mes(struct device_queue_manager * dqm) add_all_kfd_queues_mes() argument 414 reset_queue_mes(struct device_queue_manager * dqm,struct queue * q,int queue_type,int pipe,int queue,unsigned int db) reset_queue_mes() argument 440 kfd_reset_queue_mes(struct device_queue_manager * dqm,int queue_type,int pipe,int queue,unsigned int db) kfd_reset_queue_mes() argument 451 reset_queues_mes(struct device_queue_manager * dqm,struct queue * q) reset_queues_mes() argument 512 increment_queue_count(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) increment_queue_count() argument 526 decrement_queue_count(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) decrement_queue_count() argument 633 program_trap_handler_settings(struct device_queue_manager * dqm,struct qcm_process_device * qpd) program_trap_handler_settings() argument 646 allocate_vmid(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) allocate_vmid() argument 715 deallocate_vmid(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) deallocate_vmid() argument 736 create_queue_nocpsch(struct device_queue_manager * dqm,struct queue * q,struct qcm_process_device * qpd,const struct kfd_criu_queue_priv_data * qd,const void * restore_mqd,const void * restore_ctl_stack) create_queue_nocpsch() argument 864 allocate_hqd(struct device_queue_manager * dqm,struct queue * q) allocate_hqd() argument 898 deallocate_hqd(struct device_queue_manager * dqm,struct queue * q) deallocate_hqd() argument 975 destroy_queue_nocpsch_locked(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) destroy_queue_nocpsch_locked() argument 1033 destroy_queue_nocpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) destroy_queue_nocpsch() argument 1072 update_queue(struct device_queue_manager * dqm,struct queue * q,struct mqd_update_info * minfo) update_queue() argument 1189 suspend_single_queue(struct device_queue_manager * dqm,struct kfd_process_device * pdd,struct queue * q) suspend_single_queue() argument 1235 resume_single_queue(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) resume_single_queue() argument 1271 dqm_evict_mqd_bo(struct device_queue_manager * dqm,struct queue * q) dqm_evict_mqd_bo() argument 1309 dqm_repin_mqd_bo(struct device_queue_manager * dqm,struct queue * q) dqm_repin_mqd_bo() argument 1360 evict_process_queues_nocpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) evict_process_queues_nocpsch() argument 1410 evict_process_queues_cpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) evict_process_queues_cpsch() argument 1482 restore_process_queues_nocpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) restore_process_queues_nocpsch() argument 1563 restore_process_queues_cpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) restore_process_queues_cpsch() argument 1633 register_process(struct device_queue_manager * dqm,struct qcm_process_device * qpd) register_process() argument 1672 unregister_process(struct device_queue_manager * dqm,struct qcm_process_device * qpd) unregister_process() argument 1706 set_pasid_vmid_mapping(struct device_queue_manager * dqm,u32 pasid,unsigned int vmid) set_pasid_vmid_mapping() argument 1722 init_interrupts(struct device_queue_manager * dqm) init_interrupts() argument 1737 initialize_nocpsch(struct device_queue_manager * dqm) initialize_nocpsch() argument 1770 uninitialize(struct device_queue_manager * dqm) uninitialize() argument 1782 start_nocpsch(struct device_queue_manager * dqm) start_nocpsch() argument 1797 stop_nocpsch(struct device_queue_manager * dqm) stop_nocpsch() argument 1813 allocate_sdma_queue(struct device_queue_manager * dqm,struct queue * q,const uint32_t * restore_sdma_id) allocate_sdma_queue() argument 1926 deallocate_sdma_queue(struct device_queue_manager * dqm,struct queue * q) deallocate_sdma_queue() argument 1944 set_sched_resources(struct device_queue_manager * dqm) set_sched_resources() argument 1988 initialize_cpsch(struct device_queue_manager * dqm) initialize_cpsch() argument 2011 halt_cpsch(struct device_queue_manager * dqm) halt_cpsch() argument 2040 unhalt_cpsch(struct device_queue_manager * dqm) unhalt_cpsch() argument 2064 start_cpsch(struct device_queue_manager * dqm) start_cpsch() argument 2139 stop_cpsch(struct device_queue_manager * dqm) stop_cpsch() argument 2173 create_kernel_queue_cpsch(struct device_queue_manager * dqm,struct kernel_queue * kq,struct qcm_process_device * qpd) create_kernel_queue_cpsch() argument 2203 destroy_kernel_queue_cpsch(struct device_queue_manager * dqm,struct kernel_queue * kq,struct qcm_process_device * qpd) destroy_kernel_queue_cpsch() argument 2223 create_queue_cpsch(struct device_queue_manager * dqm,struct queue * q,struct qcm_process_device * qpd,const struct kfd_criu_queue_priv_data * qd,const void * restore_mqd,const void * restore_ctl_stack) create_queue_cpsch() argument 2337 amdkfd_fence_wait_timeout(struct device_queue_manager * dqm,uint64_t fence_value,unsigned int timeout_ms) amdkfd_fence_wait_timeout() argument 2369 map_queues_cpsch(struct device_queue_manager * dqm) map_queues_cpsch() argument 2392 set_queue_as_reset(struct device_queue_manager * dqm,struct queue * q,struct qcm_process_device * qpd) set_queue_as_reset() argument 2408 detect_queue_hang(struct device_queue_manager * dqm) detect_queue_hang() argument 2451 find_queue_by_address(struct device_queue_manager * dqm,uint64_t queue_address) find_queue_by_address() argument 2468 find_queue_by_doorbell_offset(struct device_queue_manager * dqm,u32 doorbell_offset) find_queue_by_doorbell_offset() argument 2485 reset_hung_queues(struct device_queue_manager * dqm) reset_hung_queues() argument 2538 sdma_has_hang(struct device_queue_manager * dqm) sdma_has_hang() argument 2557 set_sdma_queue_as_reset(struct device_queue_manager * dqm,uint32_t doorbell_off) set_sdma_queue_as_reset() argument 2579 reset_hung_queues_sdma(struct device_queue_manager * dqm) reset_hung_queues_sdma() argument 2625 reset_queues_on_hws_hang(struct device_queue_manager * dqm,bool is_sdma) reset_queues_on_hws_hang() argument 2653 unmap_queues_cpsch(struct device_queue_manager * dqm,enum kfd_unmap_queues_filter filter,uint32_t filter_param,uint32_t grace_period,bool reset) unmap_queues_cpsch() argument 2732 reset_queues_cpsch(struct device_queue_manager * dqm,uint16_t pasid) reset_queues_cpsch() argument 2746 execute_queues_cpsch(struct device_queue_manager * dqm,enum kfd_unmap_queues_filter filter,uint32_t filter_param,uint32_t grace_period) execute_queues_cpsch() argument 2762 wait_on_destroy_queue(struct device_queue_manager * dqm,struct queue * q) wait_on_destroy_queue() argument 2796 destroy_queue_cpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) destroy_queue_cpsch() argument 2901 set_cache_memory_policy(struct device_queue_manager * dqm,struct qcm_process_device * qpd,enum cache_policy default_policy,enum cache_policy alternate_policy,void __user * alternate_aperture_base,uint64_t alternate_aperture_size,u32 misc_process_properties) set_cache_memory_policy() argument 2940 process_termination_nocpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) process_termination_nocpsch() argument 2988 get_wave_state(struct device_queue_manager * dqm,struct queue * q,void __user * ctl_stack,u32 * ctl_stack_used_size,u32 * save_area_used_size) get_wave_state() argument 3018 get_queue_checkpoint_info(struct device_queue_manager * dqm,const struct queue * q,u32 * mqd_size,u32 * ctl_stack_size) get_queue_checkpoint_info() argument 3041 checkpoint_mqd(struct device_queue_manager * dqm,const struct queue * q,void * mqd,void * ctl_stack) checkpoint_mqd() argument 3071 process_termination_cpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) process_termination_cpsch() argument 3164 init_mqd_managers(struct device_queue_manager * dqm) init_mqd_managers() argument 3191 allocate_hiq_sdma_mqd(struct device_queue_manager * dqm) allocate_hiq_sdma_mqd() argument 3220 struct device_queue_manager *dqm; device_queue_manager_init() local 3357 device_queue_manager_uninit(struct device_queue_manager * dqm) device_queue_manager_uninit() argument 3371 struct device_queue_manager *dqm = knode->dqm; kfd_dqm_suspend_bad_queue_mes() local 3402 struct device_queue_manager *dqm; kfd_evict_process_device() local 3413 reserve_debug_trap_vmid(struct device_queue_manager * dqm,struct qcm_process_device * qpd) reserve_debug_trap_vmid() argument 3461 release_debug_trap_vmid(struct device_queue_manager * dqm,struct qcm_process_device * qpd) release_debug_trap_vmid() argument 3559 struct device_queue_manager *dqm = pdd->dev->dqm; copy_context_work_handler() local 3618 struct device_queue_manager *dqm = pdd->dev->dqm; resume_queues() local 3721 struct device_queue_manager *dqm = pdd->dev->dqm; suspend_queues() local 3858 debug_lock_and_unmap(struct device_queue_manager * dqm) debug_lock_and_unmap() argument 3880 debug_map_and_unlock(struct device_queue_manager * dqm) debug_map_and_unlock() argument 3900 debug_refresh_runlist(struct device_queue_manager * dqm) debug_refresh_runlist() argument 3910 kfd_dqm_is_queue_in_process(struct device_queue_manager * dqm,struct qcm_process_device * qpd,int doorbell_off,u32 * queue_format) kfd_dqm_is_queue_in_process() argument 3935 mqd_size_from_queue_type(struct device_queue_manager * dqm,enum kfd_queue_type type) mqd_size_from_queue_type() argument 3965 struct device_queue_manager *dqm = data; dqm_debugfs_hqds() local 4043 dqm_debugfs_hang_hws(struct device_queue_manager * dqm) dqm_debugfs_hang_hws() argument [all...] |