/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_process_queue_manager.c | 32 struct process_queue_manager *pqm, unsigned int qid) in get_queue_by_qid() 36 list_for_each_entry(pqn, &pqm->queues, process_queue_list) { in get_queue_by_qid() 45 static int find_available_queue_slot(struct process_queue_manager *pqm, in find_available_queue_slot() argument 50 found = find_first_zero_bit(pqm->queue_slot_bitmap, in find_available_queue_slot() 57 pqm->process->pasid); in find_available_queue_slot() 61 set_bit(found, pqm->queue_slot_bitmap); in find_available_queue_slot() 78 int pqm_set_gws(struct process_queue_manager *pqm, unsigned int qid, in pqm_set_gws() argument 87 pqn = get_queue_by_qid(pqm, qid); in pqm_set_gws() 98 pdd = kfd_get_process_device_data(dev, pqm->process); in pqm_set_gws() 135 int pqm_init(struct process_queue_manager *pqm, struc argument 31 get_queue_by_qid( struct process_queue_manager *pqm, unsigned int qid) get_queue_by_qid() argument 148 pqm_uninit(struct process_queue_manager *pqm) pqm_uninit() argument 166 init_user_queue(struct process_queue_manager *pqm, struct kfd_dev *dev, struct queue **q, struct queue_properties *q_properties, struct file *f, unsigned int qid) init_user_queue() argument 192 pqm_create_queue(struct process_queue_manager *pqm, struct kfd_dev *dev, struct file *f, struct queue_properties *properties, unsigned int *qid, uint32_t *p_doorbell_offset_in_process) pqm_create_queue() argument 340 pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid) pqm_destroy_queue() argument 414 pqm_update_queue(struct process_queue_manager *pqm, unsigned int qid, struct queue_properties *p) pqm_update_queue() argument 439 pqm_set_cu_mask(struct process_queue_manager *pqm, unsigned int qid, struct queue_properties *p) pqm_set_cu_mask() argument 467 pqm_get_kernel_queue( struct process_queue_manager *pqm, unsigned int qid) pqm_get_kernel_queue() argument 480 pqm_get_user_queue(struct process_queue_manager *pqm, unsigned int qid) pqm_get_user_queue() argument 489 pqm_get_wave_state(struct process_queue_manager *pqm, unsigned int qid, void __user *ctl_stack, u32 *ctl_stack_used_size, u32 *save_area_used_size) pqm_get_wave_state() argument 515 struct process_queue_manager *pqm = data; pqm_debugfs_mqds() local [all...] |
H A D | kfd_priv.h | 566 struct process_queue_manager *pqm; member 777 struct process_queue_manager pqm; member 984 int pqm_init(struct process_queue_manager *pqm, struct kfd_process *p); 985 void pqm_uninit(struct process_queue_manager *pqm); 986 int pqm_create_queue(struct process_queue_manager *pqm, 992 int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid); 993 int pqm_update_queue(struct process_queue_manager *pqm, unsigned int qid, 995 int pqm_set_cu_mask(struct process_queue_manager *pqm, unsigned int qid, 997 int pqm_set_gws(struct process_queue_manager *pqm, unsigned int qid, 999 struct kernel_queue *pqm_get_kernel_queue(struct process_queue_manager *pqm, [all...] |
H A D | kfd_device_queue_manager_cik.c | 134 if (qpd->pqm->process->is_32bit_user_mode) { in update_qpd_cik() 145 qpd->pqm->process->is_32bit_user_mode, temp, qpd->sh_mem_bases); in update_qpd_cik() 175 qpd->pqm->process->is_32bit_user_mode, temp, qpd->sh_mem_bases); in update_qpd_cik_hawaii()
|
H A D | kfd_dbgmgr.c | 107 /* provide the pqm for diq generation */ in kfd_dbgmgr_register() 108 pmgr->dbgdev->pqm = &p->pqm; in kfd_dbgmgr_register()
|
H A D | kfd_device_queue_manager_vi.c | 174 if (qpd->pqm->process->is_32bit_user_mode) { in update_qpd_vi() 189 qpd->pqm->process->is_32bit_user_mode, temp, qpd->sh_mem_bases); in update_qpd_vi()
|
H A D | kfd_dbgdev.c | 187 status = pqm_create_queue(dbgdev->pqm, dbgdev->dev, NULL, in dbgdev_register_diq() 197 kq = pqm_get_kernel_queue(dbgdev->pqm, qid); in dbgdev_register_diq() 201 pqm_destroy_queue(dbgdev->pqm, qid); in dbgdev_register_diq() 222 status = pqm_destroy_queue(dbgdev->pqm, in dbgdev_unregister_diq() 827 pdbgdev->pqm = NULL; in kfd_dbgdev_init()
|
H A D | kfd_process.c | 1059 pqm_uninit(&p->pqm); in kfd_process_notifier_release() 1108 pr_debug("set tba :0x%llx, tma:0x%llx, cwsr_kaddr:%p for pqm.\n", in kfd_process_init_cwsr_apu() 1140 pr_debug("set tba :0x%llx, tma:0x%llx, cwsr_kaddr:%p for pqm.\n", in kfd_process_device_init_cwsr_dgpu() 1174 err = pqm_init(&process->pqm, process); in create_process() 1199 pqm_uninit(&process->pqm); in create_process() 1277 pdd->qpd.pqm = &p->pqm; in kfd_create_process_device_data() 1748 r = pqm_debugfs_mqds(m, &p->pqm); in kfd_debugfs_mqds_by_process()
|
H A D | kfd_dbgmgr.h | 261 /* a pointer to the pqm of the calling process */ 262 struct process_queue_manager *pqm; member
|
H A D | kfd_chardev.c | 312 err = pqm_create_queue(&p->pqm, dev, filep, &q_properties, &queue_id, in kfd_ioctl_create_queue() 362 retval = pqm_destroy_queue(&p->pqm, args->queue_id); in kfd_ioctl_destroy_queue() 407 retval = pqm_update_queue(&p->pqm, args->queue_id, &properties); in kfd_ioctl_update_queue() 459 retval = pqm_set_cu_mask(&p->pqm, args->queue_id, &properties); in kfd_ioctl_set_cu_mask() 477 r = pqm_get_wave_state(&p->pqm, args->queue_id, in kfd_ioctl_get_queue_wave_state() 1612 q = pqm_get_user_queue(&p->pqm, args->queue_id); in kfd_ioctl_alloc_queue_gws() 1631 retval = pqm_set_gws(&p->pqm, args->queue_id, args->num_gws ? dev->gws : NULL); in kfd_ioctl_alloc_queue_gws()
|
H A D | kfd_packet_manager_vi.c | 54 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_vi()
|
H A D | kfd_packet_manager_v9.c | 43 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_v9()
|
H A D | kfd_device_queue_manager.c | 512 qpd->pqm->process); in destroy_queue_nocpsch_locked() 1764 dbgdev_wave_reset_wavefronts(dqm->dev, qpd->pqm->process); in process_termination_cpsch()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_process_queue_manager.c | 33 struct process_queue_manager *pqm, unsigned int qid) in get_queue_by_qid() 37 list_for_each_entry(pqn, &pqm->queues, process_queue_list) { in get_queue_by_qid() 46 static int assign_queue_slot_by_qid(struct process_queue_manager *pqm, in assign_queue_slot_by_qid() argument 52 if (__test_and_set_bit(qid, pqm->queue_slot_bitmap)) { in assign_queue_slot_by_qid() 60 static int find_available_queue_slot(struct process_queue_manager *pqm, in find_available_queue_slot() argument 65 found = find_first_zero_bit(pqm->queue_slot_bitmap, in find_available_queue_slot() 72 pqm->process->pasid); in find_available_queue_slot() 76 set_bit(found, pqm->queue_slot_bitmap); in find_available_queue_slot() 95 int pqm_set_gws(struct process_queue_manager *pqm, unsigned int qid, in pqm_set_gws() argument 104 pqn = get_queue_by_qid(pqm, qi in pqm_set_gws() 32 get_queue_by_qid( struct process_queue_manager *pqm, unsigned int qid) get_queue_by_qid() argument 162 pqm_init(struct process_queue_manager *pqm, struct kfd_process *p) pqm_init() argument 174 pqm_clean_queue_resource(struct process_queue_manager *pqm, struct process_queue_node *pqn) pqm_clean_queue_resource() argument 203 pqm_uninit(struct process_queue_manager *pqm) pqm_uninit() argument 221 init_user_queue(struct process_queue_manager *pqm, struct kfd_node *dev, struct queue **q, struct queue_properties *q_properties, struct file *f, struct amdgpu_bo *wptr_bo, unsigned int qid) init_user_queue() argument 268 pqm_create_queue(struct process_queue_manager *pqm, struct kfd_node *dev, struct file *f, struct queue_properties *properties, unsigned int *qid, struct amdgpu_bo *wptr_bo, const struct kfd_criu_queue_priv_data *q_data, const void *restore_mqd, const void *restore_ctl_stack, uint32_t *p_doorbell_offset_in_process) pqm_create_queue() argument 442 pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid) pqm_destroy_queue() argument 509 pqm_update_queue_properties(struct process_queue_manager *pqm, unsigned int qid, struct queue_properties *p) pqm_update_queue_properties() argument 535 pqm_update_mqd(struct process_queue_manager *pqm, unsigned int qid, struct mqd_update_info *minfo) pqm_update_mqd() argument 577 pqm_get_kernel_queue( struct process_queue_manager *pqm, unsigned int qid) pqm_get_kernel_queue() argument 590 pqm_get_user_queue(struct process_queue_manager *pqm, unsigned int qid) pqm_get_user_queue() argument 599 pqm_get_wave_state(struct process_queue_manager *pqm, unsigned int qid, void __user *ctl_stack, u32 *ctl_stack_used_size, u32 *save_area_used_size) pqm_get_wave_state() argument 621 pqm_get_queue_snapshot(struct process_queue_manager *pqm, uint64_t exception_clear_mask, void __user *buf, int *num_qss_entries, uint32_t *entry_size) pqm_get_queue_snapshot() argument 718 pqm_checkpoint_mqd(struct process_queue_manager *pqm, unsigned int qid, void *mqd, void *ctl_stack) pqm_checkpoint_mqd() argument 984 pqm_get_queue_checkpoint_info(struct process_queue_manager *pqm, unsigned int qid, uint32_t *mqd_size, uint32_t *ctl_stack_size) pqm_get_queue_checkpoint_info() argument 1012 struct process_queue_manager *pqm = data; pqm_debugfs_mqds() local [all...] |
H A D | kfd_debug.c | 37 struct process_queue_manager *pqm; in kfd_dbg_ev_query_debug_event() local 50 pqm = &process->pqm; in kfd_dbg_ev_query_debug_event() 51 list_for_each_entry(pqn, &pqm->queues, process_queue_list) { in kfd_dbg_ev_query_debug_event() 117 struct process_queue_manager *pqm; in kfd_dbg_ev_raise() local 159 pqm = &process->pqm; in kfd_dbg_ev_raise() 160 list_for_each_entry(pqn, &pqm->queues, in kfd_dbg_ev_raise() 214 struct process_queue_manager *pqm; in kfd_set_dbg_ev_from_interrupt() local 221 pqm in kfd_set_dbg_ev_from_interrupt() 323 struct process_queue_manager *pqm = &target->pqm; kfd_dbg_set_workaround() local 611 struct process_queue_manager *pqm; kfd_dbg_clean_exception_status() local 1090 struct process_queue_manager *pqm; kfd_dbg_set_enabled_debug_exception_mask() local [all...] |
H A D | kfd_priv.h | 642 struct process_queue_manager *pqm; member 899 struct process_queue_manager pqm; member 1312 int pqm_init(struct process_queue_manager *pqm, struct kfd_process *p); 1313 void pqm_uninit(struct process_queue_manager *pqm); 1314 int pqm_create_queue(struct process_queue_manager *pqm, 1324 int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid); 1325 int pqm_update_queue_properties(struct process_queue_manager *pqm, unsigned int qid, 1327 int pqm_update_mqd(struct process_queue_manager *pqm, unsigned int qid, 1329 int pqm_set_gws(struct process_queue_manager *pqm, unsigned int qid, 1331 struct kernel_queue *pqm_get_kernel_queue(struct process_queue_manager *pqm, [all...] |
H A D | kfd_device_queue_manager_cik.c | 129 qpd->pqm->process->is_32bit_user_mode, temp, qpd->sh_mem_bases); in update_qpd_cik()
|
H A D | kfd_process.c | 1114 pqm_uninit(&p->pqm); in kfd_process_wq_release() 1313 pr_debug("set tba :0x%llx, tma:0x%llx, cwsr_kaddr:%p for pqm.\n", in kfd_process_init_cwsr_apu() 1352 pr_debug("set tba :0x%llx, tma:0x%llx, cwsr_kaddr:%p for pqm.\n", in kfd_process_device_init_cwsr_dgpu() 1486 err = pqm_init(&process->pqm, process); in create_process() 1537 pqm_uninit(&process->pqm); in create_process() 1577 pdd->qpd.pqm = &p->pqm; in kfd_create_process_device_data() 2171 q = pqm_get_user_queue(&p->pqm, workarea->queue_id); in send_exception_work_handler() 2256 r = pqm_debugfs_mqds(m, &p->pqm); in kfd_debugfs_mqds_by_process()
|
H A D | kfd_packet_manager_v9.c | 47 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_v9() 102 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_aldebaran()
|
H A D | kfd_chardev.c | 385 err = pqm_create_queue(&p->pqm, dev, filep, &q_properties, &queue_id, wptr_bo, in kfd_ioctl_create_queue() 440 retval = pqm_destroy_queue(&p->pqm, args->queue_id); in kfd_ioctl_destroy_queue() 492 retval = pqm_update_queue_properties(&p->pqm, args->queue_id, &properties); in kfd_ioctl_update_queue() 544 retval = pqm_update_mqd(&p->pqm, args->queue_id, &minfo); in kfd_ioctl_set_cu_mask() 561 r = pqm_get_wave_state(&p->pqm, args->queue_id, in kfd_ioctl_get_queue_wave_state() 1469 q = pqm_get_user_queue(&p->pqm, args->queue_id); in kfd_ioctl_alloc_queue_gws() 1494 retval = pqm_set_gws(&p->pqm, args->queue_id, args->num_gws ? dev->gws : NULL); in kfd_ioctl_alloc_queue_gws() 1694 if (!list_empty(&p->pqm.queues)) { in kfd_ioctl_set_xnack_mode() 3068 r = pqm_get_queue_snapshot(&target->pqm, in kfd_ioctl_set_debug_trap()
|
H A D | kfd_packet_manager_vi.c | 55 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_vi()
|
H A D | kfd_device_queue_manager.c | 201 queue_input.process_id = qpd->pqm->process->pasid; in add_queue_mes() 230 queue_input.skip_process_ctx_clear = qpd->pqm->process->debug_trap_enabled || in add_queue_mes() 806 qpd->pqm->process); in destroy_queue_nocpsch_locked() 1826 q->properties.is_dbg_wa = qpd->pqm->process->debug_trap_enabled && in create_queue_cpsch() 2136 qpd->pqm->process, q->device, in destroy_queue_cpsch() 2409 dbgdev_wave_reset_wavefronts(dqm->dev, qpd->pqm->process); in process_termination_cpsch()
|