Lines Matching refs:work

41 	struct work_struct work;  member
72 obj->userptr.work = NULL; in cancel_userptr()
467 __i915_mm_struct_free__worker(struct work_struct *work) in __i915_mm_struct_free__worker() argument
469 struct i915_mm_struct *mm = container_of(work, typeof(*mm), work); in __i915_mm_struct_free__worker()
484 INIT_WORK(&mm->work, __i915_mm_struct_free__worker); in __i915_mm_struct_free()
485 schedule_work(&mm->work); in __i915_mm_struct_free()
501 struct work_struct work; member
548 struct get_pages_work *work = container_of(_work, typeof(*work), work); in __i915_gem_userptr_get_pages_worker() local
549 struct drm_i915_gem_object *obj = work->obj; in __i915_gem_userptr_get_pages_worker()
567 ret = get_user_pages(work->task, mm, in __i915_gem_userptr_get_pages_worker()
581 if (obj->userptr.work != &work->work) { in __i915_gem_userptr_get_pages_worker()
591 obj->userptr.work = ERR_PTR(ret); in __i915_gem_userptr_get_pages_worker()
599 put_task_struct(work->task); in __i915_gem_userptr_get_pages_worker()
600 kfree(work); in __i915_gem_userptr_get_pages_worker()
666 if (obj->userptr.work == NULL && in i915_gem_userptr_get_pages()
668 struct get_pages_work *work; in i915_gem_userptr_get_pages() local
670 work = kmalloc(sizeof(*work), GFP_KERNEL); in i915_gem_userptr_get_pages()
671 if (work != NULL) { in i915_gem_userptr_get_pages()
672 obj->userptr.work = &work->work; in i915_gem_userptr_get_pages()
675 work->obj = obj; in i915_gem_userptr_get_pages()
678 work->task = current; in i915_gem_userptr_get_pages()
679 get_task_struct(work->task); in i915_gem_userptr_get_pages()
681 INIT_WORK(&work->work, __i915_gem_userptr_get_pages_worker); in i915_gem_userptr_get_pages()
682 schedule_work(&work->work); in i915_gem_userptr_get_pages()
686 if (IS_ERR(obj->userptr.work)) { in i915_gem_userptr_get_pages()
687 ret = PTR_ERR(obj->userptr.work); in i915_gem_userptr_get_pages()
688 obj->userptr.work = NULL; in i915_gem_userptr_get_pages()
695 obj->userptr.work = NULL; in i915_gem_userptr_get_pages()
710 BUG_ON(obj->userptr.work != NULL); in i915_gem_userptr_put_pages()