Lines Matching refs:ppgtt
635 struct i915_ppgtt *ppgtt; in init_aliasing_ppgtt() local
638 ppgtt = i915_ppgtt_create(ggtt->vm.gt, 0); in init_aliasing_ppgtt()
639 if (IS_ERR(ppgtt)) in init_aliasing_ppgtt()
640 return PTR_ERR(ppgtt); in init_aliasing_ppgtt()
642 if (GEM_WARN_ON(ppgtt->vm.total < ggtt->vm.total)) { in init_aliasing_ppgtt()
647 err = i915_vm_alloc_pt_stash(&ppgtt->vm, &stash, ggtt->vm.total); in init_aliasing_ppgtt()
651 i915_gem_object_lock(ppgtt->vm.scratch[0], NULL); in init_aliasing_ppgtt()
652 err = i915_vm_map_pt_stash(&ppgtt->vm, &stash); in init_aliasing_ppgtt()
653 i915_gem_object_unlock(ppgtt->vm.scratch[0]); in init_aliasing_ppgtt()
663 ppgtt->vm.allocate_va_range(&ppgtt->vm, &stash, 0, ggtt->vm.total); in init_aliasing_ppgtt()
665 ggtt->alias = ppgtt; in init_aliasing_ppgtt()
666 ggtt->vm.bind_async_flags |= ppgtt->vm.bind_async_flags; in init_aliasing_ppgtt()
674 i915_vm_free_pt_stash(&ppgtt->vm, &stash); in init_aliasing_ppgtt()
678 i915_vm_free_pt_stash(&ppgtt->vm, &stash); in init_aliasing_ppgtt()
680 i915_vm_put(&ppgtt->vm); in init_aliasing_ppgtt()
686 struct i915_ppgtt *ppgtt; in fini_aliasing_ppgtt() local
688 ppgtt = fetch_and_zero(&ggtt->alias); in fini_aliasing_ppgtt()
689 if (!ppgtt) in fini_aliasing_ppgtt()
692 i915_vm_put(&ppgtt->vm); in fini_aliasing_ppgtt()