Lines Matching refs:work
42 struct work_struct work; member
61 struct work_struct work; member
65 static void cancel_userptr(struct work_struct *work) in cancel_userptr() argument
67 struct i915_mmu_object *mo = container_of(work, typeof(*mo), work); in cancel_userptr()
73 active = fetch_and_zero(&obj->userptr.work); in cancel_userptr()
151 queue_work(mn->wq, &mo->work); in i915_gem_userptr_mn_invalidate_range_start()
276 INIT_WORK(&mo->work, cancel_userptr); in i915_gem_userptr_init__mmu_notifier()
382 __i915_mm_struct_free__worker(struct work_struct *work) in __i915_mm_struct_free__worker() argument
384 struct i915_mm_struct *mm = container_of(work, typeof(*mm), work); in __i915_mm_struct_free__worker()
399 INIT_WORK(&mm->work, __i915_mm_struct_free__worker); in __i915_mm_struct_free()
400 queue_work(mm->i915->mm.userptr_wq, &mm->work); in __i915_mm_struct_free()
416 struct work_struct work; member
490 else if (!work_pending(&obj->userptr.mmu_object->work)) in __i915_gem_userptr_set_active()
503 struct get_pages_work *work = container_of(_work, typeof(*work), work); in __i915_gem_userptr_get_pages_worker() local
504 struct drm_i915_gem_object *obj = work->obj; in __i915_gem_userptr_get_pages_worker()
525 (work->task, mm, in __i915_gem_userptr_get_pages_worker()
541 if (obj->userptr.work == &work->work) { in __i915_gem_userptr_get_pages_worker()
553 obj->userptr.work = ERR_CAST(pages); in __i915_gem_userptr_get_pages_worker()
563 put_task_struct(work->task); in __i915_gem_userptr_get_pages_worker()
564 kfree(work); in __i915_gem_userptr_get_pages_worker()
570 struct get_pages_work *work; in __i915_gem_userptr_get_pages_schedule() local
591 work = kmalloc(sizeof(*work), GFP_KERNEL); in __i915_gem_userptr_get_pages_schedule()
592 if (work == NULL) in __i915_gem_userptr_get_pages_schedule()
595 obj->userptr.work = &work->work; in __i915_gem_userptr_get_pages_schedule()
597 work->obj = i915_gem_object_get(obj); in __i915_gem_userptr_get_pages_schedule()
599 work->task = current; in __i915_gem_userptr_get_pages_schedule()
600 get_task_struct(work->task); in __i915_gem_userptr_get_pages_schedule()
602 INIT_WORK(&work->work, __i915_gem_userptr_get_pages_worker); in __i915_gem_userptr_get_pages_schedule()
603 queue_work(to_i915(obj->base.dev)->mm.userptr_wq, &work->work); in __i915_gem_userptr_get_pages_schedule()
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()
685 BUG_ON(obj->userptr.work != NULL); in i915_gem_userptr_put_pages()