1*2828809eSJens Wiklander // SPDX-License-Identifier: BSD-2-Clause 2*2828809eSJens Wiklander /* 3*2828809eSJens Wiklander * Copyright (c) 2021, Linaro Limited 4*2828809eSJens Wiklander */ 5*2828809eSJens Wiklander 6*2828809eSJens Wiklander #include <kernel/notif.h> 7*2828809eSJens Wiklander #include <kernel/thread.h> 8*2828809eSJens Wiklander #include <optee_rpc_cmd.h> 9*2828809eSJens Wiklander #include <tee_api_types.h> 10*2828809eSJens Wiklander #include <types_ext.h> 11*2828809eSJens Wiklander 12*2828809eSJens Wiklander static TEE_Result notif_rpc(uint32_t func, uint32_t value) 13*2828809eSJens Wiklander { 14*2828809eSJens Wiklander struct thread_param params = THREAD_PARAM_VALUE(IN, func, value, 0); 15*2828809eSJens Wiklander 16*2828809eSJens Wiklander return thread_rpc_cmd(OPTEE_RPC_CMD_NOTIFICATION, 1, ¶ms); 17*2828809eSJens Wiklander } 18*2828809eSJens Wiklander 19*2828809eSJens Wiklander TEE_Result notif_wait(uint32_t value) 20*2828809eSJens Wiklander { 21*2828809eSJens Wiklander return notif_rpc(OPTEE_RPC_NOTIFICATION_WAIT, value); 22*2828809eSJens Wiklander } 23*2828809eSJens Wiklander 24*2828809eSJens Wiklander TEE_Result notif_send_sync(uint32_t value) 25*2828809eSJens Wiklander { 26*2828809eSJens Wiklander return notif_rpc(OPTEE_RPC_NOTIFICATION_SEND, value); 27*2828809eSJens Wiklander } 28