Lines Matching refs:cb
242 int fence_add_callback(struct fence *fence, struct fence_cb *cb, in fence_add_callback() argument
253 INIT_LIST_HEAD(&cb->node); in fence_add_callback()
273 cb->func = func; in fence_add_callback()
274 list_add_tail(&cb->node, &fence->cb_list); in fence_add_callback()
276 INIT_LIST_HEAD(&cb->node); in fence_add_callback()
299 fence_remove_callback(struct fence *fence, struct fence_cb *cb) in fence_remove_callback() argument
306 ret = !list_empty(&cb->node); in fence_remove_callback()
308 list_del_init(&cb->node); in fence_remove_callback()
322 fence_default_wait_cb(struct fence *fence, struct fence_cb *cb) in fence_default_wait_cb() argument
325 container_of(cb, struct default_wait_cb, base); in fence_default_wait_cb()
343 struct default_wait_cb cb; in fence_default_wait() local
372 cb.base.func = fence_default_wait_cb; in fence_default_wait()
373 cb.task = current; in fence_default_wait()
374 list_add(&cb.base.node, &fence->cb_list); in fence_default_wait()
390 if (!list_empty(&cb.base.node)) in fence_default_wait()
391 list_del(&cb.base.node); in fence_default_wait()
433 struct default_wait_cb *cb; in fence_wait_any_timeout() local
448 cb = kcalloc(count, sizeof(struct default_wait_cb), GFP_KERNEL); in fence_wait_any_timeout()
449 if (cb == NULL) { in fence_wait_any_timeout()
462 cb[i].task = current; in fence_wait_any_timeout()
463 if (fence_add_callback(fence, &cb[i].base, in fence_wait_any_timeout()
489 fence_remove_callback(fences[i], &cb[i].base); in fence_wait_any_timeout()
492 kfree(cb); in fence_wait_any_timeout()