Lines Matching refs:userptr

73 	active = fetch_and_zero(&obj->userptr.work);  in cancel_userptr()
191 mo = obj->userptr.mmu_object; in i915_gem_userptr_release__mmu_notifier()
200 obj->userptr.mmu_object = NULL; in i915_gem_userptr_release__mmu_notifier()
254 if (WARN_ON(obj->userptr.mm == NULL)) in i915_gem_userptr_init__mmu_notifier()
257 mn = i915_mmu_notifier_find(obj->userptr.mm); in i915_gem_userptr_init__mmu_notifier()
267 mo->it.start = obj->userptr.ptr; in i915_gem_userptr_init__mmu_notifier()
268 mo->it.last = obj->userptr.ptr + obj->base.size - 1; in i915_gem_userptr_init__mmu_notifier()
271 obj->userptr.mmu_object = mo; in i915_gem_userptr_init__mmu_notifier()
368 obj->userptr.mm = mm; in i915_gem_userptr_init__mm_struct()
401 if (obj->userptr.mm == NULL) in i915_gem_userptr_release__mm_struct()
404 kref_put_mutex(&obj->userptr.mm->kref, in i915_gem_userptr_release__mm_struct()
407 obj->userptr.mm = NULL; in i915_gem_userptr_release__mm_struct()
478 if (obj->userptr.mmu_object == NULL) in __i915_gem_userptr_set_active()
481 lockmgr(&obj->userptr.mmu_object->mn->lock, LK_EXCLUSIVE); in __i915_gem_userptr_set_active()
486 del_object(obj->userptr.mmu_object); in __i915_gem_userptr_set_active()
487 else if (!work_pending(&obj->userptr.mmu_object->work)) in __i915_gem_userptr_set_active()
488 add_object(obj->userptr.mmu_object); in __i915_gem_userptr_set_active()
491 lockmgr(&obj->userptr.mmu_object->mn->lock, LK_RELEASE); in __i915_gem_userptr_set_active()
512 struct mm_struct *mm = obj->userptr.mm->mm;
515 if (!obj->userptr.read_only)
524 obj->userptr.ptr + pinned * PAGE_SIZE,
539 if (obj->userptr.work == &work->work) {
551 obj->userptr.work = ERR_CAST(pages);
593 obj->userptr.work = &work->work;
611 struct mm_struct *mm = obj->userptr.mm->mm; in i915_gem_userptr_get_pages()
634 if (obj->userptr.work) { in i915_gem_userptr_get_pages()
636 if (IS_ERR(obj->userptr.work)) in i915_gem_userptr_get_pages()
637 return PTR_ERR(obj->userptr.work); in i915_gem_userptr_get_pages()
651 pinned = __get_user_pages_fast(obj->userptr.ptr, in i915_gem_userptr_get_pages()
653 !obj->userptr.read_only, in i915_gem_userptr_get_pages()
687 BUG_ON(obj->userptr.work != NULL); in i915_gem_userptr_put_pages()
718 if (obj->userptr.mmu_object) in i915_gem_userptr_dmabuf_export()
814 obj->userptr.ptr = args->user_ptr; in i915_gem_userptr_ioctl()
815 obj->userptr.read_only = !!(args->flags & I915_USERPTR_READ_ONLY); in i915_gem_userptr_ioctl()