Lines Matching full:task
112 CryptoDevLKCFTask *task, *next; in cryptodev_lkcf_handle_response() local
122 QSIMPLEQ_FOREACH_SAFE(task, &responses, queue, next) { in cryptodev_lkcf_handle_response()
123 if (task->cb) { in cryptodev_lkcf_handle_response()
124 task->cb(task->opaque, task->status); in cryptodev_lkcf_handle_response()
126 g_free(task); in cryptodev_lkcf_handle_response()
257 CryptoDevLKCFTask *task, *next; in cryptodev_lkcf_cleanup() local
269 QSIMPLEQ_FOREACH_SAFE(task, &lkcf->requests, queue, next) { in cryptodev_lkcf_cleanup()
270 if (task->cb) { in cryptodev_lkcf_cleanup()
271 task->cb(task->opaque, task->status); in cryptodev_lkcf_cleanup()
273 g_free(task); in cryptodev_lkcf_cleanup()
276 QSIMPLEQ_FOREACH_SAFE(task, &lkcf->responses, queue, next) { in cryptodev_lkcf_cleanup()
277 if (task->cb) { in cryptodev_lkcf_cleanup()
278 task->cb(task->opaque, task->status); in cryptodev_lkcf_cleanup()
280 g_free(task); in cryptodev_lkcf_cleanup()
304 static void cryptodev_lkcf_execute_task(CryptoDevLKCFTask *task) in cryptodev_lkcf_execute_task() argument
306 CryptoDevBackendLKCFSession *session = task->sess; in cryptodev_lkcf_execute_task()
309 int ret, status, op_code = task->op_info->op_code; in cryptodev_lkcf_execute_task()
357 asym_op_info = task->op_info->u.asym_op_info; in cryptodev_lkcf_execute_task()
432 task->status = status; in cryptodev_lkcf_execute_task()
434 qemu_mutex_lock(&task->lkcf->rsp_mutex); in cryptodev_lkcf_execute_task()
435 if (QSIMPLEQ_EMPTY(&task->lkcf->responses)) { in cryptodev_lkcf_execute_task()
438 QSIMPLEQ_INSERT_TAIL(&task->lkcf->responses, task, queue); in cryptodev_lkcf_execute_task()
439 qemu_mutex_unlock(&task->lkcf->rsp_mutex); in cryptodev_lkcf_execute_task()
442 eventfd_write(task->lkcf->eventfd, 1); in cryptodev_lkcf_execute_task()
449 CryptoDevLKCFTask *task; in cryptodev_lkcf_worker() local
452 task = NULL; in cryptodev_lkcf_worker()
458 task = QSIMPLEQ_FIRST(&backend->requests); in cryptodev_lkcf_worker()
464 if (!task) { in cryptodev_lkcf_worker()
467 cryptodev_lkcf_execute_task(task); in cryptodev_lkcf_worker()
481 CryptoDevLKCFTask *task; in cryptodev_lkcf_operation() local
496 task = g_new0(CryptoDevLKCFTask, 1); in cryptodev_lkcf_operation()
497 task->op_info = op_info; in cryptodev_lkcf_operation()
498 task->cb = op_info->cb; in cryptodev_lkcf_operation()
499 task->opaque = op_info->opaque; in cryptodev_lkcf_operation()
500 task->sess = sess; in cryptodev_lkcf_operation()
501 task->lkcf = lkcf; in cryptodev_lkcf_operation()
502 task->status = -VIRTIO_CRYPTO_ERR; in cryptodev_lkcf_operation()
505 QSIMPLEQ_INSERT_TAIL(&lkcf->requests, task, queue); in cryptodev_lkcf_operation()