Lines Matching defs:vm

150  * @vm: amdgpu_vm structure
157 struct amdgpu_vm *vm, uint64_t start,
162 cursor->entry = &vm->root;
279 * @vm: amdgpu_vm structure
286 struct amdgpu_vm *vm,
293 amdgpu_vm_pt_start(adev, vm, 0, cursor);
340 #define for_each_amdgpu_vm_pt_dfs_safe(adev, vm, start, cursor, entry) \
341 for (amdgpu_vm_pt_first_dfs((adev), (vm), (start), &(cursor)), \
350 * @vm: VM to clear BO from
359 int amdgpu_vm_pt_clear(struct amdgpu_device *adev, struct amdgpu_vm *vm,
389 r = vm->update_funcs->map_table(vmbo);
395 params.vm = vm;
398 r = vm->update_funcs->prepare(&params, NULL);
417 r = vm->update_funcs->update(&params, vmbo, addr, 0, entries,
422 r = vm->update_funcs->commit(&params, NULL);
432 * @vm: requesting vm
438 int amdgpu_vm_pt_create(struct amdgpu_device *adev, struct amdgpu_vm *vm,
466 if (vm->use_cpu_for_update)
473 if (vm->root.bo)
474 bp.resv = vm->root.bo->tbo.base.resv;
483 * @vm: VM to allocate page tables for
494 struct amdgpu_vm *vm,
506 amdgpu_vm_eviction_unlock(vm);
507 r = amdgpu_vm_pt_create(adev, vm, cursor->level, immediate, &pt,
508 vm->root.bo->xcp_id);
509 amdgpu_vm_eviction_lock(vm);
518 amdgpu_vm_bo_base_init(entry, vm, pt_bo);
519 r = amdgpu_vm_pt_clear(adev, vm, pt, immediate);
544 spin_lock(&entry->vm->status_lock);
546 spin_unlock(&entry->vm->status_lock);
590 spin_lock(&params->vm->status_lock);
591 for_each_amdgpu_vm_pt_dfs_safe(params->adev, params->vm, cursor, seek, entry) {
598 spin_unlock(&params->vm->status_lock);
604 * @vm: amdgpu vm structure
608 void amdgpu_vm_pt_free_root(struct amdgpu_device *adev, struct amdgpu_vm *vm)
613 for_each_amdgpu_vm_pt_dfs_safe(adev, vm, NULL, cursor, entry) {
632 struct amdgpu_vm *vm = params->vm;
646 return vm->update_funcs->update(params, to_amdgpu_bo_vm(bo), pde, pt,
714 amdgpu_gmc_override_vm_pte_flags(adev, params->vm, addr, &flags);
716 params->vm->update_funcs->update(params, pt, pe, addr, count, incr,
810 amdgpu_vm_pt_start(adev, params->vm, start, &cursor);
820 r = amdgpu_vm_pt_alloc(params->adev, params->vm,
891 struct amdgpu_vm *vm = params->vm;
904 vm->task_info ? vm->task_info->tgid : 0,
905 vm->immediate.fence_context);
951 * @vm: amdgpu vm structure
955 int amdgpu_vm_pt_map_tables(struct amdgpu_device *adev, struct amdgpu_vm *vm)
960 for_each_amdgpu_vm_pt_dfs_safe(adev, vm, NULL, cursor, entry) {
967 r = vm->update_funcs->map_table(bo);