| /Linux-v5.15/drivers/gpu/drm/i915/gt/ |
| D | intel_ggtt.c | 45 static int ggtt_init_hw(struct i915_ggtt *ggtt) in ggtt_init_hw() argument 47 struct drm_i915_private *i915 = ggtt->vm.i915; in ggtt_init_hw() 49 i915_address_space_init(&ggtt->vm, VM_CLASS_GGTT); in ggtt_init_hw() 51 ggtt->vm.is_ggtt = true; in ggtt_init_hw() 54 ggtt->vm.has_read_only = IS_VALLEYVIEW(i915); in ggtt_init_hw() 57 ggtt->vm.mm.color_adjust = i915_ggtt_color_adjust; in ggtt_init_hw() 59 if (ggtt->mappable_end) { in ggtt_init_hw() 60 if (!io_mapping_init_wc(&ggtt->iomap, in ggtt_init_hw() 61 ggtt->gmadr.start, in ggtt_init_hw() 62 ggtt->mappable_end)) { in ggtt_init_hw() [all …]
|
| D | intel_ggtt_fencing.c | 45 return fence->ggtt->vm.i915; in fence_to_i915() 50 return fence->ggtt->vm.gt->uncore; in fence_to_uncore() 197 struct i915_ggtt *ggtt = fence->ggtt; in fence_update() local 246 list_move(&fence->link, &ggtt->fence_list); in fence_update() 270 list_move_tail(&fence->link, &ggtt->fence_list); in fence_update() 321 static struct i915_fence_reg *fence_find(struct i915_ggtt *ggtt) in fence_find() argument 326 list_for_each_entry_safe(fence, fn, &ggtt->fence_list, link) { in fence_find() 337 list_move_tail(&fence->link, &ggtt->fence_list); in fence_find() 348 if (intel_has_pending_fb_unpin(ggtt->vm.i915)) in fence_find() 356 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vma->vm); in __i915_vma_pin_fence() local [all …]
|
| D | selftest_reset.c | 22 struct i915_ggtt *ggtt = >->i915->ggtt; in __igt_reset_stolen() local 34 if (!drm_mm_node_allocated(&ggtt->error_capture)) in __igt_reset_stolen() 87 ggtt->vm.insert_page(&ggtt->vm, dma, in __igt_reset_stolen() 88 ggtt->error_capture.start, in __igt_reset_stolen() 92 s = io_mapping_map_wc(&ggtt->iomap, in __igt_reset_stolen() 93 ggtt->error_capture.start, in __igt_reset_stolen() 109 ggtt->vm.clear_range(&ggtt->vm, ggtt->error_capture.start, PAGE_SIZE); in __igt_reset_stolen() 128 ggtt->vm.insert_page(&ggtt->vm, dma, in __igt_reset_stolen() 129 ggtt->error_capture.start, in __igt_reset_stolen() 133 s = io_mapping_map_wc(&ggtt->iomap, in __igt_reset_stolen() [all …]
|
| D | intel_ggtt_fencing.h | 24 struct i915_ggtt *ggtt; member 44 struct i915_fence_reg *i915_reserve_fence(struct i915_ggtt *ggtt); 47 void intel_ggtt_restore_fences(struct i915_ggtt *ggtt); 54 void intel_ggtt_init_fences(struct i915_ggtt *ggtt); 55 void intel_ggtt_fini_fences(struct i915_ggtt *ggtt);
|
| D | intel_region_lmem.c | 18 struct i915_ggtt *ggtt = &i915->ggtt; in init_fake_lmem_bar() local 28 ret = drm_mm_reserve_node(&ggtt->vm.mm, &mem->fake_mappable); in init_fake_lmem_bar() 43 ggtt->vm.insert_page(&ggtt->vm, in init_fake_lmem_bar() 130 GEM_BUG_ON(i915_ggtt_has_aperture(&i915->ggtt)); in intel_gt_setup_fake_lmem()
|
| D | gen6_ppgtt.c | 162 gen6_ggtt_invalidate(ppgtt->base.vm.gt->ggtt); in gen6_flush_pd() 295 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); in pd_vma_bind() local 300 ppgtt->pd_addr = (gen6_pte_t __iomem *)ggtt->gsm + ggtt_offset; in pd_vma_bind() 336 struct i915_ggtt *ggtt = ppgtt->base.vm.gt->ggtt; in pd_vma_create() local 340 GEM_BUG_ON(size > ggtt->vm.total); in pd_vma_create() 350 vma->vm = i915_vm_get(&ggtt->vm); in pd_vma_create() 421 struct i915_ggtt * const ggtt = gt->ggtt; in gen6_ppgtt_create() local 443 ppgtt->base.vm.pte_encode = ggtt->vm.pte_encode; in gen6_ppgtt_create()
|
| D | intel_gtt.h | 61 #define ggtt_total_entries(ggtt) ((ggtt)->vm.total >> PAGE_SHIFT) argument 318 void (*invalidate)(struct i915_ggtt *ggtt); 527 void i915_ggtt_enable_guc(struct i915_ggtt *ggtt); 528 void i915_ggtt_disable_guc(struct i915_ggtt *ggtt); 533 static inline bool i915_ggtt_has_aperture(const struct i915_ggtt *ggtt) in i915_ggtt_has_aperture() argument 535 return ggtt->mappable_end > 0; in i915_ggtt_has_aperture() 543 void i915_ggtt_resume(struct i915_ggtt *ggtt); 590 void gen6_ggtt_invalidate(struct i915_ggtt *ggtt);
|
| D | intel_ring.c | 108 static struct i915_vma *create_ring_vma(struct i915_ggtt *ggtt, int size) in create_ring_vma() argument 110 struct i915_address_space *vm = &ggtt->vm; in create_ring_vma() 116 if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt)) in create_ring_vma() 170 vma = create_ring_vma(engine->gt->ggtt, size); in intel_engine_create_ring()
|
| /Linux-v5.15/drivers/gpu/drm/i915/selftests/ |
| D | i915_gem_evict.c | 46 static int populate_ggtt(struct i915_ggtt *ggtt, struct list_head *objects) in populate_ggtt() argument 55 obj = i915_gem_object_create_internal(ggtt->vm.i915, in populate_ggtt() 73 count, ggtt->vm.total / PAGE_SIZE); in populate_ggtt() 75 if (list_empty(&ggtt->vm.bound_list)) { in populate_ggtt() 83 static void unpin_ggtt(struct i915_ggtt *ggtt) in unpin_ggtt() argument 87 list_for_each_entry(vma, &ggtt->vm.bound_list, vm_link) in unpin_ggtt() 92 static void cleanup_objects(struct i915_ggtt *ggtt, struct list_head *list) in cleanup_objects() argument 102 i915_gem_drain_freed_objects(ggtt->vm.i915); in cleanup_objects() 108 struct i915_ggtt *ggtt = gt->ggtt; in igt_evict_something() local 114 err = populate_ggtt(ggtt, &objects); in igt_evict_something() [all …]
|
| D | mock_gtt.c | 108 void mock_init_ggtt(struct drm_i915_private *i915, struct i915_ggtt *ggtt) in mock_init_ggtt() argument 110 memset(ggtt, 0, sizeof(*ggtt)); in mock_init_ggtt() 112 ggtt->vm.gt = &i915->gt; in mock_init_ggtt() 113 ggtt->vm.i915 = i915; in mock_init_ggtt() 114 ggtt->vm.is_ggtt = true; in mock_init_ggtt() 116 ggtt->gmadr = (struct resource) DEFINE_RES_MEM(0, 2048 * PAGE_SIZE); in mock_init_ggtt() 117 ggtt->mappable_end = resource_size(&ggtt->gmadr); in mock_init_ggtt() 118 ggtt->vm.total = 4096 * PAGE_SIZE; in mock_init_ggtt() 120 ggtt->vm.alloc_pt_dma = alloc_pt_dma; in mock_init_ggtt() 122 ggtt->vm.clear_range = mock_clear_range; in mock_init_ggtt() [all …]
|
| D | i915_gem_gtt.c | 1125 struct i915_ggtt *ggtt = &i915->ggtt; in exercise_ggtt() local 1132 list_sort(NULL, &ggtt->vm.mm.hole_stack, sort_holes); in exercise_ggtt() 1133 drm_mm_for_each_hole(node, &ggtt->vm.mm, hole_start, hole_end) { in exercise_ggtt() 1137 if (ggtt->vm.mm.color_adjust) in exercise_ggtt() 1138 ggtt->vm.mm.color_adjust(node, 0, in exercise_ggtt() 1143 err = func(&ggtt->vm, hole_start, hole_end, end_time); in exercise_ggtt() 1185 struct i915_ggtt *ggtt = &i915->ggtt; in igt_ggtt_page() local 1192 if (!i915_ggtt_has_aperture(ggtt)) in igt_ggtt_page() 1204 mutex_lock(&ggtt->vm.mutex); in igt_ggtt_page() 1205 err = drm_mm_insert_node_in_range(&ggtt->vm.mm, &tmp, in igt_ggtt_page() [all …]
|
| D | i915_gem.c | 44 struct i915_ggtt *ggtt = &i915->ggtt; in trash_stolen() local 45 const u64 slot = ggtt->error_capture.start; in trash_stolen() 51 if (!i915_ggtt_has_aperture(ggtt)) in trash_stolen() 59 ggtt->vm.insert_page(&ggtt->vm, dma, slot, I915_CACHE_NONE, 0); in trash_stolen() 61 s = io_mapping_map_atomic_wc(&ggtt->iomap, slot); in trash_stolen() 69 ggtt->vm.clear_range(&ggtt->vm, slot, PAGE_SIZE); in trash_stolen() 102 i915_ggtt_suspend(&i915->ggtt); in igt_pm_suspend() 112 i915_ggtt_suspend(&i915->ggtt); in igt_pm_hibernate() 128 i915_ggtt_resume(&i915->ggtt); in igt_pm_resume()
|
| D | i915_vma.c | 150 struct i915_ggtt *ggtt = arg; in igt_vma_create() local 151 struct drm_i915_private *i915 = ggtt->vm.i915; in igt_vma_create() 257 struct i915_ggtt *ggtt = arg; in igt_vma_pin1() local 268 VALID(0, PIN_GLOBAL | PIN_OFFSET_BIAS | (ggtt->mappable_end - 4096)), in igt_vma_pin1() 269 VALID(0, PIN_GLOBAL | PIN_MAPPABLE | PIN_OFFSET_BIAS | (ggtt->mappable_end - 4096)), in igt_vma_pin1() 270 VALID(0, PIN_GLOBAL | PIN_OFFSET_BIAS | (ggtt->vm.total - 4096)), in igt_vma_pin1() 272 VALID(0, PIN_GLOBAL | PIN_MAPPABLE | PIN_OFFSET_FIXED | (ggtt->mappable_end - 4096)), in igt_vma_pin1() 273 INVALID(0, PIN_GLOBAL | PIN_MAPPABLE | PIN_OFFSET_FIXED | ggtt->mappable_end), in igt_vma_pin1() 274 VALID(0, PIN_GLOBAL | PIN_OFFSET_FIXED | (ggtt->vm.total - 4096)), in igt_vma_pin1() 275 INVALID(0, PIN_GLOBAL | PIN_OFFSET_FIXED | ggtt->vm.total), in igt_vma_pin1() [all …]
|
| D | mock_gtt.h | 31 void mock_init_ggtt(struct drm_i915_private *i915, struct i915_ggtt *ggtt); 32 void mock_fini_ggtt(struct i915_ggtt *ggtt);
|
| D | mock_gem_device.c | 72 mock_fini_ggtt(&i915->ggtt); in mock_device_release() 195 mock_init_ggtt(i915, &i915->ggtt); in mock_gem_device() 196 i915->gt.vm = i915_vm_get(&i915->ggtt.vm); in mock_gem_device()
|
| /Linux-v5.15/drivers/gpu/drm/i915/ |
| D | i915_vgpu.c | 148 static void vgt_deballoon_space(struct i915_ggtt *ggtt, in vgt_deballoon_space() argument 151 struct drm_i915_private *dev_priv = ggtt->vm.i915; in vgt_deballoon_space() 161 ggtt->vm.reserved -= node->size; in vgt_deballoon_space() 172 void intel_vgt_deballoon(struct i915_ggtt *ggtt) in intel_vgt_deballoon() argument 174 struct drm_i915_private *dev_priv = ggtt->vm.i915; in intel_vgt_deballoon() 177 if (!intel_vgpu_active(ggtt->vm.i915)) in intel_vgt_deballoon() 183 vgt_deballoon_space(ggtt, &bl_info.space[i]); in intel_vgt_deballoon() 186 static int vgt_balloon_space(struct i915_ggtt *ggtt, in vgt_balloon_space() argument 190 struct drm_i915_private *dev_priv = ggtt->vm.i915; in vgt_balloon_space() 200 ret = i915_gem_gtt_reserve(&ggtt->vm, node, in vgt_balloon_space() [all …]
|
| D | i915_gem.c | 60 insert_mappable_node(struct i915_ggtt *ggtt, struct drm_mm_node *node, u32 size) in insert_mappable_node() argument 64 err = mutex_lock_interruptible(&ggtt->vm.mutex); in insert_mappable_node() 69 err = drm_mm_insert_node_in_range(&ggtt->vm.mm, node, in insert_mappable_node() 71 0, ggtt->mappable_end, in insert_mappable_node() 74 mutex_unlock(&ggtt->vm.mutex); in insert_mappable_node() 80 remove_mappable_node(struct i915_ggtt *ggtt, struct drm_mm_node *node) in remove_mappable_node() argument 82 mutex_lock(&ggtt->vm.mutex); in remove_mappable_node() 84 mutex_unlock(&ggtt->vm.mutex); in remove_mappable_node() 91 struct i915_ggtt *ggtt = &to_i915(dev)->ggtt; in i915_gem_get_aperture_ioctl() local 96 if (mutex_lock_interruptible(&ggtt->vm.mutex)) in i915_gem_get_aperture_ioctl() [all …]
|
| D | i915_gem_gtt.c | 59 struct i915_ggtt *ggtt = &i915->ggtt; in i915_gem_gtt_finish_pages() local 62 if (unlikely(ggtt->do_idle_maps)) in i915_gem_gtt_finish_pages() 106 GEM_BUG_ON(vm == &vm->i915->ggtt.alias->vm); in i915_gem_gtt_reserve() 204 GEM_BUG_ON(vm == &vm->i915->ggtt.alias->vm); in i915_gem_gtt_insert()
|
| D | i915_vgpu.h | 39 int intel_vgt_balloon(struct i915_ggtt *ggtt); 40 void intel_vgt_deballoon(struct i915_ggtt *ggtt);
|
| /Linux-v5.15/drivers/gpu/drm/i915/gem/ |
| D | i915_gem_tiling.c | 184 struct i915_ggtt *ggtt = &to_i915(obj->base.dev)->ggtt; in i915_gem_object_fence_prepare() local 192 mutex_lock(&ggtt->vm.mutex); in i915_gem_object_fence_prepare() 196 GEM_BUG_ON(vma->vm != &ggtt->vm); in i915_gem_object_fence_prepare() 209 list_splice(&unbind, &ggtt->vm.bound_list); in i915_gem_object_fence_prepare() 214 mutex_unlock(&ggtt->vm.mutex); in i915_gem_object_fence_prepare() 339 if (!dev_priv->ggtt.num_fences) in i915_gem_set_tiling_ioctl() 365 args->swizzle_mode = to_i915(dev)->ggtt.bit_6_swizzle_x; in i915_gem_set_tiling_ioctl() 367 args->swizzle_mode = to_i915(dev)->ggtt.bit_6_swizzle_y; in i915_gem_set_tiling_ioctl() 422 if (!dev_priv->ggtt.num_fences) in i915_gem_get_tiling_ioctl() 438 args->swizzle_mode = dev_priv->ggtt.bit_6_swizzle_x; in i915_gem_get_tiling_ioctl() [all …]
|
| D | i915_gem_stolen.c | 74 struct i915_ggtt *ggtt = &i915->ggtt; in i915_adjust_stolen() local 75 struct intel_uncore *uncore = ggtt->vm.gt->uncore; in i915_adjust_stolen() 102 ggtt_total_entries(ggtt) * 4); in i915_adjust_stolen() 509 static void dbg_poison(struct i915_ggtt *ggtt, in dbg_poison() argument 514 if (!drm_mm_node_allocated(&ggtt->error_capture)) in dbg_poison() 517 if (ggtt->vm.bind_async_flags & I915_VMA_GLOBAL_BIND) in dbg_poison() 522 mutex_lock(&ggtt->error_mutex); in dbg_poison() 526 ggtt->vm.insert_page(&ggtt->vm, addr, in dbg_poison() 527 ggtt->error_capture.start, in dbg_poison() 531 s = io_mapping_map_wc(&ggtt->iomap, in dbg_poison() [all …]
|
| D | i915_gem_mman.c | 297 struct i915_ggtt *ggtt = &i915->ggtt; in vm_fault_gtt() local 329 ret = intel_gt_reset_trylock(ggtt->vm.gt, &srcu); in vm_fault_gtt() 381 (ggtt->gmadr.start + vma->node.start) >> PAGE_SHIFT, in vm_fault_gtt() 383 &ggtt->iomap); in vm_fault_gtt() 390 mutex_lock(&i915->ggtt.vm.mutex); in vm_fault_gtt() 392 list_add(&obj->userfault_link, &i915->ggtt.userfault_list); in vm_fault_gtt() 393 mutex_unlock(&i915->ggtt.vm.mutex); in vm_fault_gtt() 399 intel_wakeref_auto(&i915->ggtt.userfault_wakeref, in vm_fault_gtt() 413 intel_gt_reset_unlock(ggtt->vm.gt, srcu); in vm_fault_gtt() 514 mutex_lock(&i915->ggtt.vm.mutex); in i915_gem_object_release_mmap_gtt() [all …]
|
| /Linux-v5.15/drivers/gpu/drm/i915/gvt/ |
| D | aperture_gm.c | 64 mutex_lock(>->ggtt->vm.mutex); in alloc_gm() 66 ret = i915_gem_gtt_insert(>->ggtt->vm, node, in alloc_gm() 71 mutex_unlock(>->ggtt->vm.mutex); in alloc_gm() 101 mutex_lock(>->ggtt->vm.mutex); in alloc_vgpu_gm() 103 mutex_unlock(>->ggtt->vm.mutex); in alloc_vgpu_gm() 112 mutex_lock(>->ggtt->vm.mutex); in free_vgpu_gm() 115 mutex_unlock(>->ggtt->vm.mutex); in free_vgpu_gm() 178 mutex_lock(&gvt->gt->ggtt->vm.mutex); in free_vgpu_fence() 185 mutex_unlock(&gvt->gt->ggtt->vm.mutex); in free_vgpu_fence() 201 mutex_lock(&gvt->gt->ggtt->vm.mutex); in alloc_vgpu_fence() [all …]
|
| /Linux-v5.15/drivers/gpu/drm/i915/gt/uc/ |
| D | intel_uc_fw.c | 402 struct i915_ggtt *ggtt = __uc_fw_to_gt(uc_fw)->ggtt; in uc_fw_ggtt_offset() local 403 struct drm_mm_node *node = &ggtt->uc_fw; in uc_fw_ggtt_offset() 415 struct i915_ggtt *ggtt = __uc_fw_to_gt(uc_fw)->ggtt; in uc_fw_bind_ggtt() local 420 .vm = &ggtt->vm, in uc_fw_bind_ggtt() 424 GEM_BUG_ON(dummy.node.size > ggtt->uc_fw.size); in uc_fw_bind_ggtt() 429 ggtt->vm.insert_entries(&ggtt->vm, &dummy, I915_CACHE_NONE, 0); in uc_fw_bind_ggtt() 435 struct i915_ggtt *ggtt = __uc_fw_to_gt(uc_fw)->ggtt; in uc_fw_unbind_ggtt() local 438 ggtt->vm.clear_range(&ggtt->vm, start, obj->base.size); in uc_fw_unbind_ggtt()
|
| /Linux-v5.15/drivers/gpu/drm/i915/gem/selftests/ |
| D | i915_gem_client_blt.c | 216 swizzle = gt->ggtt->bit_6_swizzle_x; in tiled_offset() 226 swizzle = gt->ggtt->bit_6_swizzle_y; in tiled_offset() 539 struct i915_ggtt *ggtt = &i915->ggtt; in bad_swizzling() local 544 if (has_bit17_swizzle(ggtt->bit_6_swizzle_x) || in bad_swizzling() 545 has_bit17_swizzle(ggtt->bit_6_swizzle_y)) in bad_swizzling()
|