diff options
author | Etienne Carriere <etienne.carriere@st.com> | 2017-06-22 22:10:32 +0200 |
---|---|---|
committer | Etienne Carriere <etienne.carriere@st.com> | 2017-06-22 22:10:32 +0200 |
commit | c283e05af1b7a287cd8edee53603c6d015330aff (patch) | |
tree | f8f4a930ed35869041538101484d6a88215d652f /lib | |
parent | b1187232fdf819586ba8c8ece4a27a7515cbdc6d (diff) | |
download | arm-trusted-firmware-c283e05af1b7a287cd8edee53603c6d015330aff.tar.gz |
psci: minor fixes in lib
Call svc_suspend_finish if registered.
psci_get_stat() is static to psci_stat.c
Fix types used in comparison.
Fix coding style (empty line between variable definition and instructions
block).
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/psci/psci_stat.c | 15 | ||||
-rw-r--r-- | lib/psci/psci_suspend.c | 2 |
2 files changed, 9 insertions, 8 deletions
diff --git a/lib/psci/psci_stat.c b/lib/psci/psci_stat.c index 65b3f9bbc..3e79c5d7c 100644 --- a/lib/psci/psci_stat.c +++ b/lib/psci/psci_stat.c @@ -72,7 +72,7 @@ static int get_stat_idx(plat_local_state_t local_state, int pwr_lvl) void psci_stats_update_pwr_down(unsigned int end_pwrlvl, const psci_power_state_t *state_info) { - int lvl, parent_idx, cpu_idx = plat_my_core_pos(); + unsigned int lvl, parent_idx, cpu_idx = plat_my_core_pos(); assert(end_pwrlvl <= PLAT_MAX_PWR_LVL); assert(state_info); @@ -104,8 +104,8 @@ void psci_stats_update_pwr_down(unsigned int end_pwrlvl, void psci_stats_update_pwr_up(unsigned int end_pwrlvl, const psci_power_state_t *state_info) { - int parent_idx, cpu_idx = plat_my_core_pos(); - int lvl, stat_idx; + unsigned int lvl, parent_idx, cpu_idx = plat_my_core_pos(); + int stat_idx; plat_local_state_t local_state; u_register_t residency; @@ -162,10 +162,11 @@ void psci_stats_update_pwr_up(unsigned int end_pwrlvl, * local state for the highest power level expressed in the `power_state` * for the node represented by `target_cpu`. ******************************************************************************/ -int psci_get_stat(u_register_t target_cpu, unsigned int power_state, +static int psci_get_stat(u_register_t target_cpu, unsigned int power_state, psci_stat_t *psci_stat) { - int rc, pwrlvl, lvl, parent_idx, stat_idx, target_idx; + int rc; + unsigned int pwrlvl, lvl, parent_idx, stat_idx, target_idx; psci_power_state_t state_info = { {PSCI_LOCAL_STATE_RUN} }; plat_local_state_t local_state; @@ -216,8 +217,8 @@ u_register_t psci_stat_residency(u_register_t target_cpu, unsigned int power_state) { psci_stat_t psci_stat; - int rc = psci_get_stat(target_cpu, power_state, &psci_stat); + if (rc == PSCI_E_SUCCESS) return psci_stat.residency; else @@ -229,8 +230,8 @@ u_register_t psci_stat_count(u_register_t target_cpu, unsigned int power_state) { psci_stat_t psci_stat; - int rc = psci_get_stat(target_cpu, power_state, &psci_stat); + if (rc == PSCI_E_SUCCESS) return psci_stat.count; else diff --git a/lib/psci/psci_suspend.c b/lib/psci/psci_suspend.c index fe68f44f3..479889262 100644 --- a/lib/psci/psci_suspend.c +++ b/lib/psci/psci_suspend.c @@ -292,7 +292,7 @@ void psci_cpu_suspend_finish(unsigned int cpu_idx, * Dispatcher to let it do any bookeeping. If the handler encounters an * error, it's expected to assert within */ - if (psci_spd_pm && psci_spd_pm->svc_suspend) { + if (psci_spd_pm && psci_spd_pm->svc_suspend_finish) { max_off_lvl = psci_find_max_off_lvl(state_info); assert (max_off_lvl != PSCI_INVALID_PWR_LVL); psci_spd_pm->svc_suspend_finish(max_off_lvl); |