Lines Matching refs:vm
99 struct xe_vm *vm = container_of(vm_exec->vm, struct xe_vm, gpuvm); in xe_exec_fn() local
102 return xe_vm_validate_rebind(vm, &vm_exec->exec, 1); in xe_exec_fn()
119 struct xe_vm *vm; in xe_exec_ioctl() local
159 vm = q->vm; in xe_exec_ioctl()
164 (xe_vm_in_lr_mode(vm) ? in xe_exec_ioctl()
197 if (!xe_vm_in_lr_mode(vm) && xe_vm_userptr_check_repin(vm)) { in xe_exec_ioctl()
198 err = down_write_killable(&vm->lock); in xe_exec_ioctl()
202 err = down_read_interruptible(&vm->lock); in xe_exec_ioctl()
209 err = xe_vm_userptr_pin(vm); in xe_exec_ioctl()
210 downgrade_write(&vm->lock); in xe_exec_ioctl()
217 err = xe_vm_lock(vm, true); in xe_exec_ioctl()
221 if (!xe_vm_in_lr_mode(vm)) { in xe_exec_ioctl()
224 fence = xe_sync_in_fence_get(syncs, num_syncs, q, vm); in xe_exec_ioctl()
227 xe_vm_unlock(vm); in xe_exec_ioctl()
232 xe_exec_queue_last_fence_set(q, vm, fence); in xe_exec_ioctl()
236 xe_vm_unlock(vm); in xe_exec_ioctl()
240 vm_exec.vm = &vm->gpuvm; in xe_exec_ioctl()
242 if (xe_vm_in_lr_mode(vm)) { in xe_exec_ioctl()
253 if (xe_vm_is_closed_or_banned(q->vm)) { in xe_exec_ioctl()
266 err = xe_vm_validate_protected(q->vm); in xe_exec_ioctl()
279 if (!xe_vm_in_lr_mode(vm)) { in xe_exec_ioctl()
281 xe_vm_resv(vm), in xe_exec_ioctl()
292 if (!xe_vm_in_lr_mode(vm)) { in xe_exec_ioctl()
293 err = xe_sched_job_last_fence_add_dep(job, vm); in xe_exec_ioctl()
297 err = down_read_interruptible(&vm->userptr.notifier_lock); in xe_exec_ioctl()
301 err = __xe_vm_userptr_needs_repin(vm); in xe_exec_ioctl()
311 if (!xe_vm_in_lr_mode(vm)) in xe_exec_ioctl()
312 drm_gpuvm_resv_add_fence(&vm->gpuvm, exec, &job->drm.s_fence->finished, in xe_exec_ioctl()
323 if (!xe_vm_in_lr_mode(vm)) in xe_exec_ioctl()
324 xe_exec_queue_last_fence_set(q, vm, &job->drm.s_fence->finished); in xe_exec_ioctl()
326 xe_vm_reactivate_rebind(vm); in xe_exec_ioctl()
328 if (!err && !xe_vm_in_lr_mode(vm)) { in xe_exec_ioctl()
330 ttm_lru_bulk_move_tail(&vm->lru_bulk_move); in xe_exec_ioctl()
338 if (!xe_vm_in_lr_mode(vm)) in xe_exec_ioctl()
339 up_read(&vm->userptr.notifier_lock); in xe_exec_ioctl()
346 up_read(&vm->lock); in xe_exec_ioctl()