| /Linux-v5.4/drivers/gpu/drm/i915/selftests/ |
| D | mock_gtt.c | 97 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 …]
|
| D | i915_gem_evict.c | 73 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 …]
|
| D | i915_gem_gtt.c | 1082 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 …]
|
| D | i915_vma.c | 147 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 …]
|
| D | i915_gem.c | 39 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()
|
| D | mock_gtt.h | 28 void mock_init_ggtt(struct drm_i915_private *i915, struct i915_ggtt *ggtt); 29 void mock_fini_ggtt(struct i915_ggtt *ggtt);
|
| D | mock_gem_device.c | 77 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/ |
| D | i915_vgpu.c | 120 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 …]
|
| D | i915_gem_gtt.c | 121 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 …]
|
| D | i915_gem_fence_reg.c | 258 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 …]
|
| D | i915_gem.c | 65 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 …]
|
| D | i915_vgpu.h | 46 int intel_vgt_balloon(struct i915_ggtt *ggtt); 47 void intel_vgt_deballoon(struct i915_ggtt *ggtt);
|
| D | i915_gem_gtt.h | 76 #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);
|
| D | i915_gpu_error.c | 961 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()
|
| D | i915_gem_fence_reg.h | 68 void i915_ggtt_init_fences(struct i915_ggtt *ggtt);
|
| /Linux-v5.4/drivers/gpu/drm/i915/gem/ |
| D | i915_gem_mman.c | 225 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 …]
|
| D | i915_gem_stolen.c | 69 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()
|
| D | i915_gem_shrinker.c | 441 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()
|
| D | i915_gem_domain.c | 249 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/ |
| D | intel_uc_fw.c | 399 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/ |
| D | aperture_gm.c | 66 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()
|
| D | gvt.h | 380 #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/ |
| D | intel_gt.c | 29 i915->gt.ggtt = &i915->ggtt; in intel_gt_init_hw() 240 vma = i915_vma_instance(obj, >->ggtt->vm, NULL); in intel_gt_init_scratch()
|
| D | intel_gt_types.h | 39 struct i915_ggtt *ggtt; member
|
| /Linux-v5.4/drivers/gpu/drm/i915/display/ |
| D | intel_fbdev.c | 172 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()
|