Lines Matching refs:vm
482 static void gen8_ppgtt_clear_range(struct i915_address_space *vm, in gen8_ppgtt_clear_range() argument
488 container_of(vm, struct i915_hw_ppgtt, base); in gen8_ppgtt_clear_range()
542 static void gen8_ppgtt_insert_entries(struct i915_address_space *vm, in gen8_ppgtt_insert_entries() argument
548 container_of(vm, struct i915_hw_ppgtt, base); in gen8_ppgtt_insert_entries()
652 static void gen8_ppgtt_cleanup(struct i915_address_space *vm) in gen8_ppgtt_cleanup() argument
655 container_of(vm, struct i915_hw_ppgtt, base); in gen8_ppgtt_cleanup()
862 struct i915_address_space *vm = &ppgtt->base; in gen6_dump_ppgtt() local
868 scratch_pte = vm->pte_encode(vm->scratch.addr, I915_CACHE_LLC, true, 0); in gen6_dump_ppgtt()
873 seq_printf(m, " VM %p (pd_offset %x-%x):\n", vm, in gen6_dump_ppgtt()
1094 static void gen6_ppgtt_clear_range(struct i915_address_space *vm, in gen6_ppgtt_clear_range() argument
1100 container_of(vm, struct i915_hw_ppgtt, base); in gen6_ppgtt_clear_range()
1108 scratch_pte = vm->pte_encode(vm->scratch.addr, I915_CACHE_LLC, true, 0); in gen6_ppgtt_clear_range()
1128 static void gen6_ppgtt_insert_entries(struct i915_address_space *vm, in gen6_ppgtt_insert_entries() argument
1134 container_of(vm, struct i915_hw_ppgtt, base); in gen6_ppgtt_insert_entries()
1147 vm->pte_encode(sg_page_iter_dma_address(&sg_iter), in gen6_ppgtt_insert_entries()
1171 static void gen6_initialize_pt(struct i915_address_space *vm, in gen6_initialize_pt() argument
1177 WARN_ON(vm->scratch.addr == 0); in gen6_initialize_pt()
1179 scratch_pte = vm->pte_encode(vm->scratch.addr, in gen6_initialize_pt()
1190 static int gen6_alloc_va_range(struct i915_address_space *vm, in gen6_alloc_va_range() argument
1194 struct drm_device *dev = vm->dev; in gen6_alloc_va_range()
1197 container_of(vm, struct i915_hw_ppgtt, base); in gen6_alloc_va_range()
1227 gen6_initialize_pt(vm, pt); in gen6_alloc_va_range()
1231 trace_i915_page_table_entry_alloc(vm, pde, start, GEN6_PDE_SHIFT); in gen6_alloc_va_range()
1247 trace_i915_page_table_entry_map(vm, pde, pt, in gen6_alloc_va_range()
1269 unmap_and_free_pt(pt, vm->dev); in gen6_alloc_va_range()
1291 static void gen6_ppgtt_cleanup(struct i915_address_space *vm) in gen6_ppgtt_cleanup() argument
1294 container_of(vm, struct i915_hw_ppgtt, base); in gen6_ppgtt_cleanup()
1547 vma->vm->insert_entries(vma->vm, vma->obj->pages, vma->node.start, in ppgtt_bind_vma()
1553 vma->vm->clear_range(vma->vm, in ppgtt_unbind_vma()
1660 struct i915_address_space *vm; in i915_gem_restore_gtt_mappings() local
1699 list_for_each_entry(vm, &dev_priv->vm_list, global_link) { in i915_gem_restore_gtt_mappings()
1703 container_of(vm, struct i915_hw_ppgtt, in i915_gem_restore_gtt_mappings()
1706 if (i915_is_ggtt(vm)) in i915_gem_restore_gtt_mappings()
1740 static void gen8_ggtt_insert_entries(struct i915_address_space *vm, in gen8_ggtt_insert_entries() argument
1745 struct drm_i915_private *dev_priv = vm->dev->dev_private; in gen8_ggtt_insert_entries()
1786 static void gen6_ggtt_insert_entries(struct i915_address_space *vm, in gen6_ggtt_insert_entries() argument
1791 struct drm_i915_private *dev_priv = vm->dev->dev_private; in gen6_ggtt_insert_entries()
1801 iowrite32(vm->pte_encode(addr, level, true, flags), >t_entries[i]); in gen6_ggtt_insert_entries()
1813 WARN_ON(gtt != vm->pte_encode(addr, level, true, flags)); in gen6_ggtt_insert_entries()
1824 static void gen8_ggtt_clear_range(struct i915_address_space *vm, in gen8_ggtt_clear_range() argument
1829 struct drm_i915_private *dev_priv = vm->dev->dev_private; in gen8_ggtt_clear_range()
1842 scratch_pte = gen8_pte_encode(vm->scratch.addr, in gen8_ggtt_clear_range()
1850 static void gen6_ggtt_clear_range(struct i915_address_space *vm, in gen6_ggtt_clear_range() argument
1855 struct drm_i915_private *dev_priv = vm->dev->dev_private; in gen6_ggtt_clear_range()
1868 scratch_pte = vm->pte_encode(vm->scratch.addr, I915_CACHE_LLC, use_scratch, 0); in gen6_ggtt_clear_range()
1884 BUG_ON(!i915_is_ggtt(vma->vm)); in i915_ggtt_bind_vma()
1889 static void i915_ggtt_clear_range(struct i915_address_space *vm, in i915_ggtt_clear_range() argument
1904 BUG_ON(!i915_is_ggtt(vma->vm)); in i915_ggtt_unbind_vma()
1913 struct drm_device *dev = vma->vm->dev; in ggtt_bind_vma()
1922 if (i915_is_ggtt(vma->vm)) in ggtt_bind_vma()
1939 vma->vm->insert_entries(vma->vm, pages, in ggtt_bind_vma()
1959 struct drm_device *dev = vma->vm->dev; in ggtt_unbind_vma()
1964 vma->vm->clear_range(vma->vm, in ggtt_unbind_vma()
2112 struct i915_address_space *vm = &dev_priv->gtt.base; in i915_global_gtt_cleanup() local
2120 if (drm_mm_initialized(&vm->mm)) { in i915_global_gtt_cleanup()
2124 drm_mm_takedown(&vm->mm); in i915_global_gtt_cleanup()
2125 list_del(&vm->global_link); in i915_global_gtt_cleanup()
2128 vm->cleanup(vm); in i915_global_gtt_cleanup()
2431 static void gen6_gmch_remove(struct i915_address_space *vm) in gen6_gmch_remove() argument
2434 struct i915_gtt *gtt = container_of(vm, struct i915_gtt, base); in gen6_gmch_remove()
2437 teardown_scratch_page(vm->dev); in gen6_gmch_remove()
2466 static void i915_gmch_remove(struct i915_address_space *vm) in i915_gmch_remove() argument
2528 struct i915_address_space *vm, in __i915_gem_vma_create() argument
2533 if (WARN_ON(i915_is_ggtt(vm) != !!ggtt_view)) in __i915_gem_vma_create()
2542 vma->vm = vm; in __i915_gem_vma_create()
2545 if (INTEL_INFO(vm->dev)->gen >= 6) { in __i915_gem_vma_create()
2546 if (i915_is_ggtt(vm)) { in __i915_gem_vma_create()
2556 BUG_ON(!i915_is_ggtt(vm)); in __i915_gem_vma_create()
2563 if (!i915_is_ggtt(vm)) in __i915_gem_vma_create()
2564 i915_ppgtt_get(i915_vm_to_ppgtt(vm)); in __i915_gem_vma_create()
2571 struct i915_address_space *vm) in i915_gem_obj_lookup_or_create_vma() argument
2575 vma = i915_gem_obj_to_vma(obj, vm); in i915_gem_obj_lookup_or_create_vma()
2577 vma = __i915_gem_vma_create(obj, vm, in i915_gem_obj_lookup_or_create_vma()
2578 i915_is_ggtt(vm) ? &i915_ggtt_view_normal : NULL); in i915_gem_obj_lookup_or_create_vma()
2749 if (i915_is_ggtt(vma->vm)) { in i915_vma_bind()