| /linux-6.15/drivers/gpu/drm/xe/ |
| H A D | xe_ggtt.c | 132 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 D | xe_ggtt.h | 13 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 D | xe_tile.c | 92 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 D | intel_ggtt.c | 73 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 D | intel_ggtt_gmch.c | 79 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 D | intel_ggtt_fencing.c | 51 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 D | selftest_reset.c | 22 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 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);
|
| H A D | gen6_ppgtt.c | 166 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 D | intel_ggtt_gmch.h | 16 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 D | i915_gem_evict.c | 110 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 D | mock_gtt.c | 109 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 D | i915_gem.c | 45 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 D | i915_gem_gtt.c | 1284 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 D | i915_vma.c | 151 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 D | i915_vgpu.c | 161 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 D | i915_gem.c | 93 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 D | i915_gem_gtt.c | 59 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 D | i915_gem_evict.c | 48 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 D | xe_fb_pin.c | 24 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 D | aperture_gm.c | 65 mutex_lock(>->ggtt->vm.mutex); in alloc_gm() 72 mutex_unlock(>->ggtt->vm.mutex); in alloc_gm() 102 mutex_lock(>->ggtt->vm.mutex); in alloc_vgpu_gm() 104 mutex_unlock(>->ggtt->vm.mutex); in alloc_vgpu_gm() 113 mutex_lock(>->ggtt->vm.mutex); in free_vgpu_gm() 116 mutex_unlock(>->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 D | i915_gem_tiling.c | 187 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 D | i915_gem_stolen.c | 88 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 D | i915_gem_mman.c | 348 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 D | xe_guc_buf_kunit.c | 39 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()
|