Lines Matching full:pd
18 /* Write pde (index) from the page directory @pd to the page table @pt */
86 i915_pt_entry(ppgtt->base.pd, pde++); in gen6_ppgtt_clear_range()
116 struct i915_page_directory * const pd = ppgtt->pd; in gen6_ppgtt_insert_entries() local
124 GEM_BUG_ON(!pd->entry[act_pt]); in gen6_ppgtt_insert_entries()
126 vaddr = px_vaddr(i915_pt_entry(pd, act_pt)); in gen6_ppgtt_insert_entries()
142 vaddr = px_vaddr(i915_pt_entry(pd, ++act_pt)); in gen6_ppgtt_insert_entries()
152 struct i915_page_directory * const pd = ppgtt->base.pd; in gen6_flush_pd() local
161 gen6_for_each_pde(pt, pd, start, end, pde) in gen6_flush_pd()
177 struct i915_page_directory * const pd = ppgtt->base.pd; in gen6_alloc_va_range() local
183 spin_lock(&pd->lock); in gen6_alloc_va_range()
184 gen6_for_each_pde(pt, pd, start, length, pde) { in gen6_alloc_va_range()
188 spin_unlock(&pd->lock); in gen6_alloc_va_range()
195 spin_lock(&pd->lock); in gen6_alloc_va_range()
196 if (!pd->entry[pde]) { in gen6_alloc_va_range()
199 pd->entry[pde] = pt; in gen6_alloc_va_range()
201 pt = pd->entry[pde]; in gen6_alloc_va_range()
209 spin_unlock(&pd->lock); in gen6_alloc_va_range()
258 struct i915_page_directory * const pd = ppgtt->base.pd; in gen6_ppgtt_free_pd() local
262 gen6_for_all_pdes(pt, pd, pde) in gen6_ppgtt_free_pd()
274 if (ppgtt->base.pd) in gen6_ppgtt_cleanup()
275 free_pd(&ppgtt->base.vm, ppgtt->base.pd); in gen6_ppgtt_cleanup()
300 struct i915_page_directory * const pd = ppgtt->base.pd; in pd_vma_unbind() local
308 gen6_for_all_pdes(pt, ppgtt->base.pd, pde) { in pd_vma_unbind()
313 pd->entry[pde] = NULL; in pd_vma_unbind()
383 struct i915_page_directory *pd; in gen6_alloc_top_pd() local
386 pd = __alloc_pd(I915_PDES); in gen6_alloc_top_pd()
387 if (unlikely(!pd)) in gen6_alloc_top_pd()
390 pd->pt.base = __i915_gem_object_create_internal(ppgtt->base.vm.gt->i915, in gen6_alloc_top_pd()
393 if (IS_ERR(pd->pt.base)) { in gen6_alloc_top_pd()
394 err = PTR_ERR(pd->pt.base); in gen6_alloc_top_pd()
395 pd->pt.base = NULL; in gen6_alloc_top_pd()
399 pd->pt.base->base.resv = i915_vm_resv_get(&ppgtt->base.vm); in gen6_alloc_top_pd()
400 pd->pt.base->shares_resv_from = &ppgtt->base.vm; in gen6_alloc_top_pd()
402 ppgtt->vma = i915_vma_instance(pd->pt.base, &ggtt->vm, NULL); in gen6_alloc_top_pd()
412 return pd; in gen6_alloc_top_pd()
415 free_pd(&ppgtt->base.vm, pd); in gen6_alloc_top_pd()
458 ppgtt->base.pd = gen6_alloc_top_pd(ppgtt); in gen6_ppgtt_create()
459 if (IS_ERR(ppgtt->base.pd)) { in gen6_ppgtt_create()
460 err = PTR_ERR(ppgtt->base.pd); in gen6_ppgtt_create()