• Achin Gupta's avatar
    Pass the target suspend level to SPD suspend hooks · f1054c93
    Achin Gupta authored
    In certain Trusted OS implementations it is a requirement to pass them the
    highest power level which will enter a power down state during a PSCI
    CPU_SUSPEND or SYSTEM_SUSPEND API invocation. This patch passes this power level
    to the SPD in the "max_off_pwrlvl" parameter of the svc_suspend() hook.
    
    Currently, the highest power level which was requested to be placed in a low
    power state (retention or power down) is passed to the SPD svc_suspend_finish()
    hook. This hook is called after emerging from the low power state. It is more
    useful to pass the highest power level which was powered down instead. This
    patch does this by changing the semantics of the parameter passed to an SPD's
    svc_suspend_finish() hook. The name of the parameter has been changed from
    "suspend_level" to "max_off_pwrlvl" as well. Same changes have been made to the
    parameter passed to the tsp_cpu_resume_main() function.
    
    NOTE: THIS PATCH CHANGES THE SEMANTICS OF THE EXISTING "svc_suspend_finish()"
          API BETWEEN THE PSCI AND SPD/SP IMPLEMENTATIONS. THE LATTER MIGHT NEED
          UPDATES TO ENSURE CORRECT BEHAVIOUR.
    
    Change-Id: If3a9d39b13119bbb6281f508a91f78a2f46a8b90
    f1054c93
tsp_main.c 14.2 KB