optee             127 drivers/tee/optee/call.c 	struct optee *optee = tee_get_drvdata(ctx->teedev);
optee             136 drivers/tee/optee/call.c 	optee_cq_wait_init(&optee->call_queue, &w);
optee             140 drivers/tee/optee/call.c 		optee->invoke_fn(param.a0, param.a1, param.a2, param.a3,
optee             149 drivers/tee/optee/call.c 			optee_cq_wait_for_completion(&optee->call_queue, &w);
optee             168 drivers/tee/optee/call.c 	optee_cq_wait_final(&optee->call_queue, &w);
optee             389 drivers/tee/optee/call.c void optee_enable_shm_cache(struct optee *optee)
optee             394 drivers/tee/optee/call.c 	optee_cq_wait_init(&optee->call_queue, &w);
optee             398 drivers/tee/optee/call.c 		optee->invoke_fn(OPTEE_SMC_ENABLE_SHM_CACHE, 0, 0, 0, 0, 0, 0,
optee             402 drivers/tee/optee/call.c 		optee_cq_wait_for_completion(&optee->call_queue, &w);
optee             404 drivers/tee/optee/call.c 	optee_cq_wait_final(&optee->call_queue, &w);
optee             412 drivers/tee/optee/call.c void optee_disable_shm_cache(struct optee *optee)
optee             417 drivers/tee/optee/call.c 	optee_cq_wait_init(&optee->call_queue, &w);
optee             424 drivers/tee/optee/call.c 		optee->invoke_fn(OPTEE_SMC_DISABLE_SHM_CACHE, 0, 0, 0, 0, 0, 0,
optee             435 drivers/tee/optee/call.c 			optee_cq_wait_for_completion(&optee->call_queue, &w);
optee             438 drivers/tee/optee/call.c 	optee_cq_wait_final(&optee->call_queue, &w);
optee             214 drivers/tee/optee/core.c 	struct optee *optee = tee_get_drvdata(teedev);
optee             216 drivers/tee/optee/core.c 	if (optee->sec_caps & OPTEE_SMC_SEC_CAP_DYNAMIC_SHM)
optee             225 drivers/tee/optee/core.c 	struct optee *optee = tee_get_drvdata(teedev);
optee             231 drivers/tee/optee/core.c 	if (teedev == optee->supp_teedev) {
optee             234 drivers/tee/optee/core.c 		mutex_lock(&optee->supp.mutex);
optee             235 drivers/tee/optee/core.c 		if (!optee->supp.ctx) {
optee             237 drivers/tee/optee/core.c 			optee->supp.ctx = ctx;
optee             239 drivers/tee/optee/core.c 		mutex_unlock(&optee->supp.mutex);
optee             257 drivers/tee/optee/core.c 	struct optee *optee = tee_get_drvdata(teedev);
optee             299 drivers/tee/optee/core.c 	if (teedev == optee->supp_teedev)
optee             300 drivers/tee/optee/core.c 		optee_supp_release(&optee->supp);
optee             557 drivers/tee/optee/core.c static struct optee *optee_probe(struct device_node *np)
optee             561 drivers/tee/optee/core.c 	struct optee *optee = NULL;
optee             603 drivers/tee/optee/core.c 	optee = kzalloc(sizeof(*optee), GFP_KERNEL);
optee             604 drivers/tee/optee/core.c 	if (!optee) {
optee             609 drivers/tee/optee/core.c 	optee->invoke_fn = invoke_fn;
optee             610 drivers/tee/optee/core.c 	optee->sec_caps = sec_caps;
optee             612 drivers/tee/optee/core.c 	teedev = tee_device_alloc(&optee_desc, NULL, pool, optee);
optee             617 drivers/tee/optee/core.c 	optee->teedev = teedev;
optee             619 drivers/tee/optee/core.c 	teedev = tee_device_alloc(&optee_supp_desc, NULL, pool, optee);
optee             624 drivers/tee/optee/core.c 	optee->supp_teedev = teedev;
optee             626 drivers/tee/optee/core.c 	rc = tee_device_register(optee->teedev);
optee             630 drivers/tee/optee/core.c 	rc = tee_device_register(optee->supp_teedev);
optee             634 drivers/tee/optee/core.c 	mutex_init(&optee->call_queue.mutex);
optee             635 drivers/tee/optee/core.c 	INIT_LIST_HEAD(&optee->call_queue.waiters);
optee             636 drivers/tee/optee/core.c 	optee_wait_queue_init(&optee->wait_queue);
optee             637 drivers/tee/optee/core.c 	optee_supp_init(&optee->supp);
optee             638 drivers/tee/optee/core.c 	optee->memremaped_shm = memremaped_shm;
optee             639 drivers/tee/optee/core.c 	optee->pool = pool;
optee             641 drivers/tee/optee/core.c 	optee_enable_shm_cache(optee);
optee             643 drivers/tee/optee/core.c 	if (optee->sec_caps & OPTEE_SMC_SEC_CAP_DYNAMIC_SHM)
optee             646 drivers/tee/optee/core.c 	return optee;
optee             648 drivers/tee/optee/core.c 	if (optee) {
optee             654 drivers/tee/optee/core.c 		tee_device_unregister(optee->supp_teedev);
optee             655 drivers/tee/optee/core.c 		tee_device_unregister(optee->teedev);
optee             656 drivers/tee/optee/core.c 		kfree(optee);
optee             665 drivers/tee/optee/core.c static void optee_remove(struct optee *optee)
optee             672 drivers/tee/optee/core.c 	optee_disable_shm_cache(optee);
optee             678 drivers/tee/optee/core.c 	tee_device_unregister(optee->supp_teedev);
optee             679 drivers/tee/optee/core.c 	tee_device_unregister(optee->teedev);
optee             681 drivers/tee/optee/core.c 	tee_shm_pool_free(optee->pool);
optee             682 drivers/tee/optee/core.c 	if (optee->memremaped_shm)
optee             683 drivers/tee/optee/core.c 		memunmap(optee->memremaped_shm);
optee             684 drivers/tee/optee/core.c 	optee_wait_queue_exit(&optee->wait_queue);
optee             685 drivers/tee/optee/core.c 	optee_supp_uninit(&optee->supp);
optee             686 drivers/tee/optee/core.c 	mutex_destroy(&optee->call_queue.mutex);
optee             688 drivers/tee/optee/core.c 	kfree(optee);
optee             696 drivers/tee/optee/core.c static struct optee *optee_svc;
optee             702 drivers/tee/optee/core.c 	struct optee *optee = NULL;
optee             716 drivers/tee/optee/core.c 	optee = optee_probe(np);
optee             719 drivers/tee/optee/core.c 	if (IS_ERR(optee))
optee             720 drivers/tee/optee/core.c 		return PTR_ERR(optee);
optee             724 drivers/tee/optee/core.c 		optee_remove(optee);
optee             730 drivers/tee/optee/core.c 	optee_svc = optee;
optee             738 drivers/tee/optee/core.c 	struct optee *optee = optee_svc;
optee             741 drivers/tee/optee/core.c 	if (optee)
optee             742 drivers/tee/optee/core.c 		optee_remove(optee);
optee             153 drivers/tee/optee/optee_private.h void optee_enable_shm_cache(struct optee *optee);
optee             154 drivers/tee/optee/optee_private.h void optee_disable_shm_cache(struct optee *optee);
optee              94 drivers/tee/optee/rpc.c static void handle_rpc_func_cmd_wq(struct optee *optee,
optee             106 drivers/tee/optee/rpc.c 		wq_sleep(&optee->wait_queue, arg->params[0].u.value.b);
optee             109 drivers/tee/optee/rpc.c 		wq_wakeup(&optee->wait_queue, arg->params[0].u.value.b);
optee             174 drivers/tee/optee/rpc.c 	struct optee *optee = tee_get_drvdata(ctx->teedev);
optee             186 drivers/tee/optee/rpc.c 	mutex_lock(&optee->supp.mutex);
optee             188 drivers/tee/optee/rpc.c 	shm = tee_shm_get_from_id(optee->supp.ctx, param.u.value.c);
optee             189 drivers/tee/optee/rpc.c 	mutex_unlock(&optee->supp.mutex);
optee             356 drivers/tee/optee/rpc.c static void handle_rpc_func_cmd(struct tee_context *ctx, struct optee *optee,
optee             373 drivers/tee/optee/rpc.c 		handle_rpc_func_cmd_wq(optee, arg);
optee             402 drivers/tee/optee/rpc.c 	struct optee *optee = tee_get_drvdata(teedev);
optee             434 drivers/tee/optee/rpc.c 		handle_rpc_func_cmd(ctx, optee, shm, call_ctx);
optee              80 drivers/tee/optee/supp.c 	struct optee *optee = tee_get_drvdata(ctx->teedev);
optee              81 drivers/tee/optee/supp.c 	struct optee_supp *supp = &optee->supp;
optee             233 drivers/tee/optee/supp.c 	struct optee *optee = tee_get_drvdata(teedev);
optee             234 drivers/tee/optee/supp.c 	struct optee_supp *supp = &optee->supp;
optee             342 drivers/tee/optee/supp.c 	struct optee *optee = tee_get_drvdata(teedev);
optee             343 drivers/tee/optee/supp.c 	struct optee_supp *supp = &optee->supp;