/linux-master/drivers/gpu/drm/xe/ |
H A D | xe_ggtt.c | 74 void xe_ggtt_set_pte(struct xe_ggtt *ggtt, u64 addr, u64 pte) argument 76 xe_tile_assert(ggtt->tile, !(addr & XE_PTE_MASK)); 77 xe_tile_assert(ggtt->tile, addr < ggtt->size); 79 writeq(pte, &ggtt->gsm[addr >> XE_PTE_SHIFT]); 82 static void xe_ggtt_clear(struct xe_ggtt *ggtt, u64 start, u64 size) argument 84 u16 pat_index = tile_to_xe(ggtt->tile)->pat.idx[XE_CACHE_WB]; 88 xe_tile_assert(ggtt->tile, start < end); 90 if (ggtt->scratch) 91 scratch_pte = ggtt 104 struct xe_ggtt *ggtt = arg; local 112 struct xe_ggtt *ggtt = arg; local 117 primelockdep(struct xe_ggtt *ggtt) argument 142 xe_ggtt_init_early(struct xe_ggtt *ggtt) argument 203 xe_ggtt_initial_clear(struct xe_ggtt *ggtt) argument 219 xe_ggtt_init(struct xe_ggtt *ggtt) argument 296 xe_ggtt_invalidate(struct xe_ggtt *ggtt) argument 303 xe_ggtt_printk(struct xe_ggtt *ggtt, const char *prefix) argument 323 xe_ggtt_dump_node(struct xe_ggtt *ggtt, const struct drm_mm_node *node, const char *description) argument 346 xe_ggtt_balloon(struct xe_ggtt *ggtt, u64 start, u64 end, struct drm_mm_node *node) argument 379 xe_ggtt_deballoon(struct xe_ggtt *ggtt, struct drm_mm_node *node) argument 391 xe_ggtt_insert_special_node_locked(struct xe_ggtt *ggtt, struct drm_mm_node *node, u32 size, u32 align, u32 mm_flags) argument 398 xe_ggtt_insert_special_node(struct xe_ggtt *ggtt, struct drm_mm_node *node, u32 size, u32 align) argument 411 xe_ggtt_map_bo(struct xe_ggtt *ggtt, struct xe_bo *bo) argument 426 __xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo, u64 start, u64 end) argument 457 xe_ggtt_insert_bo_at(struct xe_ggtt *ggtt, struct xe_bo *bo, u64 start, u64 end) argument 463 xe_ggtt_insert_bo(struct xe_ggtt *ggtt, struct xe_bo *bo) argument 468 xe_ggtt_remove_node(struct xe_ggtt *ggtt, struct drm_mm_node *node) argument 483 xe_ggtt_remove_bo(struct xe_ggtt *ggtt, struct xe_bo *bo) argument 494 xe_ggtt_dump(struct xe_ggtt *ggtt, struct drm_printer *p) argument [all...] |
H A D | xe_ggtt.h | 13 void xe_ggtt_set_pte(struct xe_ggtt *ggtt, u64 addr, u64 pte); 14 void xe_ggtt_invalidate(struct xe_ggtt *ggtt); 15 int xe_ggtt_init_early(struct xe_ggtt *ggtt); 16 int xe_ggtt_init(struct xe_ggtt *ggtt); 17 void xe_ggtt_printk(struct xe_ggtt *ggtt, const char *prefix); 19 int xe_ggtt_balloon(struct xe_ggtt *ggtt, u64 start, u64 size, struct drm_mm_node *node); 20 void xe_ggtt_deballoon(struct xe_ggtt *ggtt, struct drm_mm_node *node); 22 int xe_ggtt_insert_special_node(struct xe_ggtt *ggtt, struct drm_mm_node *node, 24 int xe_ggtt_insert_special_node_locked(struct xe_ggtt *ggtt, 27 void xe_ggtt_remove_node(struct xe_ggtt *ggtt, struc [all...] |
H A D | xe_tile.c | 88 tile->mem.ggtt = drmm_kzalloc(drm, sizeof(*tile->mem.ggtt), 90 if (!tile->mem.ggtt) 92 tile->mem.ggtt->tile = tile;
|
/linux-master/drivers/gpu/drm/i915/gt/ |
H A D | intel_ggtt.c | 56 static int ggtt_init_hw(struct i915_ggtt *ggtt) argument 58 struct drm_i915_private *i915 = ggtt->vm.i915; 60 i915_address_space_init(&ggtt->vm, VM_CLASS_GGTT); 62 ggtt->vm.is_ggtt = true; 65 ggtt->vm.has_read_only = IS_VALLEYVIEW(i915); 68 ggtt->vm.mm.color_adjust = i915_ggtt_color_adjust; 70 if (ggtt->mappable_end) { 71 if (!io_mapping_init_wc(&ggtt->iomap, 72 ggtt->gmadr.start, 73 ggtt 178 i915_ggtt_suspend(struct i915_ggtt *ggtt) argument 189 gen6_ggtt_invalidate(struct i915_ggtt *ggtt) argument 214 gen8_ggtt_invalidate(struct i915_ggtt *ggtt) argument 241 guc_ggtt_invalidate(struct i915_ggtt *ggtt) argument 293 should_update_ggtt_with_bind(struct i915_ggtt *ggtt) argument 300 gen8_ggtt_bind_get_ce(struct i915_ggtt *ggtt, intel_wakeref_t *wakeref) argument 332 gen8_ggtt_bind_ptes(struct i915_ggtt *ggtt, u32 offset, struct sg_table *pages, u32 num_entries, const gen8_pte_t pte) argument 445 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 458 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 474 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 512 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 543 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 555 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 576 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 600 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 620 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 725 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 784 ggtt_reserve_guc_top(struct i915_ggtt *ggtt) argument 805 ggtt_release_guc_top(struct i915_ggtt *ggtt) argument 811 cleanup_init_ggtt(struct i915_ggtt *ggtt) argument 819 init_ggtt(struct i915_ggtt *ggtt) argument 953 init_aliasing_ppgtt(struct i915_ggtt *ggtt) argument 1005 fini_aliasing_ppgtt(struct i915_ggtt *ggtt) argument 1036 ggtt_cleanup_hw(struct i915_ggtt *ggtt) argument 1083 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 1098 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 1153 ggtt_probe_common(struct i915_ggtt *ggtt, u64 size) argument 1205 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 1217 gen8_gmch_probe(struct i915_ggtt *ggtt) argument 1394 gen6_gmch_probe(struct i915_ggtt *ggtt) argument 1453 ggtt_probe_hw(struct i915_ggtt *ggtt, struct intel_gt *gt) argument 1530 struct i915_ggtt *ggtt; local 1597 i915_ggtt_resume(struct i915_ggtt *ggtt) argument [all...] |
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; } argument
|
H A D | intel_ggtt_gmch.c | 42 static void gmch_ggtt_invalidate(struct i915_ggtt *ggtt) argument 77 int intel_ggtt_gmch_probe(struct i915_ggtt *ggtt) argument 79 struct drm_i915_private *i915 = ggtt->vm.i915; 89 intel_gmch_gtt_get(&ggtt->vm.total, &gmadr_base, &ggtt->mappable_end); 91 ggtt->gmadr = DEFINE_RES_MEM(gmadr_base, ggtt->mappable_end); 93 ggtt->vm.alloc_pt_dma = alloc_pt_dma; 94 ggtt->vm.alloc_scratch_dma = alloc_pt_dma; 99 ggtt [all...] |
H A D | intel_ggtt_fencing.h | 24 struct i915_ggtt *ggtt; member in struct:i915_fence_reg 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 | intel_ggtt_fencing.c | 51 return fence->ggtt->vm.i915; 56 return fence->ggtt->vm.gt->uncore; 203 struct i915_ggtt *ggtt = fence->ggtt; local 253 list_move(&fence->link, &ggtt->fence_list); 277 list_move_tail(&fence->link, &ggtt->fence_list); 328 static struct i915_fence_reg *fence_find(struct i915_ggtt *ggtt) argument 333 list_for_each_entry_safe(fence, fn, &ggtt->fence_list, link) { 344 list_move_tail(&fence->link, &ggtt->fence_list); 355 if (intel_has_pending_fb_unpin(ggtt 363 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vma->vm); local 454 i915_reserve_fence(struct i915_ggtt *ggtt) argument 493 struct i915_ggtt *ggtt = fence->ggtt; local 508 intel_ggtt_restore_fences(struct i915_ggtt *ggtt) argument 571 detect_bit_6_swizzle(struct i915_ggtt *ggtt) argument 838 intel_ggtt_init_fences(struct i915_ggtt *ggtt) argument 885 intel_ggtt_fini_fences(struct i915_ggtt *ggtt) argument [all...] |
H A D | selftest_reset.c | 22 struct i915_ggtt *ggtt = gt->ggtt; local 34 if (!drm_mm_node_allocated(&ggtt->error_capture)) 87 ggtt->vm.insert_page(&ggtt->vm, dma, 88 ggtt->error_capture.start, 94 s = io_mapping_map_wc(&ggtt->iomap, 95 ggtt->error_capture.start, 111 ggtt->vm.clear_range(&ggtt [all...] |
H A D | gen6_ppgtt.c | 166 gen6_ggtt_invalidate(ppgtt->base.vm.gt->ggtt); 286 struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); local 291 ppgtt->pd_addr = (gen6_pte_t __iomem *)ggtt->gsm + ggtt_offset; 382 struct i915_ggtt * const ggtt = ppgtt->base.vm.gt->ggtt; local 402 ppgtt->vma = i915_vma_instance(pd->pt.base, &ggtt->vm, NULL); 430 struct i915_ggtt * const ggtt = gt->ggtt; local 452 ppgtt->base.vm.pte_encode = ggtt->vm.pte_encode;
|
/linux-master/drivers/gpu/drm/i915/selftests/ |
H A D | mock_gtt.c | 109 struct i915_ggtt *ggtt = gt->ggtt; local 111 ggtt->vm.gt = gt; 112 ggtt->vm.i915 = gt->i915; 113 ggtt->vm.is_ggtt = true; 115 ggtt->gmadr = DEFINE_RES_MEM(0, 2048 * PAGE_SIZE); 116 ggtt->mappable_end = resource_size(&ggtt->gmadr); 117 ggtt->vm.total = 4096 * PAGE_SIZE; 119 ggtt 133 mock_fini_ggtt(struct i915_ggtt *ggtt) argument [all...] |
H A D | i915_gem_evict.c | 48 static int populate_ggtt(struct i915_ggtt *ggtt, struct list_head *objects) argument 57 obj = i915_gem_object_create_internal(ggtt->vm.i915, 75 count, ggtt->vm.total / PAGE_SIZE); 77 if (list_empty(&ggtt->vm.bound_list)) { 85 static void unpin_ggtt(struct i915_ggtt *ggtt) argument 89 list_for_each_entry(vma, &ggtt->vm.bound_list, vm_link) 94 static void cleanup_objects(struct i915_ggtt *ggtt, struct list_head *list) argument 104 i915_gem_drain_freed_objects(ggtt->vm.i915); 110 struct i915_ggtt *ggtt = gt->ggtt; local 156 struct i915_ggtt *ggtt = gt->ggtt; local 193 struct i915_ggtt *ggtt = gt->ggtt; local 244 struct i915_ggtt *ggtt = gt->ggtt; local 335 struct i915_ggtt *ggtt = gt->ggtt; local 379 struct i915_ggtt *ggtt = gt->ggtt; local [all...] |
H A D | mock_gtt.h | 33 void mock_fini_ggtt(struct i915_ggtt *ggtt);
|
H A D | i915_gem.c | 45 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 46 const u64 slot = ggtt->error_capture.start; 52 if (!i915_ggtt_has_aperture(ggtt)) 60 ggtt->vm.insert_page(&ggtt->vm, dma, slot, 65 s = io_mapping_map_atomic_wc(&ggtt->iomap, slot); 73 ggtt->vm.clear_range(&ggtt->vm, slot, PAGE_SIZE); 106 i915_ggtt_suspend(to_gt(i915)->ggtt); [all...] |
H A D | i915_gem_gtt.c | 1281 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 1288 list_sort(NULL, &ggtt->vm.mm.hole_stack, sort_holes); 1289 drm_mm_for_each_hole(node, &ggtt->vm.mm, hole_start, hole_end) { 1293 if (ggtt->vm.mm.color_adjust) 1294 ggtt->vm.mm.color_adjust(node, 0, 1299 err = func(&ggtt->vm, hole_start, hole_end, end_time); 1346 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 1353 if (!i915_ggtt_has_aperture(ggtt)) 1478 struct i915_ggtt *ggtt = arg; local 1485 struct i915_ggtt *ggtt = arg; local 1492 struct i915_ggtt *ggtt = arg; local 1499 struct i915_ggtt *ggtt = arg; local 1533 struct i915_ggtt *ggtt = arg; local 1712 struct i915_ggtt *ggtt = arg; local [all...] |
H A D | i915_vma.c | 83 pr_err("VMA ggtt status [%d] does not match parent [%d]\n", 151 struct i915_ggtt *ggtt = arg; local 152 struct drm_i915_private *i915 = ggtt->vm.i915; 258 struct i915_ggtt *ggtt = arg; local 269 VALID(0, PIN_GLOBAL | PIN_OFFSET_BIAS | (ggtt->mappable_end - 4096)), 270 VALID(0, PIN_GLOBAL | PIN_MAPPABLE | PIN_OFFSET_BIAS | (ggtt->mappable_end - 4096)), 271 VALID(0, PIN_GLOBAL | PIN_OFFSET_BIAS | (ggtt->vm.total - 4096)), 273 VALID(0, PIN_GLOBAL | PIN_MAPPABLE | PIN_OFFSET_FIXED | (ggtt->mappable_end - 4096)), 274 INVALID(0, PIN_GLOBAL | PIN_MAPPABLE | PIN_OFFSET_FIXED | ggtt->mappable_end), 275 VALID(0, PIN_GLOBAL | PIN_OFFSET_FIXED | (ggtt 546 struct i915_ggtt *ggtt = arg; local 792 struct i915_ggtt *ggtt = arg; local [all...] |
/linux-master/drivers/gpu/drm/i915/ |
H A D | i915_vgpu.h | 39 int intel_vgt_balloon(struct i915_ggtt *ggtt); 40 void intel_vgt_deballoon(struct i915_ggtt *ggtt);
|
H A D | i915_vgpu.c | 148 static void vgt_deballoon_space(struct i915_ggtt *ggtt, argument 151 struct drm_i915_private *dev_priv = ggtt->vm.i915; 161 ggtt->vm.reserved -= node->size; 167 * @ggtt: the global GGTT from which we reserved earlier 172 void intel_vgt_deballoon(struct i915_ggtt *ggtt) argument 174 struct drm_i915_private *dev_priv = ggtt->vm.i915; 177 if (!intel_vgpu_active(ggtt->vm.i915)) 183 vgt_deballoon_space(ggtt, &bl_info.space[i]); 186 static int vgt_balloon_space(struct i915_ggtt *ggtt, argument 190 struct drm_i915_private *dev_priv = ggtt 253 intel_vgt_balloon(struct i915_ggtt *ggtt) argument [all...] |
H A D | i915_gem.c | 63 insert_mappable_node(struct i915_ggtt *ggtt, struct drm_mm_node *node, u32 size) argument 67 err = mutex_lock_interruptible(&ggtt->vm.mutex); 72 err = drm_mm_insert_node_in_range(&ggtt->vm.mm, node, 74 0, ggtt->mappable_end, 77 mutex_unlock(&ggtt->vm.mutex); 83 remove_mappable_node(struct i915_ggtt *ggtt, struct drm_mm_node *node) argument 85 mutex_lock(&ggtt->vm.mutex); 87 mutex_unlock(&ggtt->vm.mutex); 95 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 308 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 369 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 385 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 548 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 911 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local [all...] |
H A D | i915_gem_gtt.c | 60 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 63 if (unlikely(ggtt->do_idle_maps)) 109 GEM_BUG_ON(vm == &to_gt(vm->i915)->ggtt->alias->vm); 209 GEM_BUG_ON(vm == &to_gt(vm->i915)->ggtt->alias->vm); 256 * mmap and GPU (i.e. ggtt/aliasing_ppgtt but not full-ppgtt):
|
/linux-master/drivers/gpu/drm/xe/compat-i915-headers/ |
H A D | i915_vgpu.h | 36 static inline int intel_vgt_balloon(struct i915_ggtt *ggtt) argument 40 static inline void intel_vgt_deballoon(struct i915_ggtt *ggtt) argument
|
/linux-master/drivers/gpu/drm/xe/display/ |
H A D | xe_fb_pin.c | 21 struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt; local 25 * by writing dpt/ggtt in a different order? 32 u64 pte = ggtt->pt_ops->pte_encode_bo(bo, src_idx * XE_PAGE_SIZE, 54 struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt; local 56 = ggtt->pt_ops->pte_encode_bo; 85 struct xe_ggtt *ggtt = tile0->mem.ggtt; local 121 u64 pte = ggtt 157 write_ggtt_rotated(struct xe_bo *bo, struct xe_ggtt *ggtt, u32 *ggtt_ofs, u32 bo_ofs, u32 width, u32 height, u32 src_stride, u32 dst_stride) argument 186 struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt; local 318 struct xe_ggtt *ggtt = xe_device_get_root_tile(xe)->mem.ggtt; local [all...] |
/linux-master/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_tiling.c | 187 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 195 mutex_lock(&ggtt->vm.mutex); 199 GEM_BUG_ON(vma->vm != &ggtt->vm); 212 list_splice(&unbind, &ggtt->vm.bound_list); 217 mutex_unlock(&ggtt->vm.mutex); 226 return to_gt(i915)->ggtt->bit_6_swizzle_x == I915_BIT_6_SWIZZLE_9_10_17 && 351 if (!to_gt(dev_priv)->ggtt->num_fences) 377 args->swizzle_mode = to_gt(dev_priv)->ggtt->bit_6_swizzle_x; 379 args->swizzle_mode = to_gt(dev_priv)->ggtt [all...] |
/linux-master/drivers/gpu/drm/i915/gvt/ |
H A D | aperture_gm.c | 65 mutex_lock(>->ggtt->vm.mutex); 67 ret = i915_gem_gtt_insert(>->ggtt->vm, NULL, node, 72 mutex_unlock(>->ggtt->vm.mutex); 102 mutex_lock(>->ggtt->vm.mutex); 104 mutex_unlock(>->ggtt->vm.mutex); 113 mutex_lock(>->ggtt->vm.mutex); 116 mutex_unlock(>->ggtt->vm.mutex); 179 mutex_lock(&gvt->gt->ggtt->vm.mutex); 186 mutex_unlock(&gvt->gt->ggtt->vm.mutex); 202 mutex_lock(&gvt->gt->ggtt [all...] |
/linux-master/drivers/gpu/drm/i915/display/ |
H A D | intel_fbdev_fb.c | 86 struct i915_ggtt *ggtt = to_gt(i915)->ggtt; local 90 (unsigned long)(ggtt->gmadr.start + i915_ggtt_offset(vma));
|