Lines Matching full:cb

421 	struct i915_sw_dma_fence_cb *cb = container_of(data, typeof(*cb), base);  in dma_i915_sw_fence_wake()  local
423 i915_sw_fence_set_error_once(cb->fence, dma->error); in dma_i915_sw_fence_wake()
424 i915_sw_fence_complete(cb->fence); in dma_i915_sw_fence_wake()
425 kfree(cb); in dma_i915_sw_fence_wake()
430 struct i915_sw_dma_fence_cb_timer *cb = from_timer(cb, t, timer); in timer_i915_sw_fence_wake() local
433 fence = xchg(&cb->base.fence, NULL); in timer_i915_sw_fence_wake()
438 cb->dma->ops->get_driver_name(cb->dma), in timer_i915_sw_fence_wake()
439 cb->dma->ops->get_timeline_name(cb->dma), in timer_i915_sw_fence_wake()
440 cb->dma->seqno, in timer_i915_sw_fence_wake()
450 struct i915_sw_dma_fence_cb_timer *cb = in dma_i915_sw_fence_wake_timer() local
451 container_of(data, typeof(*cb), base.base); in dma_i915_sw_fence_wake_timer()
454 fence = xchg(&cb->base.fence, NULL); in dma_i915_sw_fence_wake_timer()
460 irq_work_queue(&cb->work); in dma_i915_sw_fence_wake_timer()
465 struct i915_sw_dma_fence_cb_timer *cb = in irq_i915_sw_fence_work() local
466 container_of(wrk, typeof(*cb), work); in irq_i915_sw_fence_work()
468 del_timer_sync(&cb->timer); in irq_i915_sw_fence_work()
469 dma_fence_put(cb->dma); in irq_i915_sw_fence_work()
471 kfree_rcu(cb, rcu); in irq_i915_sw_fence_work()
479 struct i915_sw_dma_fence_cb *cb; in i915_sw_fence_await_dma_fence() local
491 cb = kmalloc(timeout ? in i915_sw_fence_await_dma_fence()
495 if (!cb) { in i915_sw_fence_await_dma_fence()
507 cb->fence = fence; in i915_sw_fence_await_dma_fence()
513 container_of(cb, typeof(*timer), base); in i915_sw_fence_await_dma_fence()
525 ret = dma_fence_add_callback(dma, &cb->base, func); in i915_sw_fence_await_dma_fence()
529 func(dma, &cb->base); in i915_sw_fence_await_dma_fence()
540 struct i915_sw_dma_fence_cb *cb = container_of(data, typeof(*cb), base); in __dma_i915_sw_fence_wake() local
542 i915_sw_fence_set_error_once(cb->fence, dma->error); in __dma_i915_sw_fence_wake()
543 i915_sw_fence_complete(cb->fence); in __dma_i915_sw_fence_wake()
548 struct i915_sw_dma_fence_cb *cb) in __i915_sw_fence_await_dma_fence() argument
559 cb->fence = fence; in __i915_sw_fence_await_dma_fence()
563 if (dma_fence_add_callback(dma, &cb->base, __dma_i915_sw_fence_wake)) { in __i915_sw_fence_await_dma_fence()
565 __dma_i915_sw_fence_wake(dma, &cb->base); in __i915_sw_fence_await_dma_fence()