Lines Matching defs:ppgtt
953 struct i915_ppgtt *ppgtt;
956 ppgtt = i915_ppgtt_create(ggtt->vm.gt, 0);
957 if (IS_ERR(ppgtt))
958 return PTR_ERR(ppgtt);
960 if (GEM_WARN_ON(ppgtt->vm.total < ggtt->vm.total)) {
965 err = i915_vm_alloc_pt_stash(&ppgtt->vm, &stash, ggtt->vm.total);
969 i915_gem_object_lock(ppgtt->vm.scratch[0], NULL);
970 err = i915_vm_map_pt_stash(&ppgtt->vm, &stash);
971 i915_gem_object_unlock(ppgtt->vm.scratch[0]);
981 ppgtt->vm.allocate_va_range(&ppgtt->vm, &stash, 0, ggtt->vm.total);
983 ggtt->alias = ppgtt;
984 ggtt->vm.bind_async_flags |= ppgtt->vm.bind_async_flags;
992 i915_vm_free_pt_stash(&ppgtt->vm, &stash);
996 i915_vm_free_pt_stash(&ppgtt->vm, &stash);
998 i915_vm_put(&ppgtt->vm);
1004 struct i915_ppgtt *ppgtt;
1006 ppgtt = fetch_and_zero(&ggtt->alias);
1007 if (!ppgtt)
1010 i915_vm_put(&ppgtt->vm);