| /linux/drivers/gpu/drm/ |
| H A D | drm_gpuvm.c | 563 * struct drm_gpuvm_bo *vm_bo; 570 * vm_bo = drm_gpuvm_bo_obtain(gpuvm, obj); 571 * if (IS_ERR(vm_bo)) 572 * return PTR_ERR(vm_bo); 586 * drm_gpuva_link(va, vm_bo); 614 * drm_gpuva_link(prev, va->vm_bo); 616 * drm_gpuva_link(next, va->vm_bo); 633 * drm_gpuvm_bo_put(vm_bo); 643 * struct drm_gpuvm_bo *vm_bo; 664 * struct drm_gpuvm_bo *vm_bo; 900 drm_gpuvm_bo_is_zombie(struct drm_gpuvm_bo * vm_bo) drm_gpuvm_bo_is_zombie() argument 1224 struct drm_gpuvm_bo *vm_bo; __drm_gpuvm_prepare_objects() local 1245 struct drm_gpuvm_bo *vm_bo; drm_gpuvm_prepare_objects_locked() local 1469 struct drm_gpuvm_bo *vm_bo; __drm_gpuvm_validate() local 1489 struct drm_gpuvm_bo *vm_bo, *next; drm_gpuvm_validate_locked() local 1579 struct drm_gpuvm_bo *vm_bo; drm_gpuvm_bo_create() local 1617 drm_gpuvm_bo_destroy_not_in_lists(struct drm_gpuvm_bo * vm_bo) drm_gpuvm_bo_destroy_not_in_lists() argument 1635 struct drm_gpuvm_bo *vm_bo = container_of(kref, struct drm_gpuvm_bo, drm_gpuvm_bo_destroy_not_in_lists_kref() local 1644 struct drm_gpuvm_bo *vm_bo = container_of(kref, struct drm_gpuvm_bo, drm_gpuvm_bo_destroy() local 1678 drm_gpuvm_bo_put(struct drm_gpuvm_bo * vm_bo) drm_gpuvm_bo_put() argument 1700 struct drm_gpuvm_bo *vm_bo = container_of(kref, struct drm_gpuvm_bo, drm_gpuvm_bo_into_zombie() local 1724 drm_gpuvm_bo_defer_zombie_cleanup(struct drm_gpuvm_bo * vm_bo) drm_gpuvm_bo_defer_zombie_cleanup() argument 1732 struct drm_gpuvm_bo *vm_bo = container_of(kref, struct drm_gpuvm_bo, drm_gpuvm_bo_defer_free() local 1753 drm_gpuvm_bo_put_deferred(struct drm_gpuvm_bo * vm_bo) drm_gpuvm_bo_put_deferred() argument 1776 struct drm_gpuvm_bo *vm_bo; drm_gpuvm_bo_deferred_cleanup() local 1804 struct drm_gpuvm_bo *vm_bo; __drm_gpuvm_bo_find() local 1830 struct drm_gpuvm_bo *vm_bo = __drm_gpuvm_bo_find(gpuvm, obj); drm_gpuvm_bo_find() local 1857 struct drm_gpuvm_bo *vm_bo; drm_gpuvm_bo_obtain_locked() local 1906 struct drm_gpuvm_bo *vm_bo; drm_gpuvm_bo_obtain_prealloc() local 1936 drm_gpuvm_bo_extobj_add(struct drm_gpuvm_bo * vm_bo) drm_gpuvm_bo_extobj_add() argument 1958 drm_gpuvm_bo_evict(struct drm_gpuvm_bo * vm_bo,bool evict) drm_gpuvm_bo_evict() argument 2094 drm_gpuva_link(struct drm_gpuva * va,struct drm_gpuvm_bo * vm_bo) drm_gpuva_link() argument 2132 struct drm_gpuvm_bo *vm_bo = va->vm_bo; drm_gpuva_unlink() local 2156 struct drm_gpuvm_bo *vm_bo = va->vm_bo; drm_gpuva_unlink_defer() local 3178 drm_gpuvm_bo_unmap_ops_create(struct drm_gpuvm_bo * vm_bo) drm_gpuvm_bo_unmap_ops_create() argument [all...] |
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_vm.c | 150 * Make sure we have the lock to modify the vm_bo status and return the object in amdgpu_vm_is_bo_always_valid() 154 amdgpu_vm_bo_lock_lists(struct amdgpu_vm_bo_base *vm_bo) 156 struct amdgpu_vm *vm = vm_bo->vm; 157 struct amdgpu_bo *bo = vm_bo->bo; 169 spin_lock(&vm_bo->vm->individual_lock); in amdgpu_vm_bo_evicted() 174 static void amdgpu_vm_bo_unlock_lists(struct amdgpu_vm_bo_base *vm_bo) in amdgpu_vm_bo_evicted() 176 if (amdgpu_vm_is_bo_always_valid(vm_bo->vm, vm_bo->bo)) in amdgpu_vm_bo_evicted() 177 amdgpu_vm_assert_locked(vm_bo->vm); 179 spin_unlock(&vm_bo 163 amdgpu_vm_bo_evicted(struct amdgpu_vm_bo_base * vm_bo) amdgpu_vm_bo_evicted() argument 185 amdgpu_vm_bo_moved(struct amdgpu_vm_bo_base * vm_bo) amdgpu_vm_bo_moved() argument 201 amdgpu_vm_bo_idle(struct amdgpu_vm_bo_base * vm_bo) amdgpu_vm_bo_idle() argument 218 amdgpu_vm_bo_invalidated(struct amdgpu_vm_bo_base * vm_bo) amdgpu_vm_bo_invalidated() argument 233 amdgpu_vm_bo_evicted_user(struct amdgpu_vm_bo_base * vm_bo) amdgpu_vm_bo_evicted_user() argument 249 amdgpu_vm_bo_relocated(struct amdgpu_vm_bo_base * vm_bo) amdgpu_vm_bo_relocated() argument 269 amdgpu_vm_bo_done(struct amdgpu_vm_bo_base * vm_bo) amdgpu_vm_bo_done() argument 286 struct amdgpu_vm_bo_base *vm_bo, *tmp; amdgpu_vm_bo_reset_state_machine() local [all...] |
| H A D | amdgpu_hmm.c | 70 struct amdgpu_bo *vm_root = bo->vm_bo->vm->root.bo; in amdgpu_hmm_invalidate_gfx()
|
| H A D | amdgpu_vm_pt.c | 145 return parent->vm_bo; in amdgpu_vm_pt_parent() 544 entry->bo->vm_bo = NULL; in amdgpu_vm_pt_free()
|
| H A D | amdgpu_object.h | 113 struct amdgpu_vm_bo_base *vm_bo; member
|
| H A D | amdgpu_gem.c | 1066 for (base = robj->vm_bo; base; base = base->next) in amdgpu_gem_op_ioctl()
|
| H A D | amdgpu_amdkfd_gpuvm.c | 2255 bo, bo->vm_bo->vm->process_info->eviction_fence); in amdgpu_amdkfd_map_gtt_bo_to_gart()
|
| /linux/drivers/gpu/drm/msm/ |
| H A D | msm_gem_shrinker.c | 53 struct drm_gpuvm_bo *vm_bo, *last_locked = NULL; in with_vm_locks() local 56 drm_gem_for_each_gpuvm_bo (vm_bo, obj) { in with_vm_locks() 57 struct dma_resv *resv = drm_gpuvm_resv(vm_bo->vm); in with_vm_locks() 76 drm_gpuvm_bo_get(vm_bo); in with_vm_locks() 78 last_locked = vm_bo; in with_vm_locks() 85 drm_gem_for_each_gpuvm_bo (vm_bo, obj) { in with_vm_locks() 86 struct dma_resv *resv = drm_gpuvm_resv(vm_bo->vm); in with_vm_locks() 94 drm_gpuvm_bo_put(vm_bo); in with_vm_locks() 96 if (last_locked == vm_bo) in with_vm_locks()
|
| H A D | msm_gem.c | 382 struct drm_gpuvm_bo *vm_bo; in lookup_vma() local 386 drm_gem_for_each_gpuvm_bo (vm_bo, obj) { in lookup_vma() 389 drm_gpuvm_bo_for_each_va (vma, vm_bo) { in lookup_vma() 394 GEM_WARN_ON(!list_is_singular(&vm_bo->list.gpuva)); in lookup_vma() 414 struct drm_gpuvm_bo *vm_bo, *tmp; in put_iova_spaces() local 418 drm_gem_for_each_gpuvm_bo_safe (vm_bo, tmp, obj) { in put_iova_spaces() 421 if (vm && vm_bo->vm != vm) in put_iova_spaces() 424 drm_gpuvm_bo_get(vm_bo); in put_iova_spaces() 426 drm_gpuvm_bo_for_each_va_safe (vma, vmatmp, vm_bo) { in put_iova_spaces() 432 drm_gpuvm_bo_put(vm_bo); in put_iova_spaces() [all …]
|
| H A D | msm_gem_vma.c | 372 struct drm_gpuvm_bo *vm_bo; in msm_gem_vma_new() local 422 vm_bo = drm_gpuvm_bo_obtain_locked(&vm->base, obj); in msm_gem_vma_new() 423 if (IS_ERR(vm_bo)) { in msm_gem_vma_new() 424 ret = PTR_ERR(vm_bo); in msm_gem_vma_new() 428 drm_gpuvm_bo_extobj_add(vm_bo); in msm_gem_vma_new() 429 drm_gpuva_link(&vma->base, vm_bo); in msm_gem_vma_new() 430 GEM_WARN_ON(drm_gpuvm_bo_put(vm_bo)); in msm_gem_vma_new() 445 msm_gem_vm_bo_validate(struct drm_gpuvm_bo *vm_bo, struct drm_exec *exec) in msm_gem_vm_bo_validate() argument 447 struct drm_gem_object *obj = vm_bo->obj; in msm_gem_vm_bo_validate() 455 drm_gpuvm_bo_for_each_va (vma, vm_bo) { in msm_gem_vm_bo_validate() 552 struct drm_gpuvm_bo *vm_bo = orig_vma->vm_bo; msm_gem_vm_sm_step_remap() local [all...] |
| H A D | msm_gem_submit.c | 373 submit->bos[i].vm_bo = drm_gpuvm_bo_get(vma->vm_bo); in submit_pin_objects() 542 struct drm_gpuvm_bo *vm_bo = submit->bos[i].vm_bo; in msm_submit_retire() local 545 drm_gpuvm_bo_put(vm_bo); in msm_submit_retire()
|
| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_uvmm.c | 65 struct drm_gpuvm_bo *vm_bo; member 1191 struct drm_gpuvm_bo *vm_bo = bop->vm_bo; in bind_link_gpuvas() local 1198 drm_gpuva_link(&new->map->va, vm_bo); in bind_link_gpuvas() 1204 drm_gpuva_link(&new->prev->va, va->vm_bo); in bind_link_gpuvas() 1206 drm_gpuva_link(&new->next->va, va->vm_bo); in bind_link_gpuvas() 1278 op->vm_bo = drm_gpuvm_bo_obtain_locked(&uvmm->base, obj); in nouveau_uvmm_bind_job_submit() 1280 if (IS_ERR(op->vm_bo)) in nouveau_uvmm_bind_job_submit() 1281 return PTR_ERR(op->vm_bo); in nouveau_uvmm_bind_job_submit() 1283 drm_gpuvm_bo_extobj_add(op->vm_bo); in nouveau_uvmm_bind_job_submit() 1592 if (!IS_ERR_OR_NULL(op->vm_bo)) { in nouveau_uvmm_bind_job_cleanup() [all …]
|
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_mmu.c | 196 /** @map.vm_bo: Buffer object to map. */ 197 struct drm_gpuvm_bo *vm_bo; 1114 static void panthor_vm_bo_free(struct drm_gpuvm_bo *vm_bo) 1116 struct panthor_gem_object *bo = to_panthor_bo(vm_bo->obj); in panthor_vm_op_ctx_return_vma() 1127 kfree(vm_bo); 1139 * already held. In that case, we just skip the deferred vm_bo cleanup, in panthor_vm_op_ctx_get_vma() 1140 * which is fine, because the vm_bo validation is not calling in panthor_vm_op_ctx_get_vma() 1154 if (op_ctx->map.vm_bo) in panthor_vm_op_ctx_prealloc_vmas() 1155 drm_gpuvm_bo_put_deferred(op_ctx->map.vm_bo); in panthor_vm_op_ctx_prealloc_vmas() 1337 op_ctx->map.vm_bo in panthor_vm_prepare_unmap_op_ctx() 188 struct drm_gpuvm_bo *vm_bo; global() member 1082 panthor_vm_bo_free(struct drm_gpuvm_bo * vm_bo) panthor_vm_bo_free() argument 2070 panthor_vma_link(struct panthor_vm * vm,struct panthor_vma * vma,struct drm_gpuvm_bo * vm_bo) panthor_vma_link() argument [all...] |
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_vm.c | 328 static int xe_gpuvm_validate(struct drm_gpuvm_bo *vm_bo, struct drm_exec *exec) in xe_gpuvm_validate() argument 330 struct xe_vm *vm = gpuvm_to_vm(vm_bo->vm); in xe_gpuvm_validate() 331 struct xe_bo *bo = gem_to_xe_bo(vm_bo->obj); in xe_gpuvm_validate() 336 drm_gpuvm_bo_for_each_va(gpuva, vm_bo) in xe_gpuvm_validate() 342 vm_bo->evicted = false; in xe_gpuvm_validate() 353 vm_bo->evicted = false; in xe_gpuvm_validate() 1118 struct drm_gpuvm_bo *vm_bo; in xe_vma_create() 1141 vm_bo = drm_gpuvm_bo_obtain_locked(vma->gpuva.vm, &bo->ttm.base); in xe_vma_create() 1142 if (IS_ERR(vm_bo)) { in xe_vma_create() 1144 return ERR_CAST(vm_bo); in xe_vma_create() 1119 struct drm_gpuvm_bo *vm_bo; xe_vma_create() local 2408 struct drm_gpuvm_bo *vm_bo; vm_bind_ioctl_ops_create() local [all...] |
| H A D | xe_bo.c | 663 struct drm_gpuvm_bo *vm_bo; 677 drm_gem_for_each_gpuvm_bo(vm_bo, obj) { in xe_bo_trigger_rebind() 678 struct xe_vm *vm = gpuvm_to_vm(vm_bo->vm); in xe_bo_trigger_rebind() 682 drm_gpuvm_bo_evict(vm_bo, true); in xe_bo_trigger_rebind() 711 drm_gpuvm_bo_for_each_va(gpuva, vm_bo) { in xe_bo_trigger_rebind() 1219 struct drm_gpuvm_bo *vm_bo; in xe_bo_shrink_purge() 1227 drm_gem_for_each_gpuvm_bo(vm_bo, &bo->base) { in xe_bo_eviction_valuable() 1228 if (xe_vm_is_validating(gpuvm_to_vm(vm_bo->vm))) in xe_bo_eviction_valuable() 670 struct drm_gpuvm_bo *vm_bo; xe_bo_trigger_rebind() local 1226 struct drm_gpuvm_bo *vm_bo; xe_bo_eviction_valuable() local
|