Lines Matching refs:ppgtt
644 struct i915_ppgtt *ppgtt; in init_aliasing_ppgtt() local
647 ppgtt = i915_ppgtt_create(ggtt->vm.gt); in init_aliasing_ppgtt()
648 if (IS_ERR(ppgtt)) in init_aliasing_ppgtt()
649 return PTR_ERR(ppgtt); in init_aliasing_ppgtt()
651 if (GEM_WARN_ON(ppgtt->vm.total < ggtt->vm.total)) { in init_aliasing_ppgtt()
656 err = i915_vm_alloc_pt_stash(&ppgtt->vm, &stash, ggtt->vm.total); in init_aliasing_ppgtt()
660 i915_gem_object_lock(ppgtt->vm.scratch[0], NULL); in init_aliasing_ppgtt()
661 err = i915_vm_map_pt_stash(&ppgtt->vm, &stash); in init_aliasing_ppgtt()
662 i915_gem_object_unlock(ppgtt->vm.scratch[0]); in init_aliasing_ppgtt()
672 ppgtt->vm.allocate_va_range(&ppgtt->vm, &stash, 0, ggtt->vm.total); in init_aliasing_ppgtt()
674 ggtt->alias = ppgtt; in init_aliasing_ppgtt()
675 ggtt->vm.bind_async_flags |= ppgtt->vm.bind_async_flags; in init_aliasing_ppgtt()
683 i915_vm_free_pt_stash(&ppgtt->vm, &stash); in init_aliasing_ppgtt()
687 i915_vm_free_pt_stash(&ppgtt->vm, &stash); in init_aliasing_ppgtt()
689 i915_vm_put(&ppgtt->vm); in init_aliasing_ppgtt()
695 struct i915_ppgtt *ppgtt; in fini_aliasing_ppgtt() local
697 ppgtt = fetch_and_zero(&ggtt->alias); in fini_aliasing_ppgtt()
698 if (!ppgtt) in fini_aliasing_ppgtt()
701 i915_vm_put(&ppgtt->vm); in fini_aliasing_ppgtt()