Lines Matching defs:fcb
530 * dma_fence_add_callback(fence, fcb, fn)
535 * fcb) when it is signalled, and return 0.
537 * The fence uses memory allocated by the caller in fcb from the
542 dma_fence_add_callback(struct dma_fence *fence, struct dma_fence_cb *fcb,
565 SDT_PROBE2(sdt, drm, fence, add_callback, fence, fcb);
566 fcb->func = fn;
567 TAILQ_INSERT_TAIL(&fence->f_callbacks, fcb, fcb_entry);
568 fcb->fcb_onqueue = true;
574 fcb->func = NULL;
575 fcb->fcb_onqueue = false;
581 * dma_fence_remove_callback(fence, fcb)
583 * Remove the callback fcb from fence. Return true if it was
586 * dma_fence_add_callback(fence, fcb).
589 dma_fence_remove_callback(struct dma_fence *fence, struct dma_fence_cb *fcb)
596 onqueue = fcb->fcb_onqueue;
598 SDT_PROBE2(sdt, drm, fence, remove_callback, fence, fcb);
599 TAILQ_REMOVE(&fence->f_callbacks, fcb, fcb_entry);
600 fcb->fcb_onqueue = false;
766 struct dma_fence_cb *fcb, *next;
785 TAILQ_FOREACH_SAFE(fcb, &fence->f_callbacks, fcb_entry, next) {
786 SDT_PROBE2(sdt, drm, fence, callback, fence, fcb);
787 TAILQ_REMOVE(&fence->f_callbacks, fcb, fcb_entry);
788 fcb->fcb_onqueue = false;
789 (*fcb->func)(fence, fcb);
797 struct dma_fence_cb fcb;
807 wait_any_cb(struct dma_fence *fence, struct dma_fence_cb *fcb)
809 struct wait_any *cb = container_of(fcb, struct wait_any, fcb);
877 ret = dma_fence_add_callback(fences[i], &cb[i].fcb,
970 (void)dma_fence_remove_callback(fences[i], &cb[i].fcb);
1180 struct dma_fence_cb *fcb, *next;
1199 TAILQ_FOREACH_SAFE(fcb, &fence->f_callbacks, fcb_entry, next) {
1200 TAILQ_REMOVE(&fence->f_callbacks, fcb, fcb_entry);
1201 fcb->fcb_onqueue = false;
1202 (*fcb->func)(fence, fcb);