Lines Matching full:scratch
43 * Note that we also hit this path for the scratch page, and for this in alloc_pt_lmem()
166 if (vm->scratch[0]->base.resv == &vm->_resv) { in i915_vm_lock_objects()
167 return i915_gem_object_lock(vm->scratch[0], ww); in i915_vm_lock_objects()
171 /* We borrowed the scratch page from ggtt, take the top level object */ in i915_vm_lock_objects()
316 static void poison_scratch_page(struct drm_i915_gem_object *scratch) in poison_scratch_page() argument
318 void *vaddr = __px_vaddr(scratch); in poison_scratch_page()
325 memset(vaddr, val, scratch->base.size); in poison_scratch_page()
326 drm_clflush_virt_range(vaddr, scratch->base.size); in poison_scratch_page()
335 * need to support a 64K scratch page, given that every 16th entry for a in setup_scratch_page()
337 * region, including any PTEs which happen to point to scratch. in setup_scratch_page()
341 * scratch (read-only) between all vm, we create one 64k scratch page in setup_scratch_page()
359 /* We need a single contiguous page for our scratch */ in setup_scratch_page()
368 * Use a non-zero scratch page for debugging. in setup_scratch_page()
378 vm->scratch[0] = obj; in setup_scratch_page()
394 * operating in 64K GTT mode, which includes any scratch PTEs, in setup_scratch_page()
408 if (!vm->scratch[0]) in free_scratch()
412 i915_gem_object_put(vm->scratch[i]); in free_scratch()