Lines Matching defs:ggtt
73 insert_mappable_node(struct i915_ggtt *ggtt, struct drm_mm_node *node, u32 size)
77 err = mutex_lock_interruptible(&ggtt->vm.mutex);
82 err = drm_mm_insert_node_in_range(&ggtt->vm.mm, node,
84 0, ggtt->mappable_end,
87 mutex_unlock(&ggtt->vm.mutex);
93 remove_mappable_node(struct i915_ggtt *ggtt, struct drm_mm_node *node)
95 mutex_lock(&ggtt->vm.mutex);
97 mutex_unlock(&ggtt->vm.mutex);
104 struct i915_ggtt *ggtt = &to_i915(dev)->ggtt;
109 if (mutex_lock_interruptible(&ggtt->vm.mutex))
112 pinned = ggtt->vm.reserved;
113 list_for_each_entry(vma, &ggtt->vm.bound_list, vm_link)
117 mutex_unlock(&ggtt->vm.mutex);
119 args->aper_size = ggtt->vm.total;
424 struct i915_ggtt *ggtt = &i915->ggtt;
444 ret = insert_mappable_node(ggtt, &node, PAGE_SIZE);
483 ggtt->vm.insert_page(&ggtt->vm,
490 if (gtt_user_read(&ggtt->iomap, page_base, page_offset,
504 ggtt->vm.clear_range(&ggtt->vm, node.start, node.size);
505 remove_mappable_node(ggtt, &node);
611 struct i915_ggtt *ggtt = &i915->ggtt;
627 * using the cache bypass of indirect GGTT access.
633 /* No backing pages, no fallback, we must force GGTT access */
647 ret = insert_mappable_node(ggtt, &node, PAGE_SIZE);
687 /* flush the write before we modify the GGTT */
688 intel_gt_flush_ggtt_writes(ggtt->vm.gt);
689 ggtt->vm.insert_page(&ggtt->vm,
692 wmb(); /* flush modifications to the GGTT (insert_page) */
702 if (ggtt_write(&ggtt->iomap, page_base, page_offset,
713 intel_gt_flush_ggtt_writes(ggtt->vm.gt);
719 ggtt->vm.clear_range(&ggtt->vm, node.start, node.size);
720 remove_mappable_node(ggtt, &node);
940 &i915->ggtt.userfault_list, userfault_link)
948 for (i = 0; i < i915->ggtt.num_fences; i++) {
949 struct i915_fence_reg *reg = &i915->ggtt.fence_regs[i];
979 struct i915_ggtt *ggtt = &i915->ggtt;
996 if (obj->base.size > ggtt->mappable_end)
1016 obj->base.size > ggtt->mappable_end / 2)
1020 vma = i915_vma_instance(obj, &ggtt->vm, view);
1030 vma->fence_size > ggtt->mappable_end / 2)
1040 mutex_lock(&ggtt->vm.mutex);
1042 mutex_unlock(&ggtt->vm.mutex);
1196 i915_gem_restore_fences(&dev_priv->ggtt);
1218 intel_wakeref_auto_fini(&dev_priv->ggtt.userfault_wakeref);