Lines Matching refs:userptr
73 return mmu_interval_notifier_insert(&obj->userptr.notifier, current->mm, in i915_gem_userptr_init__mmu_notifier()
74 obj->userptr.ptr, obj->base.size, in i915_gem_userptr_init__mmu_notifier()
84 if (!--obj->userptr.page_ref) { in i915_gem_object_userptr_drop_ref()
85 pvec = obj->userptr.pvec; in i915_gem_object_userptr_drop_ref()
86 obj->userptr.pvec = NULL; in i915_gem_object_userptr_drop_ref()
88 GEM_BUG_ON(obj->userptr.page_ref < 0); in i915_gem_object_userptr_drop_ref()
114 if (!obj->userptr.page_ref) { in i915_gem_userptr_get_pages()
119 obj->userptr.page_ref++; in i915_gem_userptr_get_pages()
120 pvec = obj->userptr.pvec; in i915_gem_userptr_get_pages()
240 if (obj->userptr.notifier.mm != current->mm) in i915_gem_object_userptr_submit_init()
243 notifier_seq = mmu_interval_read_begin(&obj->userptr.notifier); in i915_gem_object_userptr_submit_init()
249 if (notifier_seq == obj->userptr.notifier_seq && obj->userptr.pvec) { in i915_gem_object_userptr_submit_init()
268 ret = pin_user_pages_fast(obj->userptr.ptr + pinned * PAGE_SIZE, in i915_gem_object_userptr_submit_init()
281 if (mmu_interval_read_retry(&obj->userptr.notifier, in i915_gem_object_userptr_submit_init()
282 !obj->userptr.page_ref ? notifier_seq : in i915_gem_object_userptr_submit_init()
283 obj->userptr.notifier_seq)) { in i915_gem_object_userptr_submit_init()
288 if (!obj->userptr.page_ref++) { in i915_gem_object_userptr_submit_init()
289 obj->userptr.pvec = pvec; in i915_gem_object_userptr_submit_init()
290 obj->userptr.notifier_seq = notifier_seq; in i915_gem_object_userptr_submit_init()
295 obj->userptr.page_ref--; in i915_gem_object_userptr_submit_init()
311 if (mmu_interval_read_retry(&obj->userptr.notifier, in i915_gem_object_userptr_submit_done()
312 obj->userptr.notifier_seq)) { in i915_gem_object_userptr_submit_done()
349 GEM_WARN_ON(obj->userptr.page_ref); in i915_gem_userptr_release()
351 if (!obj->userptr.notifier.mm) in i915_gem_userptr_release()
354 mmu_interval_notifier_remove(&obj->userptr.notifier); in i915_gem_userptr_release()
355 obj->userptr.notifier.mm = NULL; in i915_gem_userptr_release()
530 obj->userptr.ptr = args->user_ptr; in i915_gem_userptr_ioctl()
531 obj->userptr.notifier_seq = ULONG_MAX; in i915_gem_userptr_ioctl()