Home
last modified time | relevance | path

Searched refs:dqm (Results 1 – 10 of 10) sorted by relevance

/linux/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_device_queue_manager.c49 static int set_pasid_vmid_mapping(struct device_queue_manager *dqm,
52 static int execute_queues_cpsch(struct device_queue_manager *dqm,
56 static int unmap_queues_cpsch(struct device_queue_manager *dqm,
62 static int map_queues_cpsch(struct device_queue_manager *dqm);
64 static void deallocate_sdma_queue(struct device_queue_manager *dqm,
67 static inline void deallocate_hqd(struct device_queue_manager *dqm,
69 static int allocate_hqd(struct device_queue_manager *dqm, struct queue *q);
70 static int allocate_sdma_queue(struct device_queue_manager *dqm,
73 static int reset_queues_on_hws_hang(struct device_queue_manager *dqm, bool is_sdma);
74 static int resume_all_queues_mes(struct device_queue_manager *dqm);
83 is_pipe_enabled(struct device_queue_manager * dqm,int mec,int pipe) is_pipe_enabled() argument
97 get_cp_queues_num(struct device_queue_manager * dqm) get_cp_queues_num() argument
103 get_queues_per_pipe(struct device_queue_manager * dqm) get_queues_per_pipe() argument
108 get_pipes_per_mec(struct device_queue_manager * dqm) get_pipes_per_mec() argument
113 get_num_all_sdma_engines(struct device_queue_manager * dqm) get_num_all_sdma_engines() argument
119 get_num_sdma_queues(struct device_queue_manager * dqm) get_num_sdma_queues() argument
125 get_num_xgmi_sdma_queues(struct device_queue_manager * dqm) get_num_xgmi_sdma_queues() argument
131 init_sdma_bitmaps(struct device_queue_manager * dqm) init_sdma_bitmaps() argument
146 program_sh_mem_settings(struct device_queue_manager * dqm,struct qcm_process_device * qpd) program_sh_mem_settings() argument
159 kfd_hws_hang(struct device_queue_manager * dqm) kfd_hws_hang() argument
201 add_queue_mes(struct device_queue_manager * dqm,struct queue * q,struct qcm_process_device * qpd) add_queue_mes() argument
276 remove_queue_mes(struct device_queue_manager * dqm,struct queue * q,struct qcm_process_device * qpd) remove_queue_mes() argument
308 remove_all_kfd_queues_mes(struct device_queue_manager * dqm) remove_all_kfd_queues_mes() argument
335 add_all_kfd_queues_mes(struct device_queue_manager * dqm) add_all_kfd_queues_mes() argument
362 suspend_all_queues_mes(struct device_queue_manager * dqm) suspend_all_queues_mes() argument
382 resume_all_queues_mes(struct device_queue_manager * dqm) resume_all_queues_mes() argument
402 increment_queue_count(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) increment_queue_count() argument
416 decrement_queue_count(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) decrement_queue_count() argument
523 program_trap_handler_settings(struct device_queue_manager * dqm,struct qcm_process_device * qpd) program_trap_handler_settings() argument
536 allocate_vmid(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) allocate_vmid() argument
605 deallocate_vmid(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) deallocate_vmid() argument
626 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
747 allocate_hqd(struct device_queue_manager * dqm,struct queue * q) allocate_hqd() argument
781 deallocate_hqd(struct device_queue_manager * dqm,struct queue * q) deallocate_hqd() argument
858 destroy_queue_nocpsch_locked(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) destroy_queue_nocpsch_locked() argument
916 destroy_queue_nocpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) destroy_queue_nocpsch() argument
948 update_queue(struct device_queue_manager * dqm,struct queue * q,struct mqd_update_info * minfo) update_queue() argument
1065 suspend_single_queue(struct device_queue_manager * dqm,struct kfd_process_device * pdd,struct queue * q) suspend_single_queue() argument
1111 resume_single_queue(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) resume_single_queue() argument
1143 evict_process_queues_nocpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) evict_process_queues_nocpsch() argument
1193 evict_process_queues_cpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) evict_process_queues_cpsch() argument
1255 restore_process_queues_nocpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) restore_process_queues_nocpsch() argument
1336 restore_process_queues_cpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) restore_process_queues_cpsch() argument
1399 register_process(struct device_queue_manager * dqm,struct qcm_process_device * qpd) register_process() argument
1438 unregister_process(struct device_queue_manager * dqm,struct qcm_process_device * qpd) unregister_process() argument
1472 set_pasid_vmid_mapping(struct device_queue_manager * dqm,u32 pasid,unsigned int vmid) set_pasid_vmid_mapping() argument
1488 init_interrupts(struct device_queue_manager * dqm) init_interrupts() argument
1503 initialize_nocpsch(struct device_queue_manager * dqm) initialize_nocpsch() argument
1536 uninitialize(struct device_queue_manager * dqm) uninitialize() argument
1548 start_nocpsch(struct device_queue_manager * dqm) start_nocpsch() argument
1563 stop_nocpsch(struct device_queue_manager * dqm) stop_nocpsch() argument
1579 allocate_sdma_queue(struct device_queue_manager * dqm,struct queue * q,const uint32_t * restore_sdma_id) allocate_sdma_queue() argument
1692 deallocate_sdma_queue(struct device_queue_manager * dqm,struct queue * q) deallocate_sdma_queue() argument
1710 set_sched_resources(struct device_queue_manager * dqm) set_sched_resources() argument
1754 initialize_cpsch(struct device_queue_manager * dqm) initialize_cpsch() argument
1777 halt_cpsch(struct device_queue_manager * dqm) halt_cpsch() argument
1806 unhalt_cpsch(struct device_queue_manager * dqm) unhalt_cpsch() argument
1829 start_cpsch(struct device_queue_manager * dqm) start_cpsch() argument
1896 stop_cpsch(struct device_queue_manager * dqm) stop_cpsch() argument
1927 create_kernel_queue_cpsch(struct device_queue_manager * dqm,struct kernel_queue * kq,struct qcm_process_device * qpd) create_kernel_queue_cpsch() argument
1957 destroy_kernel_queue_cpsch(struct device_queue_manager * dqm,struct kernel_queue * kq,struct qcm_process_device * qpd) destroy_kernel_queue_cpsch() argument
1977 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
2085 amdkfd_fence_wait_timeout(struct device_queue_manager * dqm,uint64_t fence_value,unsigned int timeout_ms) amdkfd_fence_wait_timeout() argument
2117 map_queues_cpsch(struct device_queue_manager * dqm) map_queues_cpsch() argument
2140 set_queue_as_reset(struct device_queue_manager * dqm,struct queue * q,struct qcm_process_device * qpd) set_queue_as_reset() argument
2155 detect_queue_hang(struct device_queue_manager * dqm) detect_queue_hang() argument
2198 find_queue_by_address(struct device_queue_manager * dqm,uint64_t queue_address) find_queue_by_address() argument
2215 reset_hung_queues(struct device_queue_manager * dqm) reset_hung_queues() argument
2268 sdma_has_hang(struct device_queue_manager * dqm) sdma_has_hang() argument
2287 set_sdma_queue_as_reset(struct device_queue_manager * dqm,uint32_t doorbell_off) set_sdma_queue_as_reset() argument
2309 reset_hung_queues_sdma(struct device_queue_manager * dqm) reset_hung_queues_sdma() argument
2355 reset_queues_on_hws_hang(struct device_queue_manager * dqm,bool is_sdma) reset_queues_on_hws_hang() argument
2383 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
2462 reset_queues_cpsch(struct device_queue_manager * dqm,uint16_t pasid) reset_queues_cpsch() argument
2476 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
2492 wait_on_destroy_queue(struct device_queue_manager * dqm,struct queue * q) wait_on_destroy_queue() argument
2526 destroy_queue_cpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd,struct queue * q) destroy_queue_cpsch() argument
2621 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
2660 process_termination_nocpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) process_termination_nocpsch() argument
2708 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
2738 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
2761 checkpoint_mqd(struct device_queue_manager * dqm,const struct queue * q,void * mqd,void * ctl_stack) checkpoint_mqd() argument
2791 process_termination_cpsch(struct device_queue_manager * dqm,struct qcm_process_device * qpd) process_termination_cpsch() argument
2882 init_mqd_managers(struct device_queue_manager * dqm) init_mqd_managers() argument
2909 allocate_hiq_sdma_mqd(struct device_queue_manager * dqm) allocate_hiq_sdma_mqd() argument
2938 struct device_queue_manager *dqm; device_queue_manager_init() local
3069 device_queue_manager_uninit(struct device_queue_manager * dqm) device_queue_manager_uninit() argument
3082 struct device_queue_manager *dqm = knode->dqm; kfd_dqm_suspend_bad_queue_mes() local
3131 struct device_queue_manager *dqm; kfd_evict_process_device() local
3142 reserve_debug_trap_vmid(struct device_queue_manager * dqm,struct qcm_process_device * qpd) reserve_debug_trap_vmid() argument
3190 release_debug_trap_vmid(struct device_queue_manager * dqm,struct qcm_process_device * qpd) release_debug_trap_vmid() argument
3288 struct device_queue_manager *dqm = pdd->dev->dqm; copy_context_work_handler() local
3347 struct device_queue_manager *dqm = pdd->dev->dqm; resume_queues() local
3450 struct device_queue_manager *dqm = pdd->dev->dqm; suspend_queues() local
3584 debug_lock_and_unmap(struct device_queue_manager * dqm) debug_lock_and_unmap() argument
3606 debug_map_and_unlock(struct device_queue_manager * dqm) debug_map_and_unlock() argument
3626 debug_refresh_runlist(struct device_queue_manager * dqm) debug_refresh_runlist() argument
3636 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
3685 struct device_queue_manager *dqm = data; dqm_debugfs_hqds() local
3763 dqm_debugfs_hang_hws(struct device_queue_manager * dqm) dqm_debugfs_hang_hws() argument
[all...]
H A Dkfd_process_queue_manager.c93 dev->dqm->ops.process_termination(dev->dqm, &pdd->qpd); in kfd_process_dequeue_from_device()
164 return pqn->q->device->dqm->ops.update_queue(pqn->q->device->dqm, in pqm_set_gws()
368 dev->dqm->ops.register_process(dev->dqm, &pdd->qpd); in pqm_create_queue()
407 retval = dev->dqm->ops.create_queue(dev->dqm, q, &pdd->qpd, q_data, in pqm_create_queue()
414 if ((dev->dqm->sched_policy == in pqm_create_queue()
416 ((dev->dqm->processes_count >= dev->vm_info.vmid_num_kfd) || in pqm_create_queue()
417 (dev->dqm->active_queue_count >= get_cp_queues_num(dev->dqm)))) { in pqm_create_queue()
428 retval = dev->dqm->ops.create_queue(dev->dqm, q, &pdd->qpd, q_data, in pqm_create_queue()
488 dev->dqm->ops.unregister_process(dev->dqm, &pdd->qpd); in pqm_create_queue()
496 struct device_queue_manager *dqm; in pqm_destroy_queue() local
[all …]
H A Dkfd_mqd_manager.c58 mqd_mem_obj->mem = dev->dqm->hiq_sdma_mqd.mem; in allocate_hiq_mqd()
59 mqd_mem_obj->gpu_addr = dev->dqm->hiq_sdma_mqd.gpu_addr; in allocate_hiq_mqd()
60 mqd_mem_obj->cpu_ptr = dev->dqm->hiq_sdma_mqd.cpu_ptr; in allocate_hiq_mqd()
79 dev->dqm->mqd_mgrs[KFD_MQD_TYPE_SDMA]->mqd_size; in allocate_sdma_mqd()
81 offset += dev->dqm->mqd_mgrs[KFD_MQD_TYPE_HIQ]->mqd_size * in allocate_sdma_mqd()
84 mqd_mem_obj->mem = (void *)((uint64_t)dev->dqm->hiq_sdma_mqd.mem in allocate_sdma_mqd()
86 mqd_mem_obj->gpu_addr = dev->dqm->hiq_sdma_mqd.gpu_addr + offset; in allocate_sdma_mqd()
88 dev->dqm->hiq_sdma_mqd.cpu_ptr + offset); in allocate_sdma_mqd()
275 return dev->dqm->mqd_mgrs[KFD_MQD_TYPE_HIQ]->mqd_size; in kfd_hiq_mqd_stride()
286 dev->dqm->hiq_sdma_mqd.mem : NULL; in kfd_get_hiq_xcc_mqd()
[all …]
H A Dkfd_device.c573 if (node->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) in kfd_gws_init()
619 node->dqm = device_queue_manager_init(node); in kfd_init_node()
620 if (!node->dqm) { in kfd_init_node()
646 device_queue_manager_uninit(node->dqm); in kfd_init_node()
673 device_queue_manager_uninit(knode->dqm); in kfd_cleanup_nodes()
950 node->dqm->sched_policy); in kgd2kfd_device_init()
1084 node->dqm->ops.stop(node->dqm); in kgd2kfd_resume()
1139 err = node->dqm->ops.start(node->dqm); in kfd_resume()
[all...]
H A Dkfd_debug.c316 err = q->device->dqm->ops.update_queue(q->device->dqm, q, &minfo); in kfd_dbg_set_queue_workaround()
443 r = debug_lock_and_unmap(pdd->dev->dqm); in kfd_dbg_trap_clear_dev_address_watch()
455 r = debug_map_and_unlock(pdd->dev->dqm); in kfd_dbg_trap_clear_dev_address_watch()
480 r = debug_lock_and_unmap(pdd->dev->dqm); in kfd_dbg_trap_set_dev_address_watch()
500 r = debug_map_and_unlock(pdd->dev->dqm); in kfd_dbg_trap_set_dev_address_watch()
564 r = debug_refresh_runlist(pdd->dev->dqm); in kfd_dbg_trap_set_flags()
587 (void)debug_refresh_runlist(pdd->dev->dqm); in kfd_dbg_trap_set_flags()
645 release_debug_trap_vmid(pdd->dev->dqm, &pdd->qpd)) in kfd_dbg_trap_deactivate()
649 (void)debug_refresh_runlist(pdd->dev->dqm); in kfd_dbg_trap_deactivate()
[all...]
H A Dkfd_priv.h294 struct device_queue_manager *dqm;
673 struct device_queue_manager *dqm;
788 /* Flag used to tell the pdd has dequeued from the dqm.
789 * This is used to prevent dev->dqm->ops.process_termination() from
1370 void device_queue_manager_uninit(struct device_queue_manager *dqm);
1416 int amdkfd_fence_wait_timeout(struct device_queue_manager *dqm,
1448 struct device_queue_manager *dqm;
1493 int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm);
1629 int dqm_debugfs_hang_hws(struct device_queue_manager *dqm); in kfd_debugfs_init()
295 struct device_queue_manager *dqm; global() member
666 struct device_queue_manager *dqm; global() member
1447 struct device_queue_manager *dqm; global() member
H A Dkfd_kernel_queue.c60 kq->mqd_mgr = dev->dqm->mqd_mgrs[KFD_MQD_TYPE_HIQ]; in kq_initialize()
H A Dkfd_mqd_manager_v9.c727 uint32_t local_xcc_start = mm->dev->dqm->current_logical_xcc_start++; in init_mqd_v9_4_3()
841 mm->dev->dqm->current_logical_xcc_start++; in restore_mqd_v9_4_3()
H A Dkfd_topology.c2126 dev->gpu->dqm->sched_policy != KFD_SCHED_POLICY_NO_HWS) ? in kfd_topology_add_device()
2128 dev->node_props.num_cp_queues = get_cp_queues_num(dev->gpu->dqm); in kfd_topology_add_device()
2411 r = dqm_debugfs_hqds(m, dev->gpu->dqm); in kfd_debugfs_hqds_by_device()
2436 r = pm_debugfs_runlist(m, &dev->gpu->dqm->packet_mgr); in kfd_debugfs_rls_by_device()
H A Dkfd_chardev.c630 if (!pdd->dev->dqm->ops.set_cache_memory_policy(pdd->dev->dqm, in kfd_ioctl_set_memory_policy()
949 if (dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS && in kfd_ioctl_set_scratch_backing_va()
1524 if (dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { in kfd_ioctl_alloc_queue_gws()
3043 last_err = debug_refresh_runlist(pdd->dev->dqm); in kfd_ioctl_set_debug_trap()
3408 struct device_queue_manager *dqm; in kfd_ioctl()
3423 dqm = pdd->dev->dqm; in kfd_ioctl()
3426 dqm->ops.set_perfcount(dqm, arg in kfd_ioctl()
[all...]