/linux-master/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_device_queue_manager.c | 45 static int set_pasid_vmid_mapping(struct device_queue_manager *dqm, 48 static int execute_queues_cpsch(struct device_queue_manager *dqm, 52 static int unmap_queues_cpsch(struct device_queue_manager *dqm, 58 static int map_queues_cpsch(struct device_queue_manager *dqm); 60 static void deallocate_sdma_queue(struct device_queue_manager *dqm, 63 static inline void deallocate_hqd(struct device_queue_manager *dqm, 65 static int allocate_hqd(struct device_queue_manager *dqm, struct queue *q); 66 static int allocate_sdma_queue(struct device_queue_manager *dqm, 78 static bool is_pipe_enabled(struct device_queue_manager *dqm, int mec, int pipe) argument 81 int pipe_offset = (mec * dqm 92 get_cp_queues_num(struct device_queue_manager *dqm) argument 98 get_queues_per_pipe(struct device_queue_manager *dqm) argument 103 get_pipes_per_mec(struct device_queue_manager *dqm) argument 108 get_num_all_sdma_engines(struct device_queue_manager *dqm) argument 114 get_num_sdma_queues(struct device_queue_manager *dqm) argument 120 get_num_xgmi_sdma_queues(struct device_queue_manager *dqm) argument 126 init_sdma_bitmaps(struct device_queue_manager *dqm) argument 140 program_sh_mem_settings(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 153 kfd_hws_hang(struct device_queue_manager *dqm) argument 188 add_queue_mes(struct device_queue_manager *dqm, struct queue *q, struct qcm_process_device *qpd) argument 258 remove_queue_mes(struct device_queue_manager *dqm, struct queue *q, struct qcm_process_device *qpd) argument 286 remove_all_queues_mes(struct device_queue_manager *dqm) argument 313 increment_queue_count(struct device_queue_manager *dqm, struct qcm_process_device *qpd, struct queue *q) argument 328 decrement_queue_count(struct device_queue_manager *dqm, struct qcm_process_device *qpd, struct queue *q) argument 433 program_trap_handler_settings(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 446 allocate_vmid(struct device_queue_manager *dqm, struct qcm_process_device *qpd, struct queue *q) argument 514 deallocate_vmid(struct device_queue_manager *dqm, struct qcm_process_device *qpd, struct queue *q) argument 535 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) argument 656 allocate_hqd(struct device_queue_manager *dqm, struct queue *q) argument 690 deallocate_hqd(struct device_queue_manager *dqm, struct queue *q) argument 766 destroy_queue_nocpsch_locked(struct device_queue_manager *dqm, struct qcm_process_device *qpd, struct queue *q) argument 825 destroy_queue_nocpsch(struct device_queue_manager *dqm, struct qcm_process_device *qpd, struct queue *q) argument 857 update_queue(struct device_queue_manager *dqm, struct queue *q, struct mqd_update_info *minfo) argument 968 suspend_single_queue(struct device_queue_manager *dqm, struct kfd_process_device *pdd, struct queue *q) argument 1014 resume_single_queue(struct device_queue_manager *dqm, struct qcm_process_device *qpd, struct queue *q) argument 1046 evict_process_queues_nocpsch(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 1096 evict_process_queues_cpsch(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 1153 restore_process_queues_nocpsch(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 1234 restore_process_queues_cpsch(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 1297 register_process(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 1336 unregister_process(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 1371 set_pasid_vmid_mapping(struct device_queue_manager *dqm, u32 pasid, unsigned int vmid) argument 1387 init_interrupts(struct device_queue_manager *dqm) argument 1402 initialize_nocpsch(struct device_queue_manager *dqm) argument 1435 uninitialize(struct device_queue_manager *dqm) argument 1447 start_nocpsch(struct device_queue_manager *dqm) argument 1462 stop_nocpsch(struct device_queue_manager *dqm) argument 1478 pre_reset(struct device_queue_manager *dqm) argument 1485 allocate_sdma_queue(struct device_queue_manager *dqm, struct queue *q, const uint32_t *restore_sdma_id) argument 1555 deallocate_sdma_queue(struct device_queue_manager *dqm, struct queue *q) argument 1573 set_sched_resources(struct device_queue_manager *dqm) argument 1617 initialize_cpsch(struct device_queue_manager *dqm) argument 1639 start_cpsch(struct device_queue_manager *dqm) argument 1709 stop_cpsch(struct device_queue_manager *dqm) argument 1740 create_kernel_queue_cpsch(struct device_queue_manager *dqm, struct kernel_queue *kq, struct qcm_process_device *qpd) argument 1770 destroy_kernel_queue_cpsch(struct device_queue_manager *dqm, struct kernel_queue *kq, struct qcm_process_device *qpd) argument 1790 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) argument 1897 amdkfd_fence_wait_timeout(struct device_queue_manager *dqm, uint64_t fence_value, unsigned int timeout_ms) argument 1928 map_queues_cpsch(struct device_queue_manager *dqm) argument 1952 unmap_queues_cpsch(struct device_queue_manager *dqm, enum kfd_unmap_queues_filter filter, uint32_t filter_param, uint32_t grace_period, bool reset) argument 2022 reset_queues_cpsch(struct device_queue_manager *dqm, uint16_t pasid) argument 2037 execute_queues_cpsch(struct device_queue_manager *dqm, enum kfd_unmap_queues_filter filter, uint32_t filter_param, uint32_t grace_period) argument 2053 wait_on_destroy_queue(struct device_queue_manager *dqm, struct queue *q) argument 2078 destroy_queue_cpsch(struct device_queue_manager *dqm, struct qcm_process_device *qpd, struct queue *q) argument 2180 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) argument 2242 process_termination_nocpsch(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 2290 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) argument 2320 get_queue_checkpoint_info(struct device_queue_manager *dqm, const struct queue *q, u32 *mqd_size, u32 *ctl_stack_size) argument 2340 checkpoint_mqd(struct device_queue_manager *dqm, const struct queue *q, void *mqd, void *ctl_stack) argument 2370 process_termination_cpsch(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 2461 init_mqd_managers(struct device_queue_manager *dqm) argument 2488 allocate_hiq_sdma_mqd(struct device_queue_manager *dqm) argument 2508 struct device_queue_manager *dqm; local 2640 device_queue_manager_uninit(struct device_queue_manager *dqm) argument 2649 kfd_dqm_evict_pasid(struct device_queue_manager *dqm, u32 pasid) argument 2668 struct device_queue_manager *dqm = container_of(work, local 2673 reserve_debug_trap_vmid(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 2721 release_debug_trap_vmid(struct device_queue_manager *dqm, struct qcm_process_device *qpd) argument 2819 struct device_queue_manager *dqm = pdd->dev->dqm; local 2873 struct device_queue_manager *dqm = pdd->dev->dqm; local 2976 struct device_queue_manager *dqm = pdd->dev->dqm; local 3111 debug_lock_and_unmap(struct device_queue_manager *dqm) argument 3133 debug_map_and_unlock(struct device_queue_manager *dqm) argument 3153 debug_refresh_runlist(struct device_queue_manager *dqm) argument 3188 struct device_queue_manager *dqm = data; local 3266 dqm_debugfs_hang_hws(struct device_queue_manager *dqm) argument [all...] |
H A D | kfd_device_queue_manager.h | 132 int (*create_queue)(struct device_queue_manager *dqm, 139 int (*destroy_queue)(struct device_queue_manager *dqm, 143 int (*update_queue)(struct device_queue_manager *dqm, 146 int (*register_process)(struct device_queue_manager *dqm, 149 int (*unregister_process)(struct device_queue_manager *dqm, 152 int (*initialize)(struct device_queue_manager *dqm); 153 int (*start)(struct device_queue_manager *dqm); 154 int (*stop)(struct device_queue_manager *dqm); 155 void (*pre_reset)(struct device_queue_manager *dqm); 156 void (*uninitialize)(struct device_queue_manager *dqm); 321 dqm_lock(struct device_queue_manager *dqm) argument 326 dqm_unlock(struct device_queue_manager *dqm) argument [all...] |
H A D | kfd_device_queue_manager_v9.c | 29 static int update_qpd_v9(struct device_queue_manager *dqm, 31 static void init_sdma_vm_v9(struct device_queue_manager *dqm, struct queue *q, 51 static int update_qpd_v9(struct device_queue_manager *dqm, argument 63 if (dqm->dev->kfd->noretry) 66 if (KFD_GC_VERSION(dqm->dev->kfd) == IP_VERSION(9, 4, 3)) 74 if (KFD_SUPPORT_XNACK_PER_PROCESS(dqm->dev)) { 89 static void init_sdma_vm_v9(struct device_queue_manager *dqm, struct queue *q, argument
|
H A D | kfd_device_queue_manager_v11.c | 29 static int update_qpd_v11(struct device_queue_manager *dqm, 31 static void init_sdma_vm_v11(struct device_queue_manager *dqm, struct queue *q, 51 static int update_qpd_v11(struct device_queue_manager *dqm, argument 76 static void init_sdma_vm_v11(struct device_queue_manager *dqm, struct queue *q, argument
|
H A D | kfd_device_queue_manager_v10.c | 30 static int update_qpd_v10(struct device_queue_manager *dqm, 32 static void init_sdma_vm_v10(struct device_queue_manager *dqm, struct queue *q, 52 static int update_qpd_v10(struct device_queue_manager *dqm, argument 76 static void init_sdma_vm_v10(struct device_queue_manager *dqm, struct queue *q, argument
|
H A D | kfd_device_queue_manager_cik.c | 30 static bool set_cache_memory_policy_cik(struct device_queue_manager *dqm, 36 static int update_qpd_cik(struct device_queue_manager *dqm, 38 static void init_sdma_vm(struct device_queue_manager *dqm, 78 static bool set_cache_memory_policy_cik(struct device_queue_manager *dqm, argument 104 static int update_qpd_cik(struct device_queue_manager *dqm, argument 134 static void init_sdma_vm(struct device_queue_manager *dqm, argument
|
H A D | kfd_device_queue_manager_vi.c | 30 static bool set_cache_memory_policy_vi(struct device_queue_manager *dqm, 36 static int update_qpd_vi(struct device_queue_manager *dqm, 38 static void init_sdma_vm(struct device_queue_manager *dqm, 79 static bool set_cache_memory_policy_vi(struct device_queue_manager *dqm, argument 106 static int update_qpd_vi(struct device_queue_manager *dqm, argument 140 static void init_sdma_vm(struct device_queue_manager *dqm, argument
|
H A D | kfd_mqd_manager.c | 57 mqd_mem_obj->gtt_mem = dev->dqm->hiq_sdma_mqd.gtt_mem; 58 mqd_mem_obj->gpu_addr = dev->dqm->hiq_sdma_mqd.gpu_addr; 59 mqd_mem_obj->cpu_ptr = dev->dqm->hiq_sdma_mqd.cpu_ptr; 77 dev->dqm->mqd_mgrs[KFD_MQD_TYPE_SDMA]->mqd_size; 79 offset += dev->dqm->mqd_mgrs[KFD_MQD_TYPE_HIQ]->mqd_size * 82 mqd_mem_obj->gtt_mem = (void *)((uint64_t)dev->dqm->hiq_sdma_mqd.gtt_mem 84 mqd_mem_obj->gpu_addr = dev->dqm->hiq_sdma_mqd.gpu_addr + offset; 86 dev->dqm->hiq_sdma_mqd.cpu_ptr + offset); 271 return dev->dqm->mqd_mgrs[KFD_MQD_TYPE_HIQ]->mqd_size; 282 dev->dqm [all...] |
H A D | kfd_packet_manager.c | 48 struct kfd_node *dev = pm->dqm->dev; 50 process_count = pm->dqm->processes_count; 51 queue_count = pm->dqm->active_queue_count; 52 compute_queue_count = pm->dqm->active_cp_queue_count; 53 gws_queue_count = pm->dqm->gws_queue_count; 66 compute_queue_count > get_cp_queues_num(pm->dqm) || 102 retval = kfd_gtt_sa_allocate(pm->dqm->dev, *rl_buffer_size, 146 pm->dqm->processes_count, pm->dqm->active_queue_count); 152 if (processes_mapped >= pm->dqm 225 pm_init(struct packet_manager *pm, struct device_queue_manager *dqm) argument [all...] |
H A D | kfd_process_queue_manager.c | 89 dev->dqm->ops.process_termination(dev->dqm, &pdd->qpd); 152 return pqn->q->device->dqm->ops.update_queue(pqn->q->device->dqm, 328 dev->dqm->ops.register_process(dev->dqm, &pdd->qpd); 350 retval = dev->dqm->ops.create_queue(dev->dqm, q, &pdd->qpd, q_data, 357 if ((dev->dqm->sched_policy == 359 ((dev->dqm 448 struct device_queue_manager *dqm; local [all...] |
H A D | kfd_packet_manager_v9.c | 37 struct kfd_node *kfd = pm->dqm->dev; 55 if (kfd->dqm->trap_debug_vmid && pdd->process->debug_trap_enabled && 57 packet->bitfields2.debug_vmid = kfd->dqm->trap_debug_vmid; 91 struct kfd_dev *kfd = pm->dqm->dev->kfd; 146 struct kfd_node *kfd = pm->dqm->dev; 157 concurrent_proc_cnt = min(pm->dqm->processes_count, 298 pm->dqm->dev->kfd2kgd->build_grace_period_packet_info( 299 pm->dqm->dev->adev, 300 pm->dqm->wait_times, 306 reg_data = pm->dqm [all...] |
H A D | kfd_debug.c | 239 kfd_dqm_evict_pasid(dev->dqm, p->pasid); 277 kfd_dqm_evict_pasid(pdd->dev->dqm, p->pasid); 314 err = q->device->dqm->ops.update_queue(q->device->dqm, q, &minfo); 420 r = debug_lock_and_unmap(pdd->dev->dqm); 432 r = debug_map_and_unlock(pdd->dev->dqm); 454 r = debug_lock_and_unmap(pdd->dev->dqm); 474 r = debug_map_and_unlock(pdd->dev->dqm); 516 r = debug_refresh_runlist(pdd->dev->dqm); 539 debug_refresh_runlist(pdd->dev->dqm); [all...] |
H A D | kfd_device.c | 521 if (node->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) 561 node->dqm = device_queue_manager_init(node); 562 if (!node->dqm) { 588 device_queue_manager_uninit(node->dqm); 607 device_queue_manager_uninit(knode->dqm); 862 node->dqm->sched_policy); 908 node->dqm->ops.pre_reset(node->dqm); 978 node->dqm->ops.stop(node->dqm); [all...] |
H A D | kfd_process.c | 107 struct device_queue_manager *dqm; local 118 dqm = pdd->dev->dqm; 120 if (!dqm || !qpd) 149 dqm_lock(dqm); 158 dqm_unlock(dqm); 175 dqm_unlock(dqm); 179 dqm_unlock(dqm); 209 dqm_lock(dqm); 231 dqm_unlock(dqm); [all...] |
H A D | kfd_int_process_v11.c | 212 if (dev->dqm->ops.reset_queues) 213 ret = dev->dqm->ops.reset_queues(dev->dqm, pasid);
|
H A D | cik_event_interrupt.c | 113 kfd_dqm_evict_pasid(dev->dqm, pasid);
|
H A D | kfd_priv.h | 287 struct device_queue_manager *dqm; member in struct:kfd_node 642 struct device_queue_manager *dqm; member in struct:qcm_process_device 756 /* Flag used to tell the pdd has dequeued from the dqm. 757 * This is used to prevent dev->dqm->ops.process_termination() from 1297 void device_queue_manager_uninit(struct device_queue_manager *dqm); 1301 int kfd_dqm_evict_pasid(struct device_queue_manager *dqm, u32 pasid); 1346 int amdkfd_fence_wait_timeout(struct device_queue_manager *dqm, 1360 struct device_queue_manager *dqm; member in struct:packet_manager 1405 int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm); 1529 int dqm_debugfs_hang_hws(struct device_queue_manager *dqm); [all...] |
H A D | kfd_int_process_v9.c | 165 ret = kfd_dqm_evict_pasid(dev->dqm, pasid); 260 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { 267 pasid = dev->dqm->vmid_pasid[vmid];
|
H A D | kfd_packet_manager_vi.c | 80 struct kfd_node *kfd = pm->dqm->dev; 94 concurrent_proc_cnt = min(pm->dqm->processes_count,
|
H A D | kfd_kernel_queue.c | 65 kq->mqd_mgr = dev->dqm->mqd_mgrs[KFD_MQD_TYPE_DIQ]; 68 kq->mqd_mgr = dev->dqm->mqd_mgrs[KFD_MQD_TYPE_HIQ];
|
H A D | kfd_int_process_v10.c | 154 ret = kfd_dqm_evict_pasid(dev->dqm, pasid);
|
H A D | kfd_topology.c | 2024 dev->gpu->dqm->sched_policy != KFD_SCHED_POLICY_NO_HWS) ? 2026 dev->node_props.num_cp_queues = get_cp_queues_num(dev->gpu->dqm); 2274 r = dqm_debugfs_hqds(m, dev->gpu->dqm); 2299 r = pm_debugfs_runlist(m, &dev->gpu->dqm->packet_mgr);
|
H A D | kfd_chardev.c | 611 if (!pdd->dev->dqm->ops.set_cache_memory_policy(pdd->dev->dqm, 925 if (dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS && 1490 if (dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { 2861 debug_refresh_runlist(pdd->dev->dqm);
|
H A D | kfd_mqd_manager_v9.c | 631 uint32_t local_xcc_start = mm->dev->dqm->current_logical_xcc_start++;
|