From 820540bf23d837353abad25bbb68fe026852d654 Mon Sep 17 00:00:00 2001 From: Jorge Ramirez-Ortiz Date: Thu, 30 Aug 2018 16:12:12 +0200 Subject: [PATCH] opteed: pass power level on suspend Some platforms might chose to take different actions depending on this value; this is precisely the case for rcar-gen3. Signed-off-by: Jorge Ramirez-Ortiz --- services/spd/opteed/opteed_pm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/spd/opteed/opteed_pm.c b/services/spd/opteed/opteed_pm.c index bdacf9864..b1336517e 100644 --- a/services/spd/opteed/opteed_pm.c +++ b/services/spd/opteed/opteed_pm.c @@ -66,6 +66,9 @@ static void opteed_cpu_suspend_handler(u_register_t max_off_pwrlvl) assert(optee_vector_table); assert(get_optee_pstate(optee_ctx->state) == OPTEE_PSTATE_ON); + write_ctx_reg(get_gpregs_ctx(&optee_ctx->cpu_ctx), CTX_GPREG_X0, + max_off_pwrlvl); + /* Program the entry point and enter OPTEE */ cm_set_elr_el3(SECURE, (uint64_t) &optee_vector_table->cpu_suspend_entry); rc = opteed_synchronous_sp_entry(optee_ctx);