/linux-master/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_userptr.c | 74 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 D | i915_gem_object_types.h | 535 * 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 D | memory.c | 218 * @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 D | debugfs.c | 212 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 D | xe_vm.c | 49 * @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 D | xe_pt.c | 227 * 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 D | xe_vm_types.h | 39 /** @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 D | xe_exec.c | 83 * 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 D | xe_gt_pagefault.c | 188 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 D | v4l2-compat-ioctl32.c | 272 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 D | etnaviv_gem.c | 642 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 D | etnaviv_gem.h | 55 struct etnaviv_gem_userptr userptr; member in struct:etnaviv_gem_object
|
/linux-master/drivers/gpu/drm/radeon/ |
H A D | radeon_ttm.c | 316 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 D | splice.h | 37 void __user *userptr; /* memory to write to */ member in union:splice_desc::__anon318
|
/linux-master/drivers/gpu/drm/nouveau/ |
H A D | nouveau_drv.h | 192 void __user *userptr = u64_to_user_ptr(user); local 197 return vmemdup_user(userptr, bytes);
|
/linux-master/drivers/gpu/drm/exynos/ |
H A D | exynos_drm_g2d.c | 123 /* 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 D | amdgpu_ttm.c | 649 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 D | amdgpu_ttm.h | 204 unsigned long end, unsigned long *userptr);
|
/linux-master/drivers/media/common/videobuf2/ |
H A D | videobuf2-v4l2.c | 210 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 D | msm_gem_submit.c | 126 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 D | exynos_drm.h | 119 unsigned long userptr; member in struct:drm_exynos_g2d_userptr
|
H A D | xe_drm.h | 916 * 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 D | ip_tables.c | 812 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 D | arp_tables.c | 672 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 D | ip6_tables.c | 828 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
|