Searched refs:userptr (Results 1 - 25 of 38) sorted by relevance

12

/linux-master/drivers/gpu/drm/i915/gem/
H A Di915_gem_userptr.c74 return mmu_interval_notifier_insert(&obj->userptr.notifier, current->mm,
75 obj->userptr.ptr, obj->base.size,
85 if (!--obj->userptr.page_ref) {
86 pvec = obj->userptr.pvec;
87 obj->userptr.pvec = NULL;
89 GEM_BUG_ON(obj->userptr.page_ref < 0);
115 if (!obj->userptr.page_ref) {
120 obj->userptr.page_ref++;
121 pvec = obj->userptr.pvec;
241 if (obj->userptr
[all...]
H A Di915_gem_object_types.h535 * I915_CACHE_NONE. The only exception is userptr objects, where we
721 } userptr; member in union:drm_i915_gem_object::__anon631
/linux-master/drivers/accel/habanalabs/common/
H A Dmemory.c218 * @p_userptr: pointer to result userptr structure.
221 * - Allocate userptr structure.
222 * - Pin the given host memory using the userptr structure.
228 struct hl_userptr *userptr; local
231 userptr = kzalloc(sizeof(*userptr), GFP_KERNEL);
232 if (!userptr) {
237 rc = hl_pin_host_memory(hdev, addr, size, userptr);
241 userptr->dma_mapped = true;
242 userptr
273 dma_unmap_host_va(struct hl_device *hdev, struct hl_userptr *userptr) argument
838 init_phys_pg_pack_from_userptr(struct hl_ctx *ctx, struct hl_userptr *userptr, struct hl_vm_phys_pg_pack **pphys_pg_pack, bool force_regular_page) argument
1054 struct hl_userptr *userptr = NULL; local
1279 struct hl_userptr *userptr = NULL; local
2319 get_user_memory(struct hl_device *hdev, u64 addr, u64 size, u32 npages, u64 start, u32 offset, struct hl_userptr *userptr) argument
2377 hl_pin_host_memory(struct hl_device *hdev, u64 addr, u64 size, struct hl_userptr *userptr) argument
2443 hl_unpin_host_memory(struct hl_device *hdev, struct hl_userptr *userptr) argument
2471 struct hl_userptr *userptr, *tmp; local
2493 hl_userptr_is_pinned(struct hl_device *hdev, u64 addr, u32 size, struct list_head *userptr_list, struct hl_userptr **userptr) argument
[all...]
H A Ddebugfs.c212 struct hl_userptr *userptr; local
219 list_for_each_entry(userptr, &dev_entry->userptr_list, debugfs_list) {
227 userptr->pid, userptr->addr, userptr->size,
228 dma_dir[userptr->dir]);
247 struct hl_userptr *userptr; local
272 userptr = hnode->ptr;
275 hnode->vaddr, userptr->size);
359 struct hl_userptr *userptr; local
694 struct hl_userptr *userptr; local
1869 hl_debugfs_add_userptr(struct hl_device *hdev, struct hl_userptr *userptr) argument
1878 hl_debugfs_remove_userptr(struct hl_device *hdev, struct hl_userptr *userptr) argument
[all...]
/linux-master/drivers/gpu/drm/xe/
H A Dxe_vm.c49 * @uvma: The userptr vma
51 * Check if the userptr vma has been invalidated since last successful
53 * without the vm->userptr.notifier_lock held. There is no guarantee that the
54 * vma userptr will remain valid after a lockless check, so typically
57 * Return: 0 if userptr vma is valid, -EAGAIN otherwise; repin recommended.
61 return mmu_interval_check_retry(&uvma->userptr.notifier,
62 uvma->userptr.notifier_seq) ?
68 struct xe_userptr *userptr = &uvma->userptr; local
85 notifier_seq = mmu_interval_read_begin(&userptr
671 struct xe_userptr *userptr = container_of(mni, typeof(*userptr), notifier); local
925 struct xe_userptr *userptr = &to_userptr_vma(vma)->userptr; local
963 struct xe_userptr *userptr = &to_userptr_vma(vma)->userptr; local
3447 void __user *userptr = (void __user *)(size_t)snap->snap[i].bo_ofs; local
[all...]
H A Dxe_pt.c227 * vm lock, the object lock and for userptr, the notifier lock in read mode.
637 xe_res_first_sg(to_userptr_vma(vma)->userptr.sg, 0,
835 lockdep_assert_held_read(&vm->userptr.notifier_lock);
926 u32 divisor = uvma->userptr.divisor ? uvma->userptr.divisor : 2;
932 uvma->userptr.divisor = divisor << 1;
933 spin_lock(&vm->userptr.invalidated_lock);
934 list_move_tail(&uvma->userptr.invalidate_link,
935 &vm->userptr.invalidated);
936 spin_unlock(&vm->userptr
[all...]
H A Dxe_vm_types.h39 /** @invalidate_link: Link for the vm::userptr.invalidated list */
41 /** @userptr: link into VM repin list if userptr. */
55 * write: vm->userptr.notifier_lock in read mode and vm->resv held.
56 * read: vm->userptr.notifier_lock in write mode or vm->resv held.
96 * vm->userptr.notifier_lock for writing. Needs either for reading,
115 * struct xe_userptr_vma - A userptr vma subclass
117 * @userptr: Additional userptr information.
121 struct xe_userptr userptr; member in struct:xe_userptr_vma
222 } userptr; member in struct:xe_vm
[all...]
H A Dxe_exec.c83 * Pin userptrs (also finds userptr invalidated since last exec) |
279 err = down_read_interruptible(&vm->userptr.notifier_lock);
316 up_read(&vm->userptr.notifier_lock);
H A Dxe_gt_pagefault.c188 spin_lock(&vm->userptr.invalidated_lock);
189 list_del_init(&uvma->userptr.invalidate_link);
190 spin_unlock(&vm->userptr.invalidated_lock);
/linux-master/drivers/media/v4l2-core/
H A Dv4l2-compat-ioctl32.c272 compat_long_t userptr; member in union:v4l2_plane32::__anon1173
300 compat_long_t userptr; member in union:v4l2_buffer32::__anon1175
324 compat_long_t userptr; member in union:v4l2_buffer32_time32::__anon1176
350 m.userptr = (unsigned long)compat_ptr(plane32.m.userptr);
387 plane32.m.userptr = (uintptr_t)(p64->m.userptr);
431 vb->m.userptr = (unsigned long)compat_ptr(vb32.m.userptr);
475 vb->m.userptr
[all...]
/linux-master/drivers/gpu/drm/etnaviv/
H A Detnaviv_gem.c642 struct etnaviv_gem_userptr *userptr = &etnaviv_obj->userptr; local
648 if (userptr->mm != current->mm)
655 if (!userptr->ro)
660 uint64_t ptr = userptr->ptr + pinned * PAGE_SIZE;
720 etnaviv_obj->userptr.ptr = ptr;
721 etnaviv_obj->userptr.mm = current->mm;
722 etnaviv_obj->userptr.ro = !(flags & ETNA_USERPTR_WRITE);
H A Detnaviv_gem.h55 struct etnaviv_gem_userptr userptr; member in struct:etnaviv_gem_object
/linux-master/drivers/gpu/drm/radeon/
H A Dradeon_ttm.c316 uint64_t userptr; member in struct:radeon_ttm_tt
340 unsigned long end = gtt->userptr + (u64)ttm->num_pages * PAGE_SIZE;
342 vma = find_vma(gtt->usermm, gtt->userptr);
349 uint64_t userptr = gtt->userptr + pinned * PAGE_SIZE; local
352 r = get_user_pages(userptr, num_pages, write ? FOLL_WRITE : 0,
433 if (gtt->userptr) {
461 if (gtt->userptr)
535 if (gtt && gtt->userptr) {
561 if (gtt && gtt->userptr) {
[all...]
/linux-master/include/linux/
H A Dsplice.h37 void __user *userptr; /* memory to write to */ member in union:splice_desc::__anon318
/linux-master/drivers/gpu/drm/nouveau/
H A Dnouveau_drv.h192 void __user *userptr = u64_to_user_ptr(user); local
197 return vmemdup_user(userptr, bytes);
/linux-master/drivers/gpu/drm/exynos/
H A Dexynos_drm_g2d.c123 /* maximum buffer pool size of userptr is 64MB as default */
207 unsigned long userptr; member in struct:g2d_cmdlist_userptr
415 unsigned long userptr,
428 DRM_DEV_ERROR(g2d->dev, "invalid userptr size.\n");
432 /* check if userptr already exists in userptr_list. */
434 if (g2d_userptr->userptr == userptr) {
450 * referred again and also except it the userptr
468 start = userptr & PAGE_MASK;
469 offset = userptr
414 g2d_userptr_get_dma_addr(struct g2d_data *g2d, unsigned long userptr, unsigned long size, struct drm_file *filp, void **obj) argument
[all...]
/linux-master/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_ttm.c649 uint64_t userptr; member in struct:amdgpu_ttm_tt
671 unsigned long start = gtt->userptr;
721 if (gtt && gtt->userptr && range)
736 if (!gtt || !gtt->userptr || !range)
740 gtt->userptr, ttm->num_pages);
803 * amdgpu_ttm_tt_unpin_userptr - Unpin and unmap userptr pages
902 if (gtt->userptr) {
905 DRM_ERROR("failed to pin userptr\n");
1028 /* if the pages have userptr pinning then clear that first */
1029 if (gtt->userptr) {
1261 amdgpu_ttm_tt_affect_userptr(struct ttm_tt *ttm, unsigned long start, unsigned long end, unsigned long *userptr) argument
[all...]
H A Damdgpu_ttm.h204 unsigned long end, unsigned long *userptr);
/linux-master/drivers/media/common/videobuf2/
H A Dvideobuf2-v4l2.c210 planes[plane].m.userptr =
211 b->m.planes[plane].m.userptr;
284 planes[0].m.userptr = b->m.userptr;
515 pdst->m.userptr = psrc->m.userptr;
531 b->m.userptr = vb->planes[0].m.userptr;
/linux-master/drivers/gpu/drm/msm/
H A Dmsm_gem_submit.c126 void __user *userptr = local
134 if (copy_from_user(&submit_bo, userptr, sizeof(submit_bo))) {
193 void __user *userptr = local
196 ret = copy_from_user(&submit_cmd, userptr, sizeof(submit_cmd));
226 userptr = u64_to_user_ptr(submit_cmd.relocs);
240 ret = copy_from_user(submit->cmd[i].relocs, userptr, sz);
/linux-master/include/uapi/drm/
H A Dexynos_drm.h119 unsigned long userptr; member in struct:drm_exynos_g2d_userptr
H A Dxe_drm.h916 * Note: For userptr and externally imported dma-buf the kernel expects
937 /** @userptr: user pointer to bind on */
938 __u64 userptr; member in union:drm_xe_vm_bind_op::__anon1287
981 * illustrate `userptr`. It can be synchronized by using the example
1028 * @vector_of_binds: userptr to array of struct
/linux-master/net/ipv4/netfilter/
H A Dip_tables.c812 void __user *userptr)
835 if (copy_to_user(userptr + off, e, sizeof(*e))) {
839 if (copy_to_user(userptr + off
852 if (xt_match_to_user(m, userptr + off + i)) {
859 if (xt_target_to_user(t, userptr + off + e->target_offset)) {
1551 void __user *userptr)
1565 pos = userptr;
810 copy_entries_to_user(unsigned int total_size, const struct xt_table *table, void __user *userptr) argument
1550 compat_copy_entries_to_user(unsigned int total_size, struct xt_table *table, void __user *userptr) argument
H A Darp_tables.c672 void __user *userptr)
693 if (copy_to_user(userptr + off, e, sizeof(*e))) {
697 if (copy_to_user(userptr + off
706 if (xt_target_to_user(t, userptr + off + e->target_offset)) {
1341 void __user *userptr)
1355 pos = userptr;
670 copy_entries_to_user(unsigned int total_size, const struct xt_table *table, void __user *userptr) argument
1339 compat_copy_entries_to_user(unsigned int total_size, struct xt_table *table, void __user *userptr) argument
/linux-master/net/ipv6/netfilter/
H A Dip6_tables.c828 void __user *userptr)
851 if (copy_to_user(userptr + off, e, sizeof(*e))) {
855 if (copy_to_user(userptr + off
868 if (xt_match_to_user(m, userptr + off + i)) {
875 if (xt_target_to_user(t, userptr + off + e->target_offset)) {
1560 void __user *userptr)
1574 pos = userptr;
826 copy_entries_to_user(unsigned int total_size, const struct xt_table *table, void __user *userptr) argument
1559 compat_copy_entries_to_user(unsigned int total_size, struct xt_table *table, void __user *userptr) argument

Completed in 318 milliseconds

12