Lines Matching refs:id_mgr
206 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub]; in amdgpu_vmid_grab_idle() local
215 fences = kmalloc_array(id_mgr->num_ids, sizeof(void *), GFP_KERNEL); in amdgpu_vmid_grab_idle()
221 list_for_each_entry((*idle), &id_mgr->ids_lru, list) { in amdgpu_vmid_grab_idle()
233 if (&(*idle)->list == &id_mgr->ids_lru) { in amdgpu_vmid_grab_idle()
281 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub]; in amdgpu_vmid_grab_reserved() local
287 *id = id_mgr->reserved; in amdgpu_vmid_grab_reserved()
342 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub]; in amdgpu_vmid_grab_used() local
350 list_for_each_entry_reverse((*id), &id_mgr->ids_lru, list) { in amdgpu_vmid_grab_used()
402 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub]; in amdgpu_vmid_grab() local
407 mutex_lock(&id_mgr->lock); in amdgpu_vmid_grab()
434 list_move_tail(&id->list, &id_mgr->ids_lru); in amdgpu_vmid_grab()
443 job->vmid = id - id_mgr->ids; in amdgpu_vmid_grab()
458 mutex_unlock(&id_mgr->lock); in amdgpu_vmid_grab()
465 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub]; in amdgpu_vmid_alloc_reserved() local
467 mutex_lock(&id_mgr->lock); in amdgpu_vmid_alloc_reserved()
469 ++id_mgr->reserved_use_count; in amdgpu_vmid_alloc_reserved()
470 if (!id_mgr->reserved) { in amdgpu_vmid_alloc_reserved()
473 id = list_first_entry(&id_mgr->ids_lru, struct amdgpu_vmid, in amdgpu_vmid_alloc_reserved()
477 id_mgr->reserved = id; in amdgpu_vmid_alloc_reserved()
480 mutex_unlock(&id_mgr->lock); in amdgpu_vmid_alloc_reserved()
487 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub]; in amdgpu_vmid_free_reserved() local
489 mutex_lock(&id_mgr->lock); in amdgpu_vmid_free_reserved()
490 if (!--id_mgr->reserved_use_count) { in amdgpu_vmid_free_reserved()
492 list_add(&id_mgr->reserved->list, &id_mgr->ids_lru); in amdgpu_vmid_free_reserved()
493 id_mgr->reserved = NULL; in amdgpu_vmid_free_reserved()
496 mutex_unlock(&id_mgr->lock); in amdgpu_vmid_free_reserved()
511 struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub]; in amdgpu_vmid_reset() local
512 struct amdgpu_vmid *id = &id_mgr->ids[vmid]; in amdgpu_vmid_reset()
514 mutex_lock(&id_mgr->lock); in amdgpu_vmid_reset()
522 mutex_unlock(&id_mgr->lock); in amdgpu_vmid_reset()
537 struct amdgpu_vmid_mgr *id_mgr = in amdgpu_vmid_reset_all() local
538 &adev->vm_manager.id_mgr[i]; in amdgpu_vmid_reset_all()
540 for (j = 1; j < id_mgr->num_ids; ++j) in amdgpu_vmid_reset_all()
557 struct amdgpu_vmid_mgr *id_mgr = in amdgpu_vmid_mgr_init() local
558 &adev->vm_manager.id_mgr[i]; in amdgpu_vmid_mgr_init()
560 mutex_init(&id_mgr->lock); in amdgpu_vmid_mgr_init()
561 INIT_LIST_HEAD(&id_mgr->ids_lru); in amdgpu_vmid_mgr_init()
562 id_mgr->reserved_use_count = 0; in amdgpu_vmid_mgr_init()
565 id_mgr->num_ids = adev->vm_manager.first_kfd_vmid; in amdgpu_vmid_mgr_init()
568 for (j = 1; j < id_mgr->num_ids; ++j) { in amdgpu_vmid_mgr_init()
570 amdgpu_sync_create(&id_mgr->ids[j].active); in amdgpu_vmid_mgr_init()
571 list_add_tail(&id_mgr->ids[j].list, &id_mgr->ids_lru); in amdgpu_vmid_mgr_init()
592 struct amdgpu_vmid_mgr *id_mgr = in amdgpu_vmid_mgr_fini() local
593 &adev->vm_manager.id_mgr[i]; in amdgpu_vmid_mgr_fini()
595 mutex_destroy(&id_mgr->lock); in amdgpu_vmid_mgr_fini()
597 struct amdgpu_vmid *id = &id_mgr->ids[j]; in amdgpu_vmid_mgr_fini()