Lines Matching refs:session

82     MppDevSession       *session;  member
269 MppDevSession *session = NULL; in process_task() local
292 session = task->session; in process_task()
309 batch->batch_id, task->batch_slot_id, session->client); in process_task()
310 mpp_mutex_cond_lock(&session->cond_lock); in process_task()
311 session->task_done++; in process_task()
312 mpp_mutex_cond_signal(&session->cond_lock); in process_task()
313 mpp_mutex_cond_unlock(&session->cond_lock); in process_task()
314 if (session->ctx && session->ctx->dev_cb) in process_task()
315 mpp_callback(session->ctx->dev_cb, NULL); in process_task()
423 session = task->session; in process_task()
424 mpp_assert(session); in process_task()
425 mpp_assert(session->ctx); in process_task()
429 bat_cmd->client = session->client; in process_task()
466 batch->batch_id, task->batch_slot_id, session->client, in process_task()
489 MppDevSession *session = (MppDevSession *)ctx->serv_ctx; in send_task() local
491 if (!session || !session->server) { in send_task()
492 mpp_err_f("invalid ctx %p session %p send task\n", ctx, session); in send_task()
496 MppDevBatServ *server = session->server; in send_task()
499 mpp_mutex_cond_lock(&session->cond_lock); in send_task()
501 task = list_first_entry_or_null(&session->list_done, MppDevTask, link_session); in send_task()
508 list_add_tail(&task->link_session, &session->list_wait); in send_task()
510 session->task_wait++; in send_task()
511 mpp_mutex_cond_unlock(&session->cond_lock); in send_task()
519 session->client, task->slot_idx, server->pending_count); in send_task()
531 MppDevSession *session = (MppDevSession *)ctx->serv_ctx; in wait_task() local
534 if (!session) { in wait_task()
539 task = list_first_entry_or_null(&session->list_wait, MppDevTask, link_session); in wait_task()
542 mpp_mutex_cond_lock(&session->cond_lock); in wait_task()
543 if (session->task_wait != session->task_done) { in wait_task()
544 mpp_serv_dbg_flow("session %d wait %d start %d:%d\n", session->client, in wait_task()
545 task->task_id, session->task_wait, session->task_done); in wait_task()
546 mpp_mutex_cond_wait(&session->cond_lock); in wait_task()
548 mpp_serv_dbg_flow("session %d wait %d done %d:%d\n", session->client, in wait_task()
549 task->task_id, session->task_wait, session->task_done); in wait_task()
550 mpp_mutex_cond_unlock(&session->cond_lock); in wait_task()
553 list_add_tail(&task->link_session, &session->list_done); in wait_task()
679 MppDevSession *session; in server_attach() local
700 session = (MppDevSession *)mpp_mem_pool_get_f(srv->session_pool); in server_attach()
702 INIT_LIST_HEAD(&session->list_server); in server_attach()
703 INIT_LIST_HEAD(&session->list_wait); in server_attach()
704 INIT_LIST_HEAD(&session->list_done); in server_attach()
706 session->ctx = ctx; in server_attach()
707 session->server = server; in server_attach()
708 session->client = ctx->client; in server_attach()
709 mpp_mutex_cond_init(&session->cond_lock); in server_attach()
710 session->task_wait = 0; in server_attach()
711 session->task_done = 0; in server_attach()
713 for (i = 0; i < MPP_ARRAY_ELEMS(session->tasks); i++) { in server_attach()
714 MppDevTask *task = &session->tasks[i]; in server_attach()
719 task->session = session; in server_attach()
724 list_add_tail(&task->link_session, &session->list_done); in server_attach()
727 list_add_tail(&session->list_server, &server->session_list); in server_attach()
728 ctx->serv_ctx = session; in server_attach()
749 MppDevSession *session = (MppDevSession *)ctx->serv_ctx; in server_detach() local
764 mpp_assert(session); in server_detach()
765 mpp_assert(session->client == ctx->client); in server_detach()
766 mpp_assert(session->task_wait == session->task_done); in server_detach()
767 mpp_assert(list_empty(&session->list_wait)); in server_detach()
769 list_del_init(&session->list_server); in server_detach()
771 mpp_mutex_cond_destroy(&session->cond_lock); in server_detach()
773 mpp_mem_pool_put_f(srv->session_pool, session); in server_detach()