Home
last modified time | relevance | path

Searched refs:ggtt (Results 1 – 25 of 54) sorted by relevance

123

/Linux-v5.4/drivers/gpu/drm/i915/selftests/
Dmock_gtt.c97 void mock_init_ggtt(struct drm_i915_private *i915, struct i915_ggtt *ggtt) in mock_init_ggtt() argument
99 memset(ggtt, 0, sizeof(*ggtt)); in mock_init_ggtt()
101 ggtt->vm.gt = &i915->gt; in mock_init_ggtt()
102 ggtt->vm.i915 = i915; in mock_init_ggtt()
103 ggtt->vm.is_ggtt = true; in mock_init_ggtt()
105 ggtt->gmadr = (struct resource) DEFINE_RES_MEM(0, 2048 * PAGE_SIZE); in mock_init_ggtt()
106 ggtt->mappable_end = resource_size(&ggtt->gmadr); in mock_init_ggtt()
107 ggtt->vm.total = 4096 * PAGE_SIZE; in mock_init_ggtt()
109 ggtt->vm.clear_range = nop_clear_range; in mock_init_ggtt()
110 ggtt->vm.insert_page = mock_insert_page; in mock_init_ggtt()
[all …]
Di915_gem_evict.c73 count, i915->ggtt.vm.total / PAGE_SIZE); in populate_ggtt()
99 if (list_empty(&i915->ggtt.vm.bound_list)) { in populate_ggtt()
109 struct i915_ggtt *ggtt = &i915->ggtt; in unpin_ggtt() local
112 mutex_lock(&ggtt->vm.mutex); in unpin_ggtt()
113 list_for_each_entry(vma, &i915->ggtt.vm.bound_list, vm_link) in unpin_ggtt()
116 mutex_unlock(&ggtt->vm.mutex); in unpin_ggtt()
140 struct i915_ggtt *ggtt = &i915->ggtt; in igt_evict_something() local
151 err = i915_gem_evict_something(&ggtt->vm, in igt_evict_something()
164 err = i915_gem_evict_something(&ggtt->vm, in igt_evict_something()
218 struct i915_ggtt *ggtt = &i915->ggtt; in igt_evict_for_vma() local
[all …]
Di915_gem_gtt.c1082 struct i915_ggtt *ggtt = &i915->ggtt; in exercise_ggtt() local
1090 list_sort(NULL, &ggtt->vm.mm.hole_stack, sort_holes); in exercise_ggtt()
1091 drm_mm_for_each_hole(node, &ggtt->vm.mm, hole_start, hole_end) { in exercise_ggtt()
1095 if (ggtt->vm.mm.color_adjust) in exercise_ggtt()
1096 ggtt->vm.mm.color_adjust(node, 0, in exercise_ggtt()
1101 err = func(i915, &ggtt->vm, hole_start, hole_end, end_time); in exercise_ggtt()
1144 struct i915_ggtt *ggtt = &i915->ggtt; in igt_ggtt_page() local
1164 err = drm_mm_insert_node_in_range(&ggtt->vm.mm, &tmp, in igt_ggtt_page()
1167 0, ggtt->mappable_end, in igt_ggtt_page()
1177 ggtt->vm.insert_page(&ggtt->vm, in igt_ggtt_page()
[all …]
Di915_vma.c147 struct i915_ggtt *ggtt = arg; in igt_vma_create() local
148 struct drm_i915_private *i915 = ggtt->vm.i915; in igt_vma_create()
254 struct i915_ggtt *ggtt = arg; in igt_vma_pin1() local
265 VALID(0, PIN_GLOBAL | PIN_OFFSET_BIAS | (ggtt->mappable_end - 4096)), in igt_vma_pin1()
266 VALID(0, PIN_GLOBAL | PIN_MAPPABLE | PIN_OFFSET_BIAS | (ggtt->mappable_end - 4096)), in igt_vma_pin1()
267 VALID(0, PIN_GLOBAL | PIN_OFFSET_BIAS | (ggtt->vm.total - 4096)), in igt_vma_pin1()
269 VALID(0, PIN_GLOBAL | PIN_MAPPABLE | PIN_OFFSET_FIXED | (ggtt->mappable_end - 4096)), in igt_vma_pin1()
270 INVALID(0, PIN_GLOBAL | PIN_MAPPABLE | PIN_OFFSET_FIXED | ggtt->mappable_end), in igt_vma_pin1()
271 VALID(0, PIN_GLOBAL | PIN_OFFSET_FIXED | (ggtt->vm.total - 4096)), in igt_vma_pin1()
272 INVALID(0, PIN_GLOBAL | PIN_OFFSET_FIXED | ggtt->vm.total), in igt_vma_pin1()
[all …]
Di915_gem.c39 struct i915_ggtt *ggtt = &i915->ggtt; in trash_stolen() local
40 const u64 slot = ggtt->error_capture.start; in trash_stolen()
50 ggtt->vm.insert_page(&ggtt->vm, dma, slot, I915_CACHE_NONE, 0); in trash_stolen()
52 s = io_mapping_map_atomic_wc(&ggtt->iomap, slot); in trash_stolen()
60 ggtt->vm.clear_range(&ggtt->vm, slot, PAGE_SIZE); in trash_stolen()
Dmock_gtt.h28 void mock_init_ggtt(struct drm_i915_private *i915, struct i915_ggtt *ggtt);
29 void mock_fini_ggtt(struct i915_ggtt *ggtt);
Dmock_gem_device.c77 mock_fini_ggtt(&i915->ggtt); in mock_device_release()
201 mock_init_ggtt(i915, &i915->ggtt); in mock_gem_device()
/Linux-v5.4/drivers/gpu/drm/i915/
Di915_vgpu.c120 static void vgt_deballoon_space(struct i915_ggtt *ggtt, in vgt_deballoon_space() argument
131 ggtt->vm.reserved -= node->size; in vgt_deballoon_space()
142 void intel_vgt_deballoon(struct i915_ggtt *ggtt) in intel_vgt_deballoon() argument
146 if (!intel_vgpu_active(ggtt->vm.i915)) in intel_vgt_deballoon()
152 vgt_deballoon_space(ggtt, &bl_info.space[i]); in intel_vgt_deballoon()
155 static int vgt_balloon_space(struct i915_ggtt *ggtt, in vgt_balloon_space() argument
167 ret = i915_gem_gtt_reserve(&ggtt->vm, node, in vgt_balloon_space()
171 ggtt->vm.reserved += size; in vgt_balloon_space()
220 int intel_vgt_balloon(struct i915_ggtt *ggtt) in intel_vgt_balloon() argument
222 struct intel_uncore *uncore = &ggtt->vm.i915->uncore; in intel_vgt_balloon()
[all …]
Di915_gem_gtt.c121 static void gen6_ggtt_invalidate(struct i915_ggtt *ggtt) in gen6_ggtt_invalidate() argument
123 struct intel_uncore *uncore = ggtt->vm.gt->uncore; in gen6_ggtt_invalidate()
132 static void guc_ggtt_invalidate(struct i915_ggtt *ggtt) in guc_ggtt_invalidate() argument
134 struct intel_uncore *uncore = ggtt->vm.gt->uncore; in guc_ggtt_invalidate()
136 gen6_ggtt_invalidate(ggtt); in guc_ggtt_invalidate()
140 static void gmch_ggtt_invalidate(struct i915_ggtt *ggtt) in gmch_ggtt_invalidate() argument
1734 gen6_ggtt_invalidate(vm->gt->ggtt); in gen6_alloc_va_range()
1818 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vma->vm); in pd_vma_bind() local
1825 ppgtt->pd_addr = (gen6_pte_t __iomem *)ggtt->gsm + ggtt_offset; in pd_vma_bind()
1831 gen6_ggtt_invalidate(ggtt); in pd_vma_bind()
[all …]
Di915_gem_fence_reg.c258 list_move(&fence->link, &fence->i915->ggtt.fence_list); in fence_update()
282 list_move_tail(&fence->link, &fence->i915->ggtt.fence_list); in fence_update()
318 list_for_each_entry(fence, &i915->ggtt.fence_list, link) { in fence_find()
336 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vma->vm); in __i915_vma_pin_fence() local
347 list_move_tail(&fence->link, &ggtt->fence_list); in __i915_vma_pin_fence()
425 struct i915_ggtt *ggtt = &i915->ggtt; in i915_reserve_fence() local
430 lockdep_assert_held(&ggtt->vm.mutex); in i915_reserve_fence()
434 list_for_each_entry(fence, &ggtt->fence_list, link) in i915_reserve_fence()
463 struct i915_ggtt *ggtt = &fence->i915->ggtt; in i915_unreserve_fence() local
465 lockdep_assert_held(&ggtt->vm.mutex); in i915_unreserve_fence()
[all …]
Di915_gem.c65 insert_mappable_node(struct i915_ggtt *ggtt, in insert_mappable_node() argument
69 return drm_mm_insert_node_in_range(&ggtt->vm.mm, node, in insert_mappable_node()
71 0, ggtt->mappable_end, in insert_mappable_node()
85 struct i915_ggtt *ggtt = &to_i915(dev)->ggtt; in i915_gem_get_aperture_ioctl() local
90 mutex_lock(&ggtt->vm.mutex); in i915_gem_get_aperture_ioctl()
92 pinned = ggtt->vm.reserved; in i915_gem_get_aperture_ioctl()
93 list_for_each_entry(vma, &ggtt->vm.bound_list, vm_link) in i915_gem_get_aperture_ioctl()
97 mutex_unlock(&ggtt->vm.mutex); in i915_gem_get_aperture_ioctl()
99 args->aper_size = ggtt->vm.total; in i915_gem_get_aperture_ioctl()
332 struct i915_ggtt *ggtt = &i915->ggtt; in i915_gem_gtt_pread() local
[all …]
Di915_vgpu.h46 int intel_vgt_balloon(struct i915_ggtt *ggtt);
47 void intel_vgt_deballoon(struct i915_ggtt *ggtt);
Di915_gem_gtt.h76 #define ggtt_total_entries(ggtt) ((ggtt)->vm.total >> PAGE_SHIFT) argument
395 void (*invalidate)(struct i915_ggtt *ggtt);
557 void i915_ggtt_enable_guc(struct i915_ggtt *ggtt);
558 void i915_ggtt_disable_guc(struct i915_ggtt *ggtt);
Di915_gpu_error.c961 struct i915_ggtt *ggtt = &i915->ggtt; in i915_error_object_create() local
962 const u64 slot = ggtt->error_capture.start; in i915_error_object_create()
995 ggtt->vm.insert_page(&ggtt->vm, dma, slot, I915_CACHE_NONE, 0); in i915_error_object_create()
997 s = io_mapping_map_wc(&ggtt->iomap, slot, PAGE_SIZE); in i915_error_object_create()
1045 for (i = 0; i < dev_priv->ggtt.num_fences; i++) in gem_record_fences()
1050 for (i = 0; i < dev_priv->ggtt.num_fences; i++) in gem_record_fences()
1055 for (i = 0; i < dev_priv->ggtt.num_fences; i++) in gem_record_fences()
1666 struct i915_ggtt *ggtt = &error->i915->ggtt; in capture_finish() local
1667 const u64 slot = ggtt->error_capture.start; in capture_finish()
1669 ggtt->vm.clear_range(&ggtt->vm, slot, PAGE_SIZE); in capture_finish()
Di915_gem_fence_reg.h68 void i915_ggtt_init_fences(struct i915_ggtt *ggtt);
/Linux-v5.4/drivers/gpu/drm/i915/gem/
Di915_gem_mman.c225 struct i915_ggtt *ggtt = &i915->ggtt; in i915_gem_fault() local
248 ret = intel_gt_reset_trylock(ggtt->vm.gt, &srcu); in i915_gem_fault()
301 (ggtt->gmadr.start + vma->node.start) >> PAGE_SHIFT, in i915_gem_fault()
303 &ggtt->iomap); in i915_gem_fault()
310 mutex_lock(&i915->ggtt.vm.mutex); in i915_gem_fault()
312 list_add(&obj->userfault_link, &i915->ggtt.userfault_list); in i915_gem_fault()
313 mutex_unlock(&i915->ggtt.vm.mutex); in i915_gem_fault()
316 intel_wakeref_auto(&i915->ggtt.userfault_wakeref, in i915_gem_fault()
332 intel_gt_reset_unlock(ggtt->vm.gt, srcu); in i915_gem_fault()
345 if (!intel_gt_is_wedged(ggtt->vm.gt)) in i915_gem_fault()
[all …]
Di915_gem_stolen.c69 struct i915_ggtt *ggtt = &dev_priv->ggtt; in i915_adjust_stolen() local
96 ggtt_total_entries(ggtt) * 4); in i915_adjust_stolen()
615 struct i915_ggtt *ggtt = &dev_priv->ggtt; in i915_gem_object_create_stolen_for_preallocated() local
666 vma = i915_vma_instance(obj, &ggtt->vm, NULL); in i915_gem_object_create_stolen_for_preallocated()
677 ret = i915_gem_gtt_reserve(&ggtt->vm, &vma->node, in i915_gem_object_create_stolen_for_preallocated()
691 mutex_lock(&ggtt->vm.mutex); in i915_gem_object_create_stolen_for_preallocated()
692 list_move_tail(&vma->vm_link, &ggtt->vm.bound_list); in i915_gem_object_create_stolen_for_preallocated()
693 mutex_unlock(&ggtt->vm.mutex); in i915_gem_object_create_stolen_for_preallocated()
Di915_gem_shrinker.c441 mutex_lock(&i915->ggtt.vm.mutex); in i915_gem_shrinker_vmap()
443 &i915->ggtt.vm.bound_list, vm_link) { in i915_gem_shrinker_vmap()
449 mutex_unlock(&i915->ggtt.vm.mutex); in i915_gem_shrinker_vmap()
452 mutex_lock(&i915->ggtt.vm.mutex); in i915_gem_shrinker_vmap()
454 mutex_unlock(&i915->ggtt.vm.mutex); in i915_gem_shrinker_vmap()
Di915_gem_domain.c249 ret = mutex_lock_interruptible(&i915->ggtt.vm.mutex); in i915_gem_object_set_cache_level()
272 mutex_unlock(&i915->ggtt.vm.mutex); in i915_gem_object_set_cache_level()
489 mutex_lock(&i915->ggtt.vm.mutex); in i915_gem_object_bump_inactive_ggtt()
496 mutex_unlock(&i915->ggtt.vm.mutex); in i915_gem_object_bump_inactive_ggtt()
/Linux-v5.4/drivers/gpu/drm/i915/gt/uc/
Dintel_uc_fw.c399 static u32 uc_fw_ggtt_offset(struct intel_uc_fw *uc_fw, struct i915_ggtt *ggtt) in uc_fw_ggtt_offset() argument
401 struct drm_mm_node *node = &ggtt->uc_fw; in uc_fw_ggtt_offset()
414 struct i915_ggtt *ggtt = gt->ggtt; in intel_uc_fw_ggtt_bind() local
416 .node.start = uc_fw_ggtt_offset(uc_fw, ggtt), in intel_uc_fw_ggtt_bind()
419 .vm = &ggtt->vm, in intel_uc_fw_ggtt_bind()
423 GEM_BUG_ON(dummy.node.size > ggtt->uc_fw.size); in intel_uc_fw_ggtt_bind()
428 ggtt->vm.insert_entries(&ggtt->vm, &dummy, I915_CACHE_NONE, 0); in intel_uc_fw_ggtt_bind()
435 struct i915_ggtt *ggtt = gt->ggtt; in intel_uc_fw_ggtt_unbind() local
436 u64 start = uc_fw_ggtt_offset(uc_fw, ggtt); in intel_uc_fw_ggtt_unbind()
438 ggtt->vm.clear_range(&ggtt->vm, start, obj->base.size); in intel_uc_fw_ggtt_unbind()
[all …]
/Linux-v5.4/drivers/gpu/drm/i915/gvt/
Daperture_gm.c66 ret = i915_gem_gtt_insert(&dev_priv->ggtt.vm, node, in alloc_gm()
175 mutex_lock(&dev_priv->ggtt.vm.mutex); in free_vgpu_fence()
182 mutex_unlock(&dev_priv->ggtt.vm.mutex); in free_vgpu_fence()
198 mutex_lock(&dev_priv->ggtt.vm.mutex); in alloc_vgpu_fence()
210 mutex_unlock(&dev_priv->ggtt.vm.mutex); in alloc_vgpu_fence()
223 mutex_unlock(&dev_priv->ggtt.vm.mutex); in alloc_vgpu_fence()
Dgvt.h380 #define gvt_aperture_sz(gvt) (gvt->dev_priv->ggtt.mappable_end)
381 #define gvt_aperture_pa_base(gvt) (gvt->dev_priv->ggtt.gmadr.start)
383 #define gvt_ggtt_gm_sz(gvt) (gvt->dev_priv->ggtt.vm.total)
385 ((gvt->dev_priv->ggtt.vm.total >> PAGE_SHIFT) << 3)
397 #define gvt_fence_sz(gvt) ((gvt)->dev_priv->ggtt.num_fences)
/Linux-v5.4/drivers/gpu/drm/i915/gt/
Dintel_gt.c29 i915->gt.ggtt = &i915->ggtt; in intel_gt_init_hw()
240 vma = i915_vma_instance(obj, &gt->ggtt->vm, NULL); in intel_gt_init_scratch()
Dintel_gt_types.h39 struct i915_ggtt *ggtt; member
/Linux-v5.4/drivers/gpu/drm/i915/display/
Dintel_fbdev.c172 struct i915_ggtt *ggtt = &dev_priv->ggtt; in intelfb_create() local
235 info->apertures->ranges[0].base = ggtt->gmadr.start; in intelfb_create()
236 info->apertures->ranges[0].size = ggtt->mappable_end; in intelfb_create()
240 (unsigned long)(ggtt->gmadr.start + vma->node.start); in intelfb_create()

123