Home
last modified time | relevance | path

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

12

/linux/drivers/gpu/drm/xe/
H A Dxe_ggtt.c80 /** @ggtt: Back pointer to xe_ggtt where this region will be inserted at */ member
81 struct xe_ggtt *ggtt;
102 u64 (*ggtt_get_pte)(struct xe_ggtt *ggtt, u64 addr);
123 * - %XE_GGTT_FLAGS_ONLINE - is GGTT online, protected by ggtt->lock
183 static void ggtt_update_access_counter(struct xe_ggtt *ggtt) in ggtt_update_access_counter() argument
185 struct xe_tile *tile = ggtt->tile; in ggtt_update_access_counter()
208 lockdep_assert_held(&ggtt->lock); in ggtt_update_access_counter()
210 if ((++ggtt->access_count % max_gtt_writes) == 0) { in ggtt_update_access_counter()
212 ggtt->access_count = 0; in ggtt_update_access_counter()
218 * @ggtt
222 xe_ggtt_start(struct xe_ggtt * ggtt) xe_ggtt_start() argument
233 xe_ggtt_size(struct xe_ggtt * ggtt) xe_ggtt_size() argument
238 xe_ggtt_set_pte(struct xe_ggtt * ggtt,u64 addr,u64 pte) xe_ggtt_set_pte() argument
246 xe_ggtt_set_pte_and_flush(struct xe_ggtt * ggtt,u64 addr,u64 pte) xe_ggtt_set_pte_and_flush() argument
252 xe_ggtt_get_pte(struct xe_ggtt * ggtt,u64 addr) xe_ggtt_get_pte() argument
260 xe_ggtt_clear(struct xe_ggtt * ggtt,u64 start,u64 size) xe_ggtt_clear() argument
281 primelockdep(struct xe_ggtt * ggtt) primelockdep() argument
302 struct xe_ggtt *ggtt; xe_ggtt_alloc() local
319 struct xe_ggtt *ggtt = arg; ggtt_fini_early() local
327 struct xe_ggtt *ggtt = arg; ggtt_fini() local
333 xe_ggtt_might_lock(struct xe_ggtt * ggtt) xe_ggtt_might_lock() argument
357 __xe_ggtt_init_early(struct xe_ggtt * ggtt,u64 start,u64 size) __xe_ggtt_init_early() argument
364 xe_ggtt_init_kunit(struct xe_ggtt * ggtt,u32 start,u32 size) xe_ggtt_init_kunit() argument
373 struct xe_ggtt *ggtt = arg; dev_fini_ggtt() local
391 xe_ggtt_init_early(struct xe_ggtt * ggtt) xe_ggtt_init_early() argument
454 xe_ggtt_initial_clear(struct xe_ggtt * ggtt) xe_ggtt_initial_clear() argument
475 struct xe_ggtt *ggtt = node->ggtt; ggtt_node_remove() local
508 struct xe_ggtt *ggtt; xe_ggtt_node_remove() local
533 xe_ggtt_init(struct xe_ggtt * ggtt) xe_ggtt_init() argument
577 xe_ggtt_invalidate(struct xe_ggtt * ggtt) xe_ggtt_invalidate() argument
607 xe_ggtt_shift_nodes(struct xe_ggtt * ggtt,u64 new_start) xe_ggtt_shift_nodes() argument
625 ggtt_node_init(struct xe_ggtt * ggtt) ggtt_node_init() argument
646 xe_ggtt_insert_node(struct xe_ggtt * ggtt,u32 size,u32 align) xe_ggtt_insert_node() argument
687 xe_ggtt_map_bo(struct xe_ggtt * ggtt,struct xe_ggtt_node * node,struct xe_bo * bo,u64 pte) xe_ggtt_map_bo() argument
724 xe_ggtt_map_bo_unlocked(struct xe_ggtt * ggtt,struct xe_bo * bo) xe_ggtt_map_bo_unlocked() argument
751 xe_ggtt_insert_node_transform(struct xe_ggtt * ggtt,struct xe_bo * bo,u64 pte_flags,u64 size,u32 align,xe_ggtt_transform_cb transform,void * arg) xe_ggtt_insert_node_transform() argument
787 __xe_ggtt_insert_bo_at(struct xe_ggtt * ggtt,struct xe_bo * bo,u64 start,u64 end,struct drm_exec * exec) __xe_ggtt_insert_bo_at() argument
870 xe_ggtt_insert_bo_at(struct xe_ggtt * ggtt,struct xe_bo * bo,u64 start,u64 end,struct drm_exec * exec) xe_ggtt_insert_bo_at() argument
884 xe_ggtt_insert_bo(struct xe_ggtt * ggtt,struct xe_bo * bo,struct drm_exec * exec) xe_ggtt_insert_bo() argument
895 xe_ggtt_remove_bo(struct xe_ggtt * ggtt,struct xe_bo * bo) xe_ggtt_remove_bo() argument
917 xe_ggtt_largest_hole(struct xe_ggtt * ggtt,u64 alignment,u64 * spare) xe_ggtt_largest_hole() argument
950 struct xe_ggtt *ggtt = node->ggtt; xe_ggtt_assign_locked() local
992 struct xe_ggtt *ggtt; xe_ggtt_node_save() local
1034 struct xe_ggtt *ggtt; xe_ggtt_node_load() local
1068 xe_ggtt_dump(struct xe_ggtt * ggtt,struct drm_printer * p) xe_ggtt_dump() argument
1091 xe_ggtt_print_holes(struct xe_ggtt * ggtt,u64 alignment,struct drm_printer * p) xe_ggtt_print_holes() argument
1128 xe_ggtt_encode_pte_flags(struct xe_ggtt * ggtt,struct xe_bo * bo,u16 pat_index) xe_ggtt_encode_pte_flags() argument
1141 xe_ggtt_read_pte(struct xe_ggtt * ggtt,u64 offset) xe_ggtt_read_pte() argument
[all...]
H A Dxe_ggtt_types.h15 typedef void (*xe_ggtt_set_pte_fn)(struct xe_ggtt *ggtt, u64 addr, u64 pte);
16 typedef void (*xe_ggtt_transform_cb)(struct xe_ggtt *ggtt,
H A Dxe_tile_types.h85 struct xe_ggtt *ggtt; member
H A Dxe_bo_evict.c208 xe_ggtt_map_bo_unlocked(tile->mem.ggtt, bo); in xe_bo_restore_and_map_ggtt()
/linux/drivers/gpu/drm/i915/selftests/
H A Di915_gem_evict.c48 static int populate_ggtt(struct i915_ggtt *ggtt, struct list_head *objects) in populate_ggtt() argument
57 obj = i915_gem_object_create_internal(ggtt->vm.i915, in populate_ggtt()
75 count, ggtt->vm.total / PAGE_SIZE); in populate_ggtt()
77 if (list_empty(&ggtt->vm.bound_list)) { in populate_ggtt()
85 static void unpin_ggtt(struct i915_ggtt *ggtt) in unpin_ggtt() argument
89 list_for_each_entry(vma, &ggtt->vm.bound_list, vm_link) in unpin_ggtt()
94 static void cleanup_objects(struct i915_ggtt *ggtt, struct list_head *list) in cleanup_objects() argument
104 i915_gem_drain_freed_objects(ggtt->vm.i915); in cleanup_objects()
110 struct i915_ggtt *ggtt = gt->ggtt; in igt_evict_something() local
116 err = populate_ggtt(ggtt, &objects); in igt_evict_something()
[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()
115 ggtt->gmadr = DEFINE_RES_MEM(0, 2048 * PAGE_SIZE); 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()
120 ggtt->vm.alloc_scratch_dma = alloc_pt_dma; in mock_init_ggtt()
122 ggtt->vm.clear_range = mock_clear_range; in mock_init_ggtt()
[all …]
H A Di915_gem_gtt.c1288 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in exercise_ggtt() local
1295 list_sort(NULL, &ggtt->vm.mm.hole_stack, sort_holes); in exercise_ggtt()
1296 drm_mm_for_each_hole(node, &ggtt->vm.mm, hole_start, hole_end) { in exercise_ggtt()
1300 if (ggtt->vm.mm.color_adjust) in exercise_ggtt()
1301 ggtt->vm.mm.color_adjust(node, 0, in exercise_ggtt()
1306 err = func(&ggtt->vm, hole_start, hole_end, end_time); in exercise_ggtt()
1353 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in igt_ggtt_page() local
1360 if (!i915_ggtt_has_aperture(ggtt)) in igt_ggtt_page()
1372 mutex_lock(&ggtt->vm.mutex); in igt_ggtt_page()
1373 err = drm_mm_insert_node_in_range(&ggtt->vm.mm, &tmp, in igt_ggtt_page()
[all …]
H A Dmock_gtt.h33 void mock_fini_ggtt(struct i915_ggtt *ggtt);
/linux/drivers/gpu/drm/i915/gt/
H A Dselftest_reset.c22 struct i915_ggtt *ggtt = gt->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()
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()
[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 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
H A Dintel_ring.c111 static struct i915_vma *create_ring_vma(struct i915_ggtt *ggtt, int size) in create_ring_vma() argument
113 struct i915_address_space *vm = &ggtt->vm; in create_ring_vma()
120 if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt) && !HAS_LLC(i915)) in create_ring_vma()
174 vma = create_ring_vma(engine->gt->ggtt, size); in intel_engine_create_ring()
H A Dintel_gt_types.h103 struct i915_ggtt *ggtt; member
322 #define intel_gt_support_legacy_fencing(gt) ((gt)->ggtt->num_fences > 0)
H A Dmock_engine.c38 static struct i915_vma *create_ring_vma(struct i915_ggtt *ggtt, int size) in create_ring_vma() argument
40 struct i915_address_space *vm = &ggtt->vm; in create_ring_vma()
75 ring->vma = create_ring_vma(engine->gt->ggtt, PAGE_SIZE); in mock_ring()
H A Dintel_reset.c848 for (i = 0; i < gt->ggtt->num_fences; i++) { in revoke_mmaps()
853 vma = READ_ONCE(gt->ggtt->fence_regs[i].vma); in revoke_mmaps()
860 GEM_BUG_ON(vma->fence != &gt->ggtt->fence_regs[i]); in revoke_mmaps()
928 intel_ggtt_restore_fences(gt->ggtt); in gt_reset()
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_stolen.c113 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in adjust_stolen() local
114 struct intel_uncore *uncore = ggtt->vm.gt->uncore; in adjust_stolen()
138 ggtt_res = DEFINE_RES_MEM(ggtt_start, ggtt_total_entries(ggtt) * 4); in adjust_stolen()
597 static void dbg_poison(struct i915_ggtt *ggtt, in dbg_poison() argument
602 if (!drm_mm_node_allocated(&ggtt->error_capture)) in dbg_poison()
605 if (ggtt->vm.bind_async_flags & I915_VMA_GLOBAL_BIND) in dbg_poison()
610 mutex_lock(&ggtt->error_mutex); in dbg_poison()
614 ggtt->vm.insert_page(&ggtt in dbg_poison()
[all...]
H A Di915_gem_mman.c347 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in vm_fault_gtt() local
383 ret = intel_gt_reset_lock_interruptible(ggtt->vm.gt, &srcu); in vm_fault_gtt()
420 ret = mutex_lock_interruptible(&ggtt->vm.mutex); in vm_fault_gtt()
422 ret = i915_gem_evict_vm(&ggtt->vm, &ww, NULL); in vm_fault_gtt()
423 mutex_unlock(&ggtt->vm.mutex); in vm_fault_gtt()
459 set_address_limits(area, vma, obj_offset, ggtt->gmadr.start, in vm_fault_gtt()
463 ret = remap_io_mapping(area, start, pfn, end - start, &ggtt->iomap); in vm_fault_gtt()
470 mutex_lock(&to_gt(i915)->ggtt->vm.mutex); in vm_fault_gtt()
472 list_add(&obj->userfault_link, &to_gt(i915)->ggtt->userfault_list); in vm_fault_gtt()
473 mutex_unlock(&to_gt(i915)->ggtt->vm.mutex); in vm_fault_gtt()
[all …]
H A Di915_gem_execbuffer.c1133 return to_gt(i915)->ggtt; in cache_to_ggtt()
1165 struct i915_ggtt *ggtt = cache_to_ggtt(cache); in reloc_cache_remap()
1173 io_mapping_map_atomic_wc(&ggtt->iomap, offset); in reloc_cache_remap()
1194 struct i915_ggtt *ggtt = cache_to_ggtt(cache); in reloc_cache_reset()
1196 intel_gt_flush_ggtt_writes(ggtt->vm.gt); in reloc_cache_reset() local
1200 ggtt->vm.clear_range(&ggtt->vm, in reloc_cache_reset()
1203 mutex_lock(&ggtt->vm.mutex); in reloc_cache_reset()
1205 mutex_unlock(&ggtt->vm.mutex); in reloc_cache_reset()
1258 struct i915_ggtt *ggtt in reloc_iomap()
1167 struct i915_ggtt *ggtt = cache_to_ggtt(cache); reloc_cache_remap() local
1260 struct i915_ggtt *ggtt = cache_to_ggtt(cache); reloc_iomap() local
[all...]
/linux/drivers/gpu/drm/i915/
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()
H A Di915_vgpu.h39 int intel_vgt_balloon(struct i915_ggtt *ggtt);
40 void intel_vgt_deballoon(struct i915_ggtt *ggtt);
H A Di915_hdcp_gsc.c65 vma = i915_vma_instance(obj, &gt->ggtt->vm, NULL); in intel_hdcp_gsc_initialize_message()
/linux/drivers/gpu/drm/i915/gem/selftests/
H A Di915_gem_client_blt.c371 swizzle = gt->ggtt->bit_6_swizzle_x; in tiled_offset()
387 swizzle = gt->ggtt->bit_6_swizzle_y; in tiled_offset()
693 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; in bad_swizzling() local
698 if (has_bit17_swizzle(ggtt->bit_6_swizzle_x) || in bad_swizzling()
699 has_bit17_swizzle(ggtt->bit_6_swizzle_y)) in bad_swizzling()
H A Di915_gem_object.c46 to_gt(i915)->ggtt->vm.total + PAGE_SIZE); in igt_gem_huge()
/linux/drivers/gpu/drm/i915/gvt/
H A Dgtt.c217 static u64 read_pte64(struct i915_ggtt *ggtt, unsigned long index) in read_pte64() argument
219 void __iomem *addr = (gen8_pte_t __iomem *)ggtt->gsm + index; in read_pte64()
233 static void write_pte64(struct i915_ggtt *ggtt, unsigned long index, u64 pte) in write_pte64() argument
235 void __iomem *addr = (gen8_pte_t __iomem *)ggtt->gsm + index; in write_pte64()
258 e->val64 = read_pte64(vgpu->gvt->gt->ggtt, index); in gtt_get_entry64()
283 write_pte64(vgpu->gvt->gt->ggtt, index, e->val64); in gtt_set_entry64()
2785 write_pte64(vgpu->gvt->gt->ggtt, offset + idx, pte); in intel_gvt_restore_ggtt()
2793 write_pte64(vgpu->gvt->gt->ggtt, offset + idx, pte); in intel_gvt_restore_ggtt()

12