Home
last modified time | relevance | path

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

/linux/drivers/gpu/drm/xe/
H A Dxe_userptr.c34 int xe_vma_userptr_check_repin(struct xe_userptr_vma *uvma) in xe_vma_userptr_check_repin() argument
36 return mmu_interval_check_retry(&uvma->userptr.notifier, in xe_vma_userptr_check_repin()
37 uvma->userptr.pages.notifier_seq) ? in xe_vma_userptr_check_repin()
60 int xe_vma_userptr_pin_pages(struct xe_userptr_vma *uvma) in xe_vma_userptr_pin_pages() argument
62 struct xe_vma *vma = &uvma->vma; in xe_vma_userptr_pin_pages()
77 return drm_gpusvm_get_pages(&vm->svm.gpusvm, &uvma->userptr.pages, in xe_vma_userptr_pin_pages()
78 uvma->userptr.notifier.mm, in xe_vma_userptr_pin_pages()
79 &uvma->userptr.notifier, in xe_vma_userptr_pin_pages()
86 xe_vma_userptr_do_inval(struct xe_vm *vm, struct xe_userptr_vma *uvma, bool is_deferred) in xe_vma_userptr_do_inval() argument
88 struct xe_userptr *userptr = &uvma->userptr; in xe_vma_userptr_do_inval()
[all …]
H A Dxe_pt.c1531 static bool xe_pt_userptr_inject_eagain(struct xe_userptr_vma *uvma) in xe_pt_userptr_inject_eagain() argument
1533 u32 divisor = uvma->userptr.divisor ? uvma->userptr.divisor : 2; in xe_pt_userptr_inject_eagain()
1537 uvma->userptr.divisor = divisor << 1; in xe_pt_userptr_inject_eagain()
1546 static bool xe_pt_userptr_inject_eagain(struct xe_userptr_vma *uvma) in xe_pt_userptr_inject_eagain() argument
1556 struct xe_userptr_vma *uvma; in vma_check_userptr() local
1564 uvma = to_userptr_vma(vma); in vma_check_userptr()
1565 if (xe_pt_userptr_inject_eagain(uvma)) in vma_check_userptr()
1566 xe_vma_userptr_force_invalidate(uvma); in vma_check_userptr()
1568 notifier_seq = uvma->userptr.pages.notifier_seq; in vma_check_userptr()
1570 if (!mmu_interval_read_retry(&uvma->userptr.notifier, in vma_check_userptr()
H A Dxe_pagefault.c109 struct xe_userptr_vma *uvma = to_userptr_vma(vma); in xe_pagefault_handle_vma() local
111 err = xe_vma_userptr_pin_pages(uvma); in xe_pagefault_handle_vma()
/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()
185 u8 page_shift = uvma->page_shift; in nouveau_uvma_vmm_put()
187 return nouveau_uvmm_vmm_put(to_uvmm(uvma), addr, range, page_shift); in nouveau_uvma_vmm_put()
191 nouveau_uvma_map(struct nouveau_uvma *uvma, in nouveau_uvma_map() argument
194 u64 addr = uvma->va.va.addr; in nouveau_uvma_map()
195 u64 offset = uvma->va.gem.offset; in nouveau_uvma_map()
196 u64 range = uvma->va.va.range; in nouveau_uvma_map()
197 u8 page_shift = uvma->page_shift; in nouveau_uvma_map()
[all …]