Lines Matching full:work
98 struct work_struct work; member
133 static void clear_pages_signal_irq_worker(struct irq_work *work) in clear_pages_signal_irq_worker() argument
135 struct clear_pages_work *w = container_of(work, typeof(*w), irq_work); in clear_pages_signal_irq_worker()
156 static void clear_pages_worker(struct work_struct *work) in clear_pages_worker() argument
158 struct clear_pages_work *w = container_of(work, typeof(*w), work); in clear_pages_worker()
298 schedule_work(&w->work); in clear_pages_work_notify()
318 struct clear_pages_work *work; in i915_gem_schedule_fill_pages_blt() local
326 work = kmalloc(sizeof(*work), GFP_KERNEL); in i915_gem_schedule_fill_pages_blt()
327 if (!work) { in i915_gem_schedule_fill_pages_blt()
332 work->value = value; in i915_gem_schedule_fill_pages_blt()
333 work->sleeve = sleeve; in i915_gem_schedule_fill_pages_blt()
334 work->ce = ce; in i915_gem_schedule_fill_pages_blt()
336 INIT_WORK(&work->work, clear_pages_worker); in i915_gem_schedule_fill_pages_blt()
338 init_irq_work(&work->irq_work, clear_pages_signal_irq_worker); in i915_gem_schedule_fill_pages_blt()
340 dma_fence_init(&work->dma, &clear_pages_work_ops, &fence_lock, 0, 0); in i915_gem_schedule_fill_pages_blt()
341 i915_sw_fence_init(&work->wait, clear_pages_work_notify); in i915_gem_schedule_fill_pages_blt()
343 err = pin_wait_clear_pages_work(work, ce); in i915_gem_schedule_fill_pages_blt()
345 dma_fence_set_error(&work->dma, err); in i915_gem_schedule_fill_pages_blt()
347 dma_fence_get(&work->dma); in i915_gem_schedule_fill_pages_blt()
348 i915_sw_fence_commit(&work->wait); in i915_gem_schedule_fill_pages_blt()