Lines Matching refs:srv

558 static MppDevBatServ *bat_server_get(MppDevServer *srv, MppClientType client_type)  in bat_server_get()  argument
563 mpp_mutex_lock(&srv->lock); in bat_server_get()
565 server = srv->bat_server[client_type]; in bat_server_get()
567 mpp_mutex_unlock(&srv->lock); in bat_server_get()
574 mpp_mutex_unlock(&srv->lock); in bat_server_get()
578 server->server_fd = open(srv->server_name, O_RDWR | O_CLOEXEC); in bat_server_get()
604 server->batch_pool = srv->batch_pool; in bat_server_get()
605 server->max_task_in_batch = srv->max_task_in_batch; in bat_server_get()
607 srv->bat_server[client_type] = server; in bat_server_get()
608 mpp_mutex_unlock(&srv->lock); in bat_server_get()
626 mpp_mutex_unlock(&srv->lock); in bat_server_get()
631 static rk_s32 bat_server_put(MppDevServer *srv, MppClientType client_type) in bat_server_put() argument
636 mpp_mutex_lock(&srv->lock); in bat_server_put()
638 if (!srv->bat_server[client_type]) { in bat_server_put()
639 mpp_mutex_unlock(&srv->lock); in bat_server_put()
643 server = srv->bat_server[client_type]; in bat_server_put()
644 srv->bat_server[client_type] = NULL; in bat_server_put()
670 mpp_mutex_unlock(&srv->lock); in bat_server_put()
675 static rk_s32 server_attach(MppDevServer *srv, MppDevMppService *ctx) in server_attach() argument
688 server = bat_server_get(srv, client_type); in server_attach()
694 mpp_mutex_lock(&srv->lock); in server_attach()
696 mpp_mutex_unlock(&srv->lock); in server_attach()
700 session = (MppDevSession *)mpp_mem_pool_get_f(srv->session_pool); in server_attach()
730 if (srv->enable) { in server_attach()
740 mpp_mutex_unlock(&srv->lock); in server_attach()
745 static rk_s32 server_detach(MppDevServer *srv, MppDevMppService *ctx) in server_detach() argument
748 MppDevBatServ *server = bat_server_get(srv, client_type); in server_detach()
753 mpp_mutex_lock(&srv->lock); in server_detach()
755 mpp_mutex_unlock(&srv->lock); in server_detach()
773 mpp_mem_pool_put_f(srv->session_pool, session); in server_detach()
777 mpp_mutex_unlock(&srv->lock); in server_detach()
782 static void server_clear(MppDevServer *srv) in server_clear() argument
784 if (srv) { in server_clear()
785 if (srv->session_pool) { in server_clear()
786 mpp_mem_pool_deinit_f(srv->session_pool); in server_clear()
787 srv->session_pool = NULL; in server_clear()
790 if (srv->batch_pool) { in server_clear()
791 mpp_mem_pool_deinit_f(srv->batch_pool); in server_clear()
792 srv->batch_pool = NULL; in server_clear()
795 srv->inited = 0; in server_clear()
796 srv->enable = 0; in server_clear()
798 mpp_free(srv); in server_clear()
804 MppDevServer *srv = srv_server; in mpp_server_init() local
807 if (srv) in mpp_server_init()
810 srv = mpp_calloc(MppDevServer, 1); in mpp_server_init()
811 if (!srv) { in mpp_server_init()
816 srv_server = srv; in mpp_server_init()
818 srv->server_error = NULL; in mpp_server_init()
819 srv->server_name = NULL; in mpp_server_init()
820 srv->inited = 0; in mpp_server_init()
821 srv->enable = 1; in mpp_server_init()
822 srv->session_pool = NULL; in mpp_server_init()
823 srv->batch_pool = NULL; in mpp_server_init()
824 srv->max_task_in_batch = 0; in mpp_server_init()
825 srv->cmd_cap = NULL; in mpp_server_init()
828 mpp_env_get_u32("mpp_server_enable", &srv->enable, 1); in mpp_server_init()
829 mpp_env_get_u32("mpp_server_batch_task", (rk_u32 *)&srv->max_task_in_batch, in mpp_server_init()
832 mpp_assert(srv->max_task_in_batch >= 1 && srv->max_task_in_batch <= 32); in mpp_server_init()
833 batch_task_size = sizeof(MppDevBatTask) + srv->max_task_in_batch * in mpp_server_init()
837 srv->cmd_cap = mpp_get_mpp_service_cmd_cap(); in mpp_server_init()
838 if (rk_ok != mpp_service_check_cmd_valid(MPP_CMD_SET_SESSION_FD, srv->cmd_cap)) { in mpp_server_init()
839 srv->server_error = "mpp_service cmd not support"; in mpp_server_init()
843 mpp_mutex_init(&srv->lock); in mpp_server_init()
844 memset(srv->bat_server, 0, sizeof(srv->bat_server)); in mpp_server_init()
847 srv->server_name = mpp_get_mpp_service_name(); in mpp_server_init()
848 if (!srv->server_name) { in mpp_server_init()
849 srv->server_error = "get service device failed"; in mpp_server_init()
853 srv->session_pool = mpp_mem_pool_init_f("server_session", sizeof(MppDevSession)); in mpp_server_init()
854 if (!srv->session_pool) { in mpp_server_init()
855 srv->server_error = "create session pool failed"; in mpp_server_init()
859 srv->batch_pool = mpp_mem_pool_init_f("server_batch", batch_task_size); in mpp_server_init()
860 if (!srv->batch_pool) { in mpp_server_init()
861 srv->server_error = "create batch tack pool failed"; in mpp_server_init()
865 srv->inited = 1; in mpp_server_init()
868 if (!srv->inited) { in mpp_server_init()
869 server_clear(srv); in mpp_server_init()
876 MppDevServer *srv = srv_server; in mpp_server_deinit() local
880 if (srv) { in mpp_server_deinit()
884 bat_server_put(srv, (MppClientType)i); in mpp_server_deinit()
886 mpp_mutex_destroy(&srv->lock); in mpp_server_deinit()
887 server_clear(srv); in mpp_server_deinit()
893 MppDevServer *srv = get_srv_server(); in mpp_server_attach() local
896 if (srv && ctx) { in mpp_server_attach()
899 ret = server_attach(srv, dev); in mpp_server_attach()
907 MppDevServer *srv = get_srv_server(); in mpp_server_detach() local
910 if (srv && ctx) { in mpp_server_detach()
913 ret = server_detach(srv, dev); in mpp_server_detach()
921 MppDevServer *srv = get_srv_server(); in mpp_server_send_task() local
924 if (srv && ctx) in mpp_server_send_task()
932 MppDevServer *srv = get_srv_server(); in mpp_server_wait_task() local
935 if (srv && ctx) in mpp_server_wait_task()