diff options
Diffstat (limited to 'plat/imx/common/sci/svc/pm/pm_rpc_clnt.c')
-rw-r--r-- | plat/imx/common/sci/svc/pm/pm_rpc_clnt.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/plat/imx/common/sci/svc/pm/pm_rpc_clnt.c b/plat/imx/common/sci/svc/pm/pm_rpc_clnt.c index 30da7d75..0b66f80c 100644 --- a/plat/imx/common/sci/svc/pm/pm_rpc_clnt.c +++ b/plat/imx/common/sci/svc/pm/pm_rpc_clnt.c @@ -19,7 +19,6 @@ #include <sci/svc/rm/api.h> #include <sci/svc/pm/api.h> #include <sci/rpc.h> -#include <stdlib.h> #include "rpc.h" /* Local Defines */ @@ -105,6 +104,28 @@ sc_err_t sc_pm_set_resource_power_mode(sc_ipc_t ipc, sc_rsrc_t resource, return (sc_err_t)result; } +sc_err_t sc_pm_set_resource_power_mode_all(sc_ipc_t ipc, + sc_rm_pt_t pt, + sc_pm_power_mode_t mode, + sc_rsrc_t exclude) +{ + sc_rpc_msg_t msg; + uint8_t result; + + RPC_VER(&msg) = SC_RPC_VERSION; + RPC_SVC(&msg) = (uint8_t)SC_RPC_SVC_PM; + RPC_FUNC(&msg) = (uint8_t)PM_FUNC_SET_RESOURCE_POWER_MODE_ALL; + RPC_U16(&msg, 0U) = (uint16_t)exclude; + RPC_U8(&msg, 2U) = (uint8_t)pt; + RPC_U8(&msg, 3U) = (uint8_t)mode; + RPC_SIZE(&msg) = 2U; + + sc_call_rpc(ipc, &msg, SC_FALSE); + + result = RPC_R8(&msg); + return (sc_err_t)result; +} + sc_err_t sc_pm_get_resource_power_mode(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_power_mode_t *mode) { |