Home
last modified time | relevance | path

Searched refs:pqm (Results 1 - 21 of 21) sorted by relevance

/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_process_queue_manager.c32 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 Dkfd_priv.h566 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 Dkfd_device_queue_manager_cik.c134 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 Dkfd_dbgmgr.c107 /* provide the pqm for diq generation */ in kfd_dbgmgr_register()
108 pmgr->dbgdev->pqm = &p->pqm; in kfd_dbgmgr_register()
H A Dkfd_device_queue_manager_vi.c174 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 Dkfd_dbgdev.c187 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 Dkfd_process.c1059 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 Dkfd_dbgmgr.h261 /* a pointer to the pqm of the calling process */
262 struct process_queue_manager *pqm; member
H A Dkfd_chardev.c312 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 Dkfd_packet_manager_vi.c54 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_vi()
H A Dkfd_packet_manager_v9.c43 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_v9()
H A Dkfd_device_queue_manager.c512 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 Dkfd_process_queue_manager.c33 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 Dkfd_debug.c37 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 Dkfd_priv.h642 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 Dkfd_device_queue_manager_cik.c129 qpd->pqm->process->is_32bit_user_mode, temp, qpd->sh_mem_bases); in update_qpd_cik()
H A Dkfd_process.c1114 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 Dkfd_packet_manager_v9.c47 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 Dkfd_chardev.c385 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 Dkfd_packet_manager_vi.c55 packet->bitfields2.pasid = qpd->pqm->process->pasid; in pm_map_process_vi()
H A Dkfd_device_queue_manager.c201 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()

Completed in 28 milliseconds