Lines Matching defs:ppgtt
956 struct i915_ppgtt *ppgtt;
959 ppgtt = i915_ppgtt_create(ggtt->vm.gt, 0);
960 if (IS_ERR(ppgtt))
961 return PTR_ERR(ppgtt);
963 if (GEM_WARN_ON(ppgtt->vm.total < ggtt->vm.total)) {
968 err = i915_vm_alloc_pt_stash(&ppgtt->vm, &stash, ggtt->vm.total);
972 i915_gem_object_lock(ppgtt->vm.scratch[0], NULL);
973 err = i915_vm_map_pt_stash(&ppgtt->vm, &stash);
974 i915_gem_object_unlock(ppgtt->vm.scratch[0]);
984 ppgtt->vm.allocate_va_range(&ppgtt->vm, &stash, 0, ggtt->vm.total);
986 ggtt->alias = ppgtt;
987 ggtt->vm.bind_async_flags |= ppgtt->vm.bind_async_flags;
995 i915_vm_free_pt_stash(&ppgtt->vm, &stash);
999 i915_vm_free_pt_stash(&ppgtt->vm, &stash);
1001 i915_vm_put(&ppgtt->vm);
1007 struct i915_ppgtt *ppgtt;
1009 ppgtt = fetch_and_zero(&ggtt->alias);
1010 if (!ppgtt)
1013 i915_vm_put(&ppgtt->vm);