Lines Matching refs:arg

364 static void entry_open_session(struct optee_msg_arg *arg, uint32_t num_params)  in entry_open_session()  argument
375 res = get_open_session_meta(num_params, arg->params, &num_meta, &uuid, in entry_open_session()
380 res = copy_in_params(arg->params + num_meta, num_params - num_meta, in entry_open_session()
389 copy_out_param(&param, num_params - num_meta, arg->params + num_meta, in entry_open_session()
405 arg->session = s->id; in entry_open_session()
407 arg->session = 0; in entry_open_session()
408 arg->ret = res; in entry_open_session()
409 arg->ret_origin = err_orig; in entry_open_session()
412 static void entry_close_session(struct optee_msg_arg *arg, uint32_t num_params) in entry_close_session() argument
425 s = tee_ta_find_session(arg->session, &tee_open_sessions); in entry_close_session()
428 arg->ret = res; in entry_close_session()
429 arg->ret_origin = TEE_ORIGIN_TEE; in entry_close_session()
432 static void entry_invoke_command(struct optee_msg_arg *arg, uint32_t num_params) in entry_invoke_command() argument
440 res = copy_in_params(arg->params, num_params, &param, saved_attr); in entry_invoke_command()
444 s = tee_ta_get_session(arg->session, true, &tee_open_sessions); in entry_invoke_command()
451 TEE_TIMEOUT_INFINITE, arg->func, &param); in entry_invoke_command()
455 copy_out_param(&param, num_params, arg->params, saved_attr); in entry_invoke_command()
460 arg->ret = res; in entry_invoke_command()
461 arg->ret_origin = err_orig; in entry_invoke_command()
464 static void entry_cancel(struct optee_msg_arg *arg, uint32_t num_params) in entry_cancel() argument
475 s = tee_ta_get_session(arg->session, false, &tee_open_sessions); in entry_cancel()
485 arg->ret = res; in entry_cancel()
486 arg->ret_origin = err_orig; in entry_cancel()
491 static void register_shm(struct optee_msg_arg *arg, uint32_t num_params) in register_shm() argument
496 arg->ret = TEE_ERROR_BAD_PARAMETERS; in register_shm()
499 (arg->params[0].attr != in register_shm()
503 tmem = &arg->params[0].u.tmem; in register_shm()
511 arg->ret = TEE_SUCCESS; in register_shm()
514 static void unregister_shm(struct optee_msg_arg *arg, uint32_t num_params) in unregister_shm() argument
517 uint64_t cookie = arg->params[0].u.rmem.shm_ref; in unregister_shm()
522 arg->ret = res; in unregister_shm()
524 arg->ret = TEE_ERROR_BAD_PARAMETERS; in unregister_shm()
525 arg->ret_origin = TEE_ORIGIN_TEE; in unregister_shm()
531 static void __maybe_unused lend_protmem(struct optee_msg_arg *arg, in lend_protmem() argument
543 READ_ONCE(arg->params[0].attr) != OPTEE_MSG_ATTR_TYPE_VALUE_INPUT || in lend_protmem()
544 READ_ONCE(arg->params[1].attr) != OPTEE_MSG_ATTR_TYPE_TMEM_INPUT) in lend_protmem()
547 use_case = READ_ONCE(arg->params[0].u.value.a); in lend_protmem()
548 tmem = &arg->params[1].u.tmem; in lend_protmem()
564 arg->ret = res; in lend_protmem()
567 static void __maybe_unused assign_protmem(struct optee_msg_arg *arg, in assign_protmem() argument
575 READ_ONCE(arg->params[0].attr) != OPTEE_MSG_ATTR_TYPE_VALUE_INPUT) in assign_protmem()
578 cookie = READ_ONCE(arg->params[0].u.value.a); in assign_protmem()
579 use_case = READ_ONCE(arg->params[0].u.value.b); in assign_protmem()
582 arg->ret = res; in assign_protmem()
585 static void __maybe_unused reclaim_protmem(struct optee_msg_arg *arg, in reclaim_protmem() argument
589 READ_ONCE(arg->params[0].attr) == OPTEE_MSG_ATTR_TYPE_RMEM_INPUT) { in reclaim_protmem()
590 uint64_t cookie = READ_ONCE(arg->params[0].u.rmem.shm_ref); in reclaim_protmem()
596 arg->ret = res; in reclaim_protmem()
598 arg->ret = TEE_ERROR_BAD_PARAMETERS; in reclaim_protmem()
599 arg->ret_origin = TEE_ORIGIN_TEE; in reclaim_protmem()
603 static void __maybe_unused get_protmem_config(struct optee_msg_arg *arg, in get_protmem_config() argument
619 arg->ret_origin = TEE_ORIGIN_TEE; in get_protmem_config()
623 res = copy_in_params(arg->params, num_params, &param, saved_attr); in get_protmem_config()
666 copy_out_param(&param, num_params, arg->params, saved_attr); in get_protmem_config()
667 arg->params[0].u.value.c = sizeof(long) * 8; in get_protmem_config()
674 arg->ret = res; in get_protmem_config()
683 TEE_Result __weak tee_entry_std(struct optee_msg_arg *arg, uint32_t num_params) in tee_entry_std() argument
685 return __tee_entry_std(arg, num_params); in tee_entry_std()
692 TEE_Result __tee_entry_std(struct optee_msg_arg *arg, uint32_t num_params) in __tee_entry_std() argument
698 switch (arg->cmd) { in __tee_entry_std()
700 entry_open_session(arg, num_params); in __tee_entry_std()
703 entry_close_session(arg, num_params); in __tee_entry_std()
706 entry_invoke_command(arg, num_params); in __tee_entry_std()
709 entry_cancel(arg, num_params); in __tee_entry_std()
713 register_shm(arg, num_params); in __tee_entry_std()
716 unregister_shm(arg, num_params); in __tee_entry_std()
733 get_protmem_config(arg, num_params); in __tee_entry_std()
737 assign_protmem(arg, num_params); in __tee_entry_std()
741 lend_protmem(arg, num_params); in __tee_entry_std()
744 reclaim_protmem(arg, num_params); in __tee_entry_std()
750 EMSG("Unknown cmd 0x%x", arg->cmd); in __tee_entry_std()