Lines Matching refs:pt
18 /* Write pde (index) from the page directory @pd to the page table @pt */
21 const struct i915_page_table *pt)
23 dma_addr_t addr = pt ? px_dma(pt) : px_dma(ppgtt->base.vm.scratch[1]);
85 struct i915_page_table * const pt =
92 GEM_BUG_ON(count > atomic_read(&pt->used));
93 if (!atomic_sub_return(count, &pt->used))
103 vaddr = px_vaddr(pt);
153 struct i915_page_table *pt;
161 gen6_for_each_pde(pt, pd, start, end, pde)
162 gen6_write_pde(ppgtt, pde, pt);
178 struct i915_page_table *pt;
184 gen6_for_each_pde(pt, pd, start, length, pde) {
187 if (!pt) {
190 pt = stash->pt[0];
191 __i915_gem_object_pin_pages(pt->base);
193 fill32_px(pt, vm->scratch[0]->encode);
197 stash->pt[0] = pt->stash;
198 atomic_set(&pt->used, 0);
199 pd->entry[pde] = pt;
201 pt = pd->entry[pde];
207 atomic_add(count, &pt->used);
259 struct i915_page_table *pt;
262 gen6_for_all_pdes(pt, pd, pde)
263 if (pt)
264 free_pt(&ppgtt->base.vm, pt);
301 struct i915_page_table *pt;
308 gen6_for_all_pdes(pt, ppgtt->base.pd, pde) {
309 if (!pt || atomic_read(&pt->used))
312 free_pt(&ppgtt->base.vm, pt);
390 pd->pt.base = __i915_gem_object_create_internal(ppgtt->base.vm.gt->i915,
393 if (IS_ERR(pd->pt.base)) {
394 err = PTR_ERR(pd->pt.base);
395 pd->pt.base = NULL;
399 pd->pt.base->base.resv = i915_vm_resv_get(&ppgtt->base.vm);
400 pd->pt.base->shares_resv_from = &ppgtt->base.vm;
402 ppgtt->vma = i915_vma_instance(pd->pt.base, &ggtt->vm, NULL);