Home
last modified time | relevance | path

Searched refs:uvma (Results 1 – 7 of 7) sorted by relevance

/linux/drivers/gpu/drm/xe/
H A Dxe_hmm.c153 static void xe_hmm_userptr_set_mapped(struct xe_userptr_vma *uvma) in xe_hmm_userptr_set_mapped() argument
155 struct xe_userptr *userptr = &uvma->userptr; in xe_hmm_userptr_set_mapped()
156 struct xe_vm *vm = xe_vma_vm(&uvma->vma); in xe_hmm_userptr_set_mapped()
167 void xe_hmm_userptr_unmap(struct xe_userptr_vma *uvma) in xe_hmm_userptr_unmap() argument
169 struct xe_userptr *userptr = &uvma->userptr; in xe_hmm_userptr_unmap()
170 struct xe_vma *vma = &uvma->vma; in xe_hmm_userptr_unmap()
200 void xe_hmm_userptr_free_sg(struct xe_userptr_vma *uvma) in xe_hmm_userptr_free_sg() argument
202 struct xe_userptr *userptr = &uvma->userptr; in xe_hmm_userptr_free_sg()
204 xe_assert(xe_vma_vm(&uvma->vma)->xe, userptr->sg); in xe_hmm_userptr_free_sg()
205 xe_hmm_userptr_unmap(uvma); in xe_hmm_userptr_free_sg()
[all …]
H A Dxe_hmm.h13 int xe_hmm_userptr_populate_range(struct xe_userptr_vma *uvma, bool is_mm_mmap_locked);
15 void xe_hmm_userptr_free_sg(struct xe_userptr_vma *uvma);
17 void xe_hmm_userptr_unmap(struct xe_userptr_vma *uvma);
H A Dxe_vm.c59 int xe_vma_userptr_check_repin(struct xe_userptr_vma *uvma) in xe_vma_userptr_check_repin() argument
61 return mmu_interval_check_retry(&uvma->userptr.notifier, in xe_vma_userptr_check_repin()
62 uvma->userptr.notifier_seq) ? in xe_vma_userptr_check_repin()
66 int xe_vma_userptr_pin_pages(struct xe_userptr_vma *uvma) in xe_vma_userptr_pin_pages() argument
68 struct xe_vma *vma = &uvma->vma; in xe_vma_userptr_pin_pages()
75 return xe_hmm_userptr_populate_range(uvma, false); in xe_vma_userptr_pin_pages()
582 static void __vma_userptr_invalidate(struct xe_vm *vm, struct xe_userptr_vma *uvma) in __vma_userptr_invalidate() argument
584 struct xe_userptr *userptr = &uvma->userptr; in __vma_userptr_invalidate()
585 struct xe_vma *vma = &uvma->vma; in __vma_userptr_invalidate()
624 xe_hmm_userptr_unmap(uvma); in __vma_userptr_invalidate()
[all …]
H A Dxe_vm.h239 int xe_vma_userptr_pin_pages(struct xe_userptr_vma *uvma);
241 int xe_vma_userptr_check_repin(struct xe_userptr_vma *uvma);
284 void xe_vma_userptr_force_invalidate(struct xe_userptr_vma *uvma);
286 static inline void xe_vma_userptr_force_invalidate(struct xe_userptr_vma *uvma) in xe_vma_userptr_force_invalidate() argument
H A Dxe_pt.c1203 static bool xe_pt_userptr_inject_eagain(struct xe_userptr_vma *uvma) in xe_pt_userptr_inject_eagain() argument
1205 u32 divisor = uvma->userptr.divisor ? uvma->userptr.divisor : 2; in xe_pt_userptr_inject_eagain()
1209 uvma->userptr.divisor = divisor << 1; in xe_pt_userptr_inject_eagain()
1218 static bool xe_pt_userptr_inject_eagain(struct xe_userptr_vma *uvma) in xe_pt_userptr_inject_eagain() argument
1228 struct xe_userptr_vma *uvma; in vma_check_userptr() local
1236 uvma = to_userptr_vma(vma); in vma_check_userptr()
1237 if (xe_pt_userptr_inject_eagain(uvma)) in vma_check_userptr()
1238 xe_vma_userptr_force_invalidate(uvma); in vma_check_userptr()
1240 notifier_seq = uvma->userptr.notifier_seq; in vma_check_userptr()
1242 if (!mmu_interval_read_retry(&uvma->userptr.notifier, in vma_check_userptr()
H A Dxe_gt_pagefault.c147 struct xe_userptr_vma *uvma = to_userptr_vma(vma); in handle_vma_pagefault() local
149 err = xe_vma_userptr_pin_pages(uvma); in handle_vma_pagefault()
/linux/drivers/gpu/drm/nouveau/
H A Dnouveau_uvmm.c181 nouveau_uvma_vmm_put(struct nouveau_uvma *uvma) in nouveau_uvma_vmm_put() argument
183 u64 addr = uvma->va.va.addr; in nouveau_uvma_vmm_put()
184 u64 range = uvma->va.va.range; in nouveau_uvma_vmm_put()
186 return nouveau_uvmm_vmm_put(to_uvmm(uvma), addr, range); in nouveau_uvma_vmm_put()
190 nouveau_uvma_map(struct nouveau_uvma *uvma, in nouveau_uvma_map() argument
193 u64 addr = uvma->va.va.addr; in nouveau_uvma_map()
194 u64 offset = uvma->va.gem.offset; in nouveau_uvma_map()
195 u64 range = uvma->va.va.range; in nouveau_uvma_map()
197 return nouveau_uvmm_vmm_map(to_uvmm(uvma), addr, range, in nouveau_uvma_map()
198 offset, uvma->kind, mem); in nouveau_uvma_map()
[all …]