spd: trusty: pass max affinity level to Trusty
authorStephen Wolfe <swolfe@nvidia.com>
Thu, 29 Mar 2018 19:32:08 +0000 (12:32 -0700)
committerVarun Wadekar <vwadekar@nvidia.com>
Thu, 31 Jan 2019 16:49:38 +0000 (08:49 -0800)
During System Suspend, the entire system loses its state. To allow Trusty
to save/restore its context and allow its TAs to participate in the suspend
process, it needs to look at the max affinity level being suspended. This
patch passes the max affinity level to Trusty to enable to do so.

Change-Id: If7838dae10c3f5a694baedb15ec56fbad41f2b36
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
services/spd/trusty/trusty.c

index 83c14b499683ea4db87b8628f8034709ef1fbc54..ce942dd2c743ca8267fffa7f1c4bf66019a75609 100644 (file)
@@ -352,32 +352,32 @@ static void trusty_cpu_resume(uint32_t on)
        }
 }
 
-static int32_t trusty_cpu_off_handler(u_register_t unused)
+static int32_t trusty_cpu_off_handler(u_register_t max_off_lvl)
 {
-       trusty_cpu_suspend(1);
+       trusty_cpu_suspend(max_off_lvl);
 
        return 0;
 }
 
-static void trusty_cpu_on_finish_handler(u_register_t unused)
+static void trusty_cpu_on_finish_handler(u_register_t max_off_lvl)
 {
        struct trusty_cpu_ctx *ctx = get_trusty_ctx();
 
        if (ctx->saved_sp == NULL) {
                (void)trusty_init();
        } else {
-               trusty_cpu_resume(1);
+               trusty_cpu_resume(max_off_lvl);
        }
 }
 
-static void trusty_cpu_suspend_handler(u_register_t unused)
+static void trusty_cpu_suspend_handler(u_register_t max_off_lvl)
 {
-       trusty_cpu_suspend(0);
+       trusty_cpu_suspend(max_off_lvl);
 }
 
-static void trusty_cpu_suspend_finish_handler(u_register_t unused)
+static void trusty_cpu_suspend_finish_handler(u_register_t max_off_lvl)
 {
-       trusty_cpu_resume(0);
+       trusty_cpu_resume(max_off_lvl);
 }
 
 static const spd_pm_ops_t trusty_pm = {