Home
last modified time | relevance | path

Searched refs:ppgtt (Results 1 – 13 of 13) sorted by relevance

/Linux-v5.4/drivers/gpu/drm/i915/selftests/
Dmock_gtt.c60 struct i915_ppgtt *ppgtt; in mock_ppgtt() local
62 ppgtt = kzalloc(sizeof(*ppgtt), GFP_KERNEL); in mock_ppgtt()
63 if (!ppgtt) in mock_ppgtt()
66 ppgtt->vm.i915 = i915; in mock_ppgtt()
67 ppgtt->vm.total = round_down(U64_MAX, PAGE_SIZE); in mock_ppgtt()
68 ppgtt->vm.file = ERR_PTR(-ENODEV); in mock_ppgtt()
70 i915_address_space_init(&ppgtt->vm, VM_CLASS_PPGTT); in mock_ppgtt()
72 ppgtt->vm.clear_range = nop_clear_range; in mock_ppgtt()
73 ppgtt->vm.insert_page = mock_insert_page; in mock_ppgtt()
74 ppgtt->vm.insert_entries = mock_insert_entries; in mock_ppgtt()
[all …]
Di915_gem_gtt.c151 struct i915_ppgtt *ppgtt; in igt_ppgtt_alloc() local
160 ppgtt = __ppgtt_create(dev_priv); in igt_ppgtt_alloc()
161 if (IS_ERR(ppgtt)) in igt_ppgtt_alloc()
162 return PTR_ERR(ppgtt); in igt_ppgtt_alloc()
164 if (!ppgtt->vm.allocate_va_range) in igt_ppgtt_alloc()
175 limit = min(ppgtt->vm.total, limit); in igt_ppgtt_alloc()
179 err = ppgtt->vm.allocate_va_range(&ppgtt->vm, 0, size); in igt_ppgtt_alloc()
191 ppgtt->vm.clear_range(&ppgtt->vm, 0, size); in igt_ppgtt_alloc()
196 err = ppgtt->vm.allocate_va_range(&ppgtt->vm, in igt_ppgtt_alloc()
211 i915_vm_put(&ppgtt->vm); in igt_ppgtt_alloc()
[all …]
/Linux-v5.4/drivers/gpu/drm/i915/
Di915_gem_gtt.c825 static void mark_tlbs_dirty(struct i915_ppgtt *ppgtt) in mark_tlbs_dirty() argument
827 ppgtt->pd_dirty_engines = ALL_ENGINES; in mark_tlbs_dirty()
830 static void gen8_ppgtt_notify_vgt(struct i915_ppgtt *ppgtt, bool create) in gen8_ppgtt_notify_vgt() argument
832 struct drm_i915_private *dev_priv = ppgtt->vm.i915; in gen8_ppgtt_notify_vgt()
837 atomic_inc(px_used(ppgtt->pd)); /* never remove */ in gen8_ppgtt_notify_vgt()
839 atomic_dec(px_used(ppgtt->pd)); in gen8_ppgtt_notify_vgt()
843 if (i915_vm_is_4lvl(&ppgtt->vm)) { in gen8_ppgtt_notify_vgt()
844 const u64 daddr = px_dma(ppgtt->pd); in gen8_ppgtt_notify_vgt()
853 const u64 daddr = i915_page_dir_dma_addr(ppgtt, i); in gen8_ppgtt_notify_vgt()
920 struct i915_ppgtt * const ppgtt = i915_vm_to_ppgtt(vm); in gen8_pdp_for_page_index() local
[all …]
Di915_gem_gtt.h531 i915_page_dir_dma_addr(const struct i915_ppgtt *ppgtt, const unsigned int n) in i915_page_dir_dma_addr() argument
533 struct i915_page_dma *pt = ppgtt->pd->entry[n]; in i915_page_dir_dma_addr()
535 return px_dma(pt ?: px_base(&ppgtt->vm.scratch[ppgtt->vm.top])); in i915_page_dir_dma_addr()
/Linux-v5.4/drivers/gpu/drm/i915/gem/selftests/
Dmock_context.c41 struct i915_ppgtt *ppgtt; in mock_context() local
47 ppgtt = mock_ppgtt(i915, name); in mock_context()
48 if (!ppgtt) in mock_context()
51 __set_ppgtt(ctx, &ppgtt->vm); in mock_context()
52 i915_vm_put(&ppgtt->vm); in mock_context()
Dhuge_pages.c373 struct i915_ppgtt *ppgtt = arg; in igt_mock_exhaust_device_supported_pages() local
374 struct drm_i915_private *i915 = ppgtt->vm.i915; in igt_mock_exhaust_device_supported_pages()
410 vma = i915_vma_instance(obj, &ppgtt->vm, NULL); in igt_mock_exhaust_device_supported_pages()
452 struct i915_ppgtt *ppgtt = arg; in igt_mock_ppgtt_misaligned_dma() local
453 struct drm_i915_private *i915 = ppgtt->vm.i915; in igt_mock_ppgtt_misaligned_dma()
495 vma = i915_vma_instance(obj, &ppgtt->vm, NULL); in igt_mock_ppgtt_misaligned_dma()
580 struct i915_ppgtt *ppgtt) in close_object_list() argument
587 vma = i915_vma_instance(obj, &ppgtt->vm, NULL); in close_object_list()
600 struct i915_ppgtt *ppgtt = arg; in igt_mock_ppgtt_huge_fill() local
601 struct drm_i915_private *i915 = ppgtt->vm.i915; in igt_mock_ppgtt_huge_fill()
[all …]
/Linux-v5.4/drivers/gpu/drm/i915/gt/
Dintel_lrc_reg.h49 #define ASSIGN_CTX_PDP(ppgtt, reg_state, n) do { \ argument
51 const u64 addr__ = i915_page_dir_dma_addr((ppgtt), (n)); \
56 #define ASSIGN_CTX_PML4(ppgtt, reg_state) do { \ argument
58 const u64 addr__ = px_dma(ppgtt->pd); \
Dintel_ringbuffer.c1528 static int load_pd_dir(struct i915_request *rq, const struct i915_ppgtt *ppgtt) in load_pd_dir() argument
1543 *cs++ = px_base(ppgtt->pd)->ggtt_offset << 10; in load_pd_dir()
1753 struct i915_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); in switch_context() local
1770 ret = load_pd_dir(rq, ppgtt); in switch_context()
1775 if (ppgtt->pd_dirty_engines & engine->mask) { in switch_context()
1777 ppgtt->pd_dirty_engines &= ~unwind_mm; in switch_context()
Dintel_lrc.c1903 struct i915_ppgtt * const ppgtt = i915_vm_to_ppgtt(rq->hw_context->vm); in emit_pdps() local
1933 const dma_addr_t pd_daddr = i915_page_dir_dma_addr(ppgtt, i); in emit_pdps()
3183 struct i915_ppgtt *ppgtt = i915_vm_to_ppgtt(ce->vm); in execlists_init_reg_state() local
3258 if (i915_vm_is_4lvl(&ppgtt->vm)) { in execlists_init_reg_state()
3263 ASSIGN_CTX_PML4(ppgtt, regs); in execlists_init_reg_state()
3265 ASSIGN_CTX_PDP(ppgtt, regs, 3); in execlists_init_reg_state()
3266 ASSIGN_CTX_PDP(ppgtt, regs, 2); in execlists_init_reg_state()
3267 ASSIGN_CTX_PDP(ppgtt, regs, 1); in execlists_init_reg_state()
3268 ASSIGN_CTX_PDP(ppgtt, regs, 0); in execlists_init_reg_state()
/Linux-v5.4/drivers/gpu/drm/i915/gem/
Di915_gem_context.c541 struct i915_ppgtt *ppgtt; in i915_gem_create_context() local
543 ppgtt = i915_ppgtt_create(dev_priv); in i915_gem_create_context()
544 if (IS_ERR(ppgtt)) { in i915_gem_create_context()
546 PTR_ERR(ppgtt)); in i915_gem_create_context()
548 return ERR_CAST(ppgtt); in i915_gem_create_context()
551 __assign_ppgtt(ctx, &ppgtt->vm); in i915_gem_create_context()
552 i915_vm_put(&ppgtt->vm); in i915_gem_create_context()
770 struct i915_ppgtt *ppgtt; in i915_gem_vm_create_ioctl() local
779 ppgtt = i915_ppgtt_create(i915); in i915_gem_vm_create_ioctl()
780 if (IS_ERR(ppgtt)) in i915_gem_vm_create_ioctl()
[all …]
/Linux-v5.4/drivers/gpu/drm/i915/gvt/
Dscheduler.c368 struct i915_ppgtt *ppgtt = i915_vm_to_ppgtt(ctx->vm); in set_context_ppgtt_from_shadow() local
372 px_dma(ppgtt->pd) = mm->ppgtt_mm.shadow_pdps[0]; in set_context_ppgtt_from_shadow()
376 i915_pd_entry(ppgtt->pd, i); in set_context_ppgtt_from_shadow()
468 if (bb->ppgtt) { in prepare_shadow_batch_buffer()
1143 struct i915_ppgtt *ppgtt) in i915_context_ppgtt_root_restore() argument
1147 if (i915_vm_is_4lvl(&ppgtt->vm)) { in i915_context_ppgtt_root_restore()
1148 px_dma(ppgtt->pd) = s->i915_context_pml4; in i915_context_ppgtt_root_restore()
1152 i915_pd_entry(ppgtt->pd, i); in i915_context_ppgtt_root_restore()
1204 struct i915_ppgtt *ppgtt) in i915_context_ppgtt_root_save() argument
1208 if (i915_vm_is_4lvl(&ppgtt->vm)) { in i915_context_ppgtt_root_save()
[all …]
Dscheduler.h129 bool ppgtt; member
Dcmd_parser.c1842 bb->ppgtt = (s->buf_addr_type == GTT_BUFFER) ? false : true; in perform_bb_shadow()
1855 if (bb->ppgtt) in perform_bb_shadow()