summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSoby Mathew <soby.mathew@arm.com>2018-09-04 05:01:56 +0100
committerGitHub <noreply@github.com>2018-09-04 05:01:56 +0100
commit1916092ffb4abf2e63afe4e59df2c6ee4c4b8d4d (patch)
tree559d6482b74c7d80f3aa1a2ec1ad7bf55184e0c6
parentebf417aa83b7c202055226fadf9d93d214f750fe (diff)
parent820540bf23d837353abad25bbb68fe026852d654 (diff)
Merge pull request #1548 from BayLibre/opteed
opteed: pass power level on suspend
-rw-r--r--services/spd/opteed/opteed_pm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/services/spd/opteed/opteed_pm.c b/services/spd/opteed/opteed_pm.c
index bdacf986..b1336517 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);