Lines Matching refs:work

41 	struct work_struct work;  member
61 struct work_struct work; member
66 static void __cancel_userptr__worker(struct work_struct *work) in __cancel_userptr__worker() argument
68 struct i915_mmu_object *mo = container_of(work, typeof(*mo), work); in __cancel_userptr__worker()
74 obj->userptr.work = NULL; in __cancel_userptr__worker()
109 schedule_work(&mo->work); in cancel_userptr()
322 INIT_WORK(&mo->work, __cancel_userptr__worker); in i915_gem_userptr_init__mmu_notifier()
433 __i915_mm_struct_free__worker(struct work_struct *work) in __i915_mm_struct_free__worker() argument
435 struct i915_mm_struct *mm = container_of(work, typeof(*mm), work); in __i915_mm_struct_free__worker()
450 INIT_WORK(&mm->work, __i915_mm_struct_free__worker); in __i915_mm_struct_free()
451 schedule_work(&mm->work); in __i915_mm_struct_free()
467 struct work_struct work; member
555 if (!value || !work_pending(&obj->userptr.mmu_object->work)) in __i915_gem_userptr_set_active()
568 struct get_pages_work *work = container_of(_work, typeof(*work), work); in __i915_gem_userptr_get_pages_worker() local
569 struct drm_i915_gem_object *obj = work->obj; in __i915_gem_userptr_get_pages_worker()
587 ret = get_user_pages(work->task, mm, in __i915_gem_userptr_get_pages_worker()
601 if (obj->userptr.work == &work->work) { in __i915_gem_userptr_get_pages_worker()
612 obj->userptr.work = ERR_PTR(ret); in __i915_gem_userptr_get_pages_worker()
624 put_task_struct(work->task); in __i915_gem_userptr_get_pages_worker()
625 kfree(work); in __i915_gem_userptr_get_pages_worker()
632 struct get_pages_work *work; in __i915_gem_userptr_get_pages_schedule() local
656 work = kmalloc(sizeof(*work), GFP_KERNEL); in __i915_gem_userptr_get_pages_schedule()
657 if (work == NULL) in __i915_gem_userptr_get_pages_schedule()
660 obj->userptr.work = &work->work; in __i915_gem_userptr_get_pages_schedule()
663 work->obj = obj; in __i915_gem_userptr_get_pages_schedule()
666 work->task = current; in __i915_gem_userptr_get_pages_schedule()
667 get_task_struct(work->task); in __i915_gem_userptr_get_pages_schedule()
669 INIT_WORK(&work->work, __i915_gem_userptr_get_pages_worker); in __i915_gem_userptr_get_pages_schedule()
670 schedule_work(&work->work); in __i915_gem_userptr_get_pages_schedule()
700 if (IS_ERR(obj->userptr.work)) { in i915_gem_userptr_get_pages()
702 ret = PTR_ERR(obj->userptr.work); in i915_gem_userptr_get_pages()
703 obj->userptr.work = NULL; in i915_gem_userptr_get_pages()
706 if (obj->userptr.work) in i915_gem_userptr_get_pages()
752 BUG_ON(obj->userptr.work != NULL); in i915_gem_userptr_put_pages()