Home
last modified time | relevance | path

Searched refs:vm_bo (Results 1 – 12 of 12) sorted by relevance

/linux/drivers/gpu/drm/
H A Ddrm_gpuvm.c900 drm_gpuvm_bo_is_zombie(struct drm_gpuvm_bo *vm_bo) in drm_gpuvm_bo_is_zombie() argument
902 return !kref_read(&vm_bo->kref); in drm_gpuvm_bo_is_zombie()
1224 struct drm_gpuvm_bo *vm_bo; in __drm_gpuvm_prepare_objects() local
1228 for_each_vm_bo_in_list(gpuvm, extobj, &extobjs, vm_bo) { in __drm_gpuvm_prepare_objects()
1229 ret = exec_prepare_obj(exec, vm_bo->obj, num_fences); in __drm_gpuvm_prepare_objects()
1234 drm_gpuvm_bo_put(vm_bo); in __drm_gpuvm_prepare_objects()
1245 struct drm_gpuvm_bo *vm_bo; in drm_gpuvm_prepare_objects_locked() local
1249 list_for_each_entry(vm_bo, &gpuvm->extobj.list, list.entry.extobj) { in drm_gpuvm_prepare_objects_locked()
1250 if (drm_gpuvm_bo_is_zombie(vm_bo)) in drm_gpuvm_prepare_objects_locked()
1253 ret = exec_prepare_obj(exec, vm_bo->obj, num_fences); in drm_gpuvm_prepare_objects_locked()
[all …]
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_vm.c149 static void amdgpu_vm_bo_evicted(struct amdgpu_vm_bo_base *vm_bo) in amdgpu_vm_bo_evicted() argument
151 struct amdgpu_vm *vm = vm_bo->vm; in amdgpu_vm_bo_evicted()
152 struct amdgpu_bo *bo = vm_bo->bo; in amdgpu_vm_bo_evicted()
154 vm_bo->moved = true; in amdgpu_vm_bo_evicted()
156 spin_lock(&vm_bo->vm->status_lock); in amdgpu_vm_bo_evicted()
158 list_move(&vm_bo->vm_status, &vm->evicted); in amdgpu_vm_bo_evicted()
160 list_move_tail(&vm_bo->vm_status, &vm->evicted); in amdgpu_vm_bo_evicted()
161 spin_unlock(&vm_bo->vm->status_lock); in amdgpu_vm_bo_evicted()
171 static void amdgpu_vm_bo_moved(struct amdgpu_vm_bo_base *vm_bo) in amdgpu_vm_bo_moved() argument
173 amdgpu_vm_assert_locked(vm_bo->vm); in amdgpu_vm_bo_moved()
[all …]
H A Damdgpu_dma_buf.c491 for (bo_base = bo->vm_bo; bo_base; bo_base = bo_base->next) { in amdgpu_dma_buf_move_notify()
H A Damdgpu_gem.c1067 for (base = robj->vm_bo; base; base = base->next) in amdgpu_gem_op_ioctl()
H A Damdgpu_amdkfd_gpuvm.c2254 bo, bo->vm_bo->vm->process_info->eviction_fence); in amdgpu_amdkfd_map_gtt_bo_to_gart()
/linux/drivers/gpu/drm/msm/
H A Dmsm_gem.c382 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 Dmsm_gem_vma.c372 struct drm_gpuvm_bo *vm_bo; in msm_gem_vma_new() local
416 vm_bo = drm_gpuvm_bo_obtain_locked(&vm->base, obj); in msm_gem_vma_new()
417 if (IS_ERR(vm_bo)) { in msm_gem_vma_new()
418 ret = PTR_ERR(vm_bo); in msm_gem_vma_new()
422 drm_gpuvm_bo_extobj_add(vm_bo); in msm_gem_vma_new()
423 drm_gpuva_link(&vma->base, vm_bo); in msm_gem_vma_new()
424 GEM_WARN_ON(drm_gpuvm_bo_put(vm_bo)); in msm_gem_vma_new()
439 msm_gem_vm_bo_validate(struct drm_gpuvm_bo *vm_bo, struct drm_exec *exec) in msm_gem_vm_bo_validate() argument
441 struct drm_gem_object *obj = vm_bo->obj; in msm_gem_vm_bo_validate()
449 drm_gpuvm_bo_for_each_va (vma, vm_bo) { in msm_gem_vm_bo_validate()
[all …]
H A Dmsm_gem_submit.c371 submit->bos[i].vm_bo = drm_gpuvm_bo_get(vma->vm_bo); in submit_pin_objects()
540 struct drm_gpuvm_bo *vm_bo = submit->bos[i].vm_bo; in msm_submit_retire() local
543 drm_gpuvm_bo_put(vm_bo); in msm_submit_retire()
/linux/drivers/gpu/drm/nouveau/
H A Dnouveau_uvmm.c65 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 Dpanthor_mmu.c188 struct drm_gpuvm_bo *vm_bo; member
1072 static void panthor_vm_bo_free(struct drm_gpuvm_bo *vm_bo) in panthor_vm_bo_free() argument
1074 struct panthor_gem_object *bo = to_panthor_bo(vm_bo->obj); in panthor_vm_bo_free()
1078 kfree(vm_bo); in panthor_vm_bo_free()
1095 if (op_ctx->map.vm_bo) in panthor_vm_cleanup_op_ctx()
1096 drm_gpuvm_bo_put_deferred(op_ctx->map.vm_bo); in panthor_vm_cleanup_op_ctx()
1247 op_ctx->map.vm_bo = drm_gpuvm_bo_obtain_prealloc(preallocated_vm_bo); in panthor_vm_prepare_map_op_ctx()
1277 drm_gpuvm_bo_extobj_add(op_ctx->map.vm_bo); in panthor_vm_prepare_map_op_ctx()
2050 struct drm_gpuvm_bo *vm_bo) in panthor_vma_link() argument
2055 drm_gpuva_link(&vma->base, vm_bo); in panthor_vma_link()
[all …]
/linux/drivers/gpu/drm/xe/
H A Dxe_vm.c326 static int xe_gpuvm_validate(struct drm_gpuvm_bo *vm_bo, struct drm_exec *exec) in xe_gpuvm_validate() argument
328 struct xe_vm *vm = gpuvm_to_vm(vm_bo->vm); in xe_gpuvm_validate()
333 drm_gpuvm_bo_for_each_va(gpuva, vm_bo) in xe_gpuvm_validate()
340 ret = xe_bo_validate(gem_to_xe_bo(vm_bo->obj), vm, false, exec); in xe_gpuvm_validate()
344 vm_bo->evicted = false; in xe_gpuvm_validate()
1042 struct drm_gpuvm_bo *vm_bo; in xe_vma_create() local
1046 vm_bo = drm_gpuvm_bo_obtain_locked(vma->gpuva.vm, &bo->ttm.base); in xe_vma_create()
1047 if (IS_ERR(vm_bo)) { in xe_vma_create()
1049 return ERR_CAST(vm_bo); in xe_vma_create()
1052 drm_gpuvm_bo_extobj_add(vm_bo); in xe_vma_create()
[all …]
H A Dxe_bo.c672 struct drm_gpuvm_bo *vm_bo; in xe_bo_trigger_rebind() local
686 drm_gem_for_each_gpuvm_bo(vm_bo, obj) { in xe_bo_trigger_rebind()
687 struct xe_vm *vm = gpuvm_to_vm(vm_bo->vm); in xe_bo_trigger_rebind()
691 drm_gpuvm_bo_evict(vm_bo, true); in xe_bo_trigger_rebind()
715 drm_gpuvm_bo_for_each_va(gpuva, vm_bo) { in xe_bo_trigger_rebind()
1093 struct drm_gpuvm_bo *vm_bo; in xe_bo_eviction_valuable() local
1101 drm_gem_for_each_gpuvm_bo(vm_bo, &bo->base) { in xe_bo_eviction_valuable()
1102 if (xe_vm_is_validating(gpuvm_to_vm(vm_bo->vm))) in xe_bo_eviction_valuable()