Home
last modified time | relevance | path

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

1234

/linux-6.15/drivers/gpu/drm/xe/
H A Dxe_ggtt.c132 xe_tile_assert(ggtt->tile, addr < ggtt->size); in xe_ggtt_set_pte()
152 scratch_pte = ggtt->pt_ops->pte_encode_bo(ggtt->scratch, 0, in xe_ggtt_clear()
158 ggtt->pt_ops->ggtt_set_pte(ggtt, start, scratch_pte); in xe_ggtt_clear()
232 ggtt->gsm = ggtt->tile->mmio.regs + SZ_8M; in xe_ggtt_init_early()
242 ggtt->pt_ops = (ggtt->tile->media_gt && in xe_ggtt_init_early()
288 struct xe_ggtt *ggtt = node->ggtt; in ggtt_node_remove() local
338 ggtt = node->ggtt; in xe_ggtt_node_remove()
443 struct xe_ggtt *ggtt = node->ggtt; in xe_ggtt_node_insert_balloon() local
557 node->ggtt = ggtt; in xe_ggtt_node_init()
608 ggtt->pt_ops->ggtt_set_pte(ggtt, start + offset, pte); in xe_ggtt_map_bo()
[all …]
H A Dxe_ggtt.h13 int xe_ggtt_init_early(struct xe_ggtt *ggtt);
14 int xe_ggtt_init(struct xe_ggtt *ggtt);
16 struct xe_ggtt_node *xe_ggtt_node_init(struct xe_ggtt *ggtt);
27 void xe_ggtt_map_bo(struct xe_ggtt *ggtt, struct xe_bo *bo);
28 int xe_ggtt_insert_bo(struct xe_ggtt *ggtt, struct xe_bo *bo);
29 int xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo,
31 void xe_ggtt_remove_bo(struct xe_ggtt *ggtt, struct xe_bo *bo);
32 u64 xe_ggtt_largest_hole(struct xe_ggtt *ggtt, u64 alignment, u64 *spare);
34 int xe_ggtt_dump(struct xe_ggtt *ggtt, struct drm_printer *p);
35 u64 xe_ggtt_print_holes(struct xe_ggtt *ggtt, u64 alignment, struct drm_printer *p);
H A Dxe_tile.c92 tile->mem.ggtt = drmm_kzalloc(drm, sizeof(*tile->mem.ggtt), in xe_tile_alloc()
94 if (!tile->mem.ggtt) in xe_tile_alloc()
96 tile->mem.ggtt->tile = tile; in xe_tile_alloc()
/linux-6.15/drivers/gpu/drm/i915/gt/
H A Dintel_ggtt.c73 ggtt->vm.cleanup(&ggtt->vm); in ggtt_init_hw()
185 ggtt->invalidate(ggtt); in i915_ggtt_suspend()
450 ggtt->invalidate(ggtt); in gen8_ggtt_insert_page()
463 return ggtt->invalidate(ggtt); in gen8_ggtt_insert_page_bind()
504 ggtt->invalidate(ggtt); in gen8_ggtt_insert_entries()
546 return ggtt->invalidate(ggtt); in gen8_ggtt_insert_entries_bind()
588 return ggtt->invalidate(ggtt); in gen8_ggtt_scratch_range_bind()
605 ggtt->invalidate(ggtt); in gen6_ggtt_insert_page()
644 ggtt->invalidate(ggtt); in gen6_ggtt_insert_entries()
1065 ggtt->vm.cleanup(&ggtt->vm); in ggtt_cleanup_hw()
[all …]
H A Dintel_ggtt_gmch.c79 struct drm_i915_private *i915 = ggtt->vm.i915; in intel_ggtt_gmch_probe()
89 intel_gmch_gtt_get(&ggtt->vm.total, &gmadr_base, &ggtt->mappable_end); in intel_ggtt_gmch_probe()
91 ggtt->gmadr = DEFINE_RES_MEM(gmadr_base, ggtt->mappable_end); in intel_ggtt_gmch_probe()
93 ggtt->vm.alloc_pt_dma = alloc_pt_dma; in intel_ggtt_gmch_probe()
94 ggtt->vm.alloc_scratch_dma = alloc_pt_dma; in intel_ggtt_gmch_probe()
99 ggtt->do_idle_maps = true; in intel_ggtt_gmch_probe()
102 ggtt->vm.insert_page = gmch_ggtt_insert_page; in intel_ggtt_gmch_probe()
104 ggtt->vm.clear_range = gmch_ggtt_clear_range; in intel_ggtt_gmch_probe()
106 ggtt->vm.cleanup = gmch_ggtt_remove; in intel_ggtt_gmch_probe()
108 ggtt->invalidate = gmch_ggtt_invalidate; in intel_ggtt_gmch_probe()
[all …]
H A Dintel_ggtt_fencing.c51 return fence->ggtt->vm.i915; in fence_to_i915()
56 return fence->ggtt->vm.gt->uncore; in fence_to_uncore()
203 struct i915_ggtt *ggtt = fence->ggtt; in fence_update() local
382 fence = fence_find(ggtt); in __i915_vma_pin_fence()
470 fence = fence_find(ggtt); in i915_reserve_fence()
494 struct i915_ggtt *ggtt = fence->ggtt; in i915_unreserve_fence() local
849 detect_bit_6_swizzle(ggtt); in intel_ggtt_init_fences()
869 if (!ggtt->fence_regs) in intel_ggtt_init_fences()
877 fence->ggtt = ggtt; in intel_ggtt_init_fences()
881 ggtt->num_fences = num_fences; in intel_ggtt_init_fences()
[all …]
H A Dselftest_reset.c22 struct i915_ggtt *ggtt = gt->ggtt; in __igt_reset_stolen() local
87 ggtt->vm.insert_page(&ggtt->vm, dma, in __igt_reset_stolen()
88 ggtt->error_capture.start, in __igt_reset_stolen()
94 s = io_mapping_map_wc(&ggtt->iomap, in __igt_reset_stolen()
95 ggtt->error_capture.start, in __igt_reset_stolen()
111 ggtt->vm.clear_range(&ggtt->vm, ggtt->error_capture.start, PAGE_SIZE); in __igt_reset_stolen()
130 ggtt->vm.insert_page(&ggtt->vm, dma, in __igt_reset_stolen()
131 ggtt->error_capture.start, in __igt_reset_stolen()
137 s = io_mapping_map_wc(&ggtt->iomap, in __igt_reset_stolen()
138 ggtt->error_capture.start, in __igt_reset_stolen()
[all …]
H A Dintel_ggtt_fencing.h24 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);
H A Dgen6_ppgtt.c166 gen6_ggtt_invalidate(ppgtt->base.vm.gt->ggtt); in gen6_flush_pd()
286 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); in pd_vma_bind() local
291 ppgtt->pd_addr = (gen6_pte_t __iomem *)ggtt->gsm + ggtt_offset; in pd_vma_bind()
382 struct i915_ggtt * const ggtt = ppgtt->base.vm.gt->ggtt; in gen6_alloc_top_pd() local
402 ppgtt->vma = i915_vma_instance(pd->pt.base, &ggtt->vm, NULL); in gen6_alloc_top_pd()
430 struct i915_ggtt * const ggtt = gt->ggtt; in gen6_ppgtt_create() local
452 ppgtt->base.vm.pte_encode = ggtt->vm.pte_encode; in gen6_ppgtt_create()
H A Dintel_ggtt_gmch.h16 int intel_ggtt_gmch_probe(struct i915_ggtt *ggtt);
23 static inline int intel_ggtt_gmch_probe(struct i915_ggtt *ggtt) { return -ENODEV; } in intel_ggtt_gmch_probe() argument
/linux-6.15/drivers/gpu/drm/i915/selftests/
H A Di915_gem_evict.c110 struct i915_ggtt *ggtt = gt->ggtt; in igt_evict_something() local
133 unpin_ggtt(ggtt); in igt_evict_something()
156 struct i915_ggtt *ggtt = gt->ggtt; in igt_overcommit() local
193 struct i915_ggtt *ggtt = gt->ggtt; in igt_evict_for_vma() local
217 unpin_ggtt(ggtt); in igt_evict_for_vma()
244 struct i915_ggtt *ggtt = gt->ggtt; in igt_evict_for_cache_color() local
326 unpin_ggtt(ggtt); in igt_evict_for_cache_color()
335 struct i915_ggtt *ggtt = gt->ggtt; in igt_evict_vm() local
356 unpin_ggtt(ggtt); in igt_evict_vm()
379 struct i915_ggtt *ggtt = gt->ggtt; in igt_evict_contexts() local
[all …]
H A Dmock_gtt.c109 struct i915_ggtt *ggtt = gt->ggtt; in mock_init_ggtt() local
111 ggtt->vm.gt = gt; in mock_init_ggtt()
112 ggtt->vm.i915 = gt->i915; in mock_init_ggtt()
113 ggtt->vm.is_ggtt = true; in mock_init_ggtt()
116 ggtt->mappable_end = resource_size(&ggtt->gmadr); in mock_init_ggtt()
117 ggtt->vm.total = 4096 * PAGE_SIZE; in mock_init_ggtt()
119 ggtt->vm.alloc_pt_dma = alloc_pt_dma; in mock_init_ggtt()
122 ggtt->vm.clear_range = mock_clear_range; in mock_init_ggtt()
123 ggtt->vm.insert_page = mock_insert_page; in mock_init_ggtt()
125 ggtt->vm.cleanup = mock_cleanup; in mock_init_ggtt()
[all …]
H A Di915_gem.c45 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in trash_stolen() local
46 const u64 slot = ggtt->error_capture.start; in trash_stolen()
52 if (!i915_ggtt_has_aperture(ggtt)) in trash_stolen()
62 ggtt->vm.insert_page(&ggtt->vm, dma, slot, in trash_stolen()
67 s = io_mapping_map_atomic_wc(&ggtt->iomap, slot); in trash_stolen()
74 ggtt->vm.clear_range(&ggtt->vm, slot, PAGE_SIZE); in trash_stolen()
107 i915_ggtt_suspend(to_gt(i915)->ggtt); in igt_pm_suspend()
117 i915_ggtt_suspend(to_gt(i915)->ggtt); in igt_pm_hibernate()
133 i915_ggtt_resume(to_gt(i915)->ggtt); in igt_pm_resume()
H A Di915_gem_gtt.c1284 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in exercise_ggtt() local
1349 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in igt_ggtt_page() local
1368 mutex_lock(&ggtt->vm.mutex); in igt_ggtt_page()
1372 0, ggtt->mappable_end, in igt_ggtt_page()
1383 ggtt->vm.insert_page(&ggtt->vm, in igt_ggtt_page()
1427 ggtt->vm.clear_range(&ggtt->vm, tmp.start, tmp.size); in igt_ggtt_page()
1429 mutex_lock(&ggtt->vm.mutex); in igt_ggtt_page()
1481 struct i915_ggtt *ggtt = arg; in igt_mock_fill() local
1658 0, ggtt->vm.total, in igt_gtt_reserve()
1726 0, ggtt->vm.total, in igt_gtt_insert()
[all …]
H A Di915_vma.c151 struct i915_ggtt *ggtt = arg; in igt_vma_create() local
259 struct i915_ggtt *ggtt = arg; in igt_vma_pin1() local
285 VALID(ggtt->vm.total - 4096, PIN_GLOBAL), in igt_vma_pin1()
286 VALID(ggtt->vm.total, PIN_GLOBAL), in igt_vma_pin1()
322 GEM_BUG_ON(!drm_mm_clean(&ggtt->vm.mm)); in igt_vma_pin1()
549 struct i915_ggtt *ggtt = arg; in igt_vma_rotate_remap() local
550 struct i915_address_space *vm = &ggtt->vm; in igt_vma_rotate_remap()
796 struct i915_ggtt *ggtt = arg; in igt_vma_partial() local
797 struct i915_address_space *vm = &ggtt->vm; in igt_vma_partial()
947 err = i915_subtests(tests, gt->ggtt); in i915_vma_mock_selftests()
[all …]
/linux-6.15/drivers/gpu/drm/i915/
H A Di915_vgpu.c161 ggtt->vm.reserved -= node->size; in vgt_deballoon_space()
177 if (!intel_vgpu_active(ggtt->vm.i915)) in intel_vgt_deballoon()
204 ggtt->vm.reserved += size; in vgt_balloon_space()
257 unsigned long ggtt_end = ggtt->vm.total; in intel_vgt_balloon()
263 if (!intel_vgpu_active(ggtt->vm.i915)) in intel_vgt_balloon()
286 if (mappable_end > ggtt->mappable_end || in intel_vgt_balloon()
287 unmappable_base < ggtt->mappable_end || in intel_vgt_balloon()
294 if (unmappable_base > ggtt->mappable_end) { in intel_vgt_balloon()
296 ggtt->mappable_end, unmappable_base); in intel_vgt_balloon()
318 if (mappable_end < ggtt->mappable_end) { in intel_vgt_balloon()
[all …]
H A Di915_gem.c93 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in i915_gem_get_aperture_ioctl() local
101 pinned = ggtt->vm.reserved; in i915_gem_get_aperture_ioctl()
306 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in i915_gem_gtt_prepare() local
344 ggtt->vm.clear_range(&ggtt->vm, node->start, node->size); in i915_gem_gtt_prepare()
367 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in i915_gem_gtt_cleanup() local
371 ggtt->vm.clear_range(&ggtt->vm, node->start, node->size); in i915_gem_gtt_cleanup()
383 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in i915_gem_gtt_pread() local
419 ggtt->vm.insert_page(&ggtt->vm, in i915_gem_gtt_pread()
546 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in i915_gem_gtt_pwrite_fast() local
600 ggtt->vm.insert_page(&ggtt->vm, in i915_gem_gtt_pwrite_fast()
[all …]
H A Di915_gem_gtt.c59 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in i915_gem_gtt_finish_pages() local
62 if (unlikely(ggtt->do_idle_maps)) in i915_gem_gtt_finish_pages()
108 GEM_BUG_ON(vm == &to_gt(vm->i915)->ggtt->alias->vm); in i915_gem_gtt_reserve()
208 GEM_BUG_ON(vm == &to_gt(vm->i915)->ggtt->alias->vm); in i915_gem_gtt_insert()
H A Di915_gem_evict.c48 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); in ggtt_flush() local
52 list_for_each_entry(gt, &ggtt->gt_list, ggtt_link) { in ggtt_flush()
188 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); in i915_gem_evict_something() local
190 list_for_each_entry(gt, &ggtt->gt_list, ggtt_link) in i915_gem_evict_something()
353 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); in i915_gem_evict_for_node() local
356 list_for_each_entry(gt, &ggtt->gt_list, ggtt_link) in i915_gem_evict_for_node()
/linux-6.15/drivers/gpu/drm/xe/display/
H A Dxe_fb_pin.c24 struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt; in write_dpt_rotated() local
57 struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt; in write_dpt_remapped() local
59 = ggtt->pt_ops->pte_encode_bo; in write_dpt_remapped()
89 struct xe_ggtt *ggtt = tile0->mem.ggtt; in __xe_pin_fb_vma_dpt() local
184 ggtt->pt_ops->ggtt_set_pte(ggtt, *ggtt_ofs, pte); in write_ggtt_rotated()
202 struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt; in __xe_pin_fb_vma_ggtt() local
223 vma->node = xe_ggtt_node_init(ggtt); in __xe_pin_fb_vma_ggtt()
239 ggtt->pt_ops->ggtt_set_pte(ggtt, vma->node->base.start + x, pte); in __xe_pin_fb_vma_ggtt()
248 vma->node = xe_ggtt_node_init(ggtt); in __xe_pin_fb_vma_ggtt()
272 mutex_unlock(&ggtt->lock); in __xe_pin_fb_vma_ggtt()
[all …]
/linux-6.15/drivers/gpu/drm/i915/gvt/
H A Daperture_gm.c65 mutex_lock(&gt->ggtt->vm.mutex); in alloc_gm()
72 mutex_unlock(&gt->ggtt->vm.mutex); in alloc_gm()
102 mutex_lock(&gt->ggtt->vm.mutex); in alloc_vgpu_gm()
104 mutex_unlock(&gt->ggtt->vm.mutex); in alloc_vgpu_gm()
113 mutex_lock(&gt->ggtt->vm.mutex); in free_vgpu_gm()
116 mutex_unlock(&gt->ggtt->vm.mutex); in free_vgpu_gm()
179 mutex_lock(&gvt->gt->ggtt->vm.mutex); in free_vgpu_fence()
186 mutex_unlock(&gvt->gt->ggtt->vm.mutex); in free_vgpu_fence()
202 mutex_lock(&gvt->gt->ggtt->vm.mutex); in alloc_vgpu_fence()
214 mutex_unlock(&gvt->gt->ggtt->vm.mutex); in alloc_vgpu_fence()
[all …]
/linux-6.15/drivers/gpu/drm/i915/gem/
H A Di915_gem_tiling.c187 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in i915_gem_object_fence_prepare() local
195 mutex_lock(&ggtt->vm.mutex); in i915_gem_object_fence_prepare()
199 GEM_BUG_ON(vma->vm != &ggtt->vm); in i915_gem_object_fence_prepare()
212 list_splice(&unbind, &ggtt->vm.bound_list); in i915_gem_object_fence_prepare()
217 mutex_unlock(&ggtt->vm.mutex); in i915_gem_object_fence_prepare()
351 if (!to_gt(i915)->ggtt->num_fences) in i915_gem_set_tiling_ioctl()
377 args->swizzle_mode = to_gt(i915)->ggtt->bit_6_swizzle_x; in i915_gem_set_tiling_ioctl()
379 args->swizzle_mode = to_gt(i915)->ggtt->bit_6_swizzle_y; in i915_gem_set_tiling_ioctl()
434 if (!to_gt(i915)->ggtt->num_fences) in i915_gem_get_tiling_ioctl()
450 args->swizzle_mode = to_gt(i915)->ggtt->bit_6_swizzle_x; in i915_gem_get_tiling_ioctl()
[all …]
H A Di915_gem_stolen.c88 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in adjust_stolen() local
572 static void dbg_poison(struct i915_ggtt *ggtt, in dbg_poison() argument
585 mutex_lock(&ggtt->error_mutex); in dbg_poison()
589 ggtt->vm.insert_page(&ggtt->vm, addr, in dbg_poison()
590 ggtt->error_capture.start, in dbg_poison()
596 s = io_mapping_map_wc(&ggtt->iomap, in dbg_poison()
597 ggtt->error_capture.start, in dbg_poison()
606 ggtt->vm.clear_range(&ggtt->vm, ggtt->error_capture.start, PAGE_SIZE); in dbg_poison()
607 mutex_unlock(&ggtt->error_mutex); in dbg_poison()
655 dbg_poison(to_gt(i915)->ggtt, in i915_gem_object_get_pages_stolen()
[all …]
H A Di915_gem_mman.c348 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in vm_fault_gtt() local
421 ret = mutex_lock_interruptible(&ggtt->vm.mutex); in vm_fault_gtt()
423 ret = i915_gem_evict_vm(&ggtt->vm, &ww, NULL); in vm_fault_gtt()
424 mutex_unlock(&ggtt->vm.mutex); in vm_fault_gtt()
471 mutex_lock(&to_gt(i915)->ggtt->vm.mutex); in vm_fault_gtt()
474 mutex_unlock(&to_gt(i915)->ggtt->vm.mutex); in vm_fault_gtt()
494 intel_gt_reset_unlock(ggtt->vm.gt, srcu); in vm_fault_gtt()
595 mutex_lock(&to_gt(i915)->ggtt->vm.mutex); in i915_gem_object_release_mmap_gtt()
613 mutex_unlock(&to_gt(i915)->ggtt->vm.mutex); in i915_gem_object_release_mmap_gtt()
890 if (!i915_ggtt_has_aperture(to_gt(i915)->ggtt)) in i915_gem_mmap_offset_ioctl()
[all …]
/linux-6.15/drivers/gpu/drm/xe/tests/
H A Dxe_guc_buf_kunit.c39 struct xe_ggtt *ggtt = tile->mem.ggtt; in replacement_xe_managed_bo_create_pin_map() local
41 bo->ggtt_node[tile->id] = xe_ggtt_node_init(ggtt); in replacement_xe_managed_bo_create_pin_map()
45 drm_mm_insert_node_in_range(&ggtt->mm, in replacement_xe_managed_bo_create_pin_map()
61 struct xe_ggtt *ggtt; in guc_buf_test_init() local
67 ggtt = xe_device_get_root_tile(test->priv)->mem.ggtt; in guc_buf_test_init()
70 drm_mm_init(&ggtt->mm, DUT_GGTT_START, DUT_GGTT_SIZE); in guc_buf_test_init()
71 mutex_init(&ggtt->lock); in guc_buf_test_init()

1234