aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authordavidcunado-arm <david.cunado@arm.com>2017-11-08 14:17:01 +0000
committerGitHub <noreply@github.com>2017-11-08 14:17:01 +0000
commit8705ec8990d9b8847bfa65654d565f346e27e706 (patch)
tree46144436b027613519f23a37fefe7f01e898dcb6 /lib
parent2904f84e3c8bdd9f3df0415b5a02ab6bcc0ab05b (diff)
parentbfc87a8dff75688f3f0ef558f4921c4b1acc07b1 (diff)
downloadplatform_external_arm-trusted-firmware-8705ec8990d9b8847bfa65654d565f346e27e706.tar.gz
platform_external_arm-trusted-firmware-8705ec8990d9b8847bfa65654d565f346e27e706.tar.bz2
platform_external_arm-trusted-firmware-8705ec8990d9b8847bfa65654d565f346e27e706.zip
Merge pull request #1154 from soby-mathew/sm/fix_psci_stat
Fix PSCI STAT time stamp collection
Diffstat (limited to 'lib')
-rw-r--r--lib/psci/psci_common.c4
-rw-r--r--lib/psci/psci_suspend.c14
2 files changed, 7 insertions, 11 deletions
diff --git a/lib/psci/psci_common.c b/lib/psci/psci_common.c
index 4502c24b5..2220a745c 100644
--- a/lib/psci/psci_common.c
+++ b/lib/psci/psci_common.c
@@ -767,12 +767,12 @@ void psci_warmboot_entrypoint(void)
psci_acquire_pwr_domain_locks(end_pwrlvl,
cpu_idx);
+ psci_get_target_local_pwr_states(end_pwrlvl, &state_info);
+
#if ENABLE_PSCI_STAT
plat_psci_stat_accounting_stop(&state_info);
#endif
- psci_get_target_local_pwr_states(end_pwrlvl, &state_info);
-
/*
* This CPU could be resuming from suspend or it could have just been
* turned on. To distinguish between these 2 cases, we examine the
diff --git a/lib/psci/psci_suspend.c b/lib/psci/psci_suspend.c
index 40ecdeea9..d9490672e 100644
--- a/lib/psci/psci_suspend.c
+++ b/lib/psci/psci_suspend.c
@@ -37,6 +37,11 @@ static void psci_suspend_to_standby_finisher(unsigned int cpu_idx,
*/
psci_get_target_local_pwr_states(end_pwrlvl, &state_info);
+#if ENABLE_PSCI_STAT
+ plat_psci_stat_accounting_stop(&state_info);
+ psci_stats_update_pwr_up(end_pwrlvl, &state_info);
+#endif
+
/*
* Plat. management: Allow the platform to do operations
* on waking up from retention.
@@ -236,10 +241,6 @@ exit:
PMF_NO_CACHE_MAINT);
#endif
-#if ENABLE_PSCI_STAT
- plat_psci_stat_accounting_start(state_info);
-#endif
-
/*
* We will reach here if only retention/standby states have been
* requested at multiple power levels. This means that the cpu
@@ -247,11 +248,6 @@ exit:
*/
wfi();
-#if ENABLE_PSCI_STAT
- plat_psci_stat_accounting_stop(state_info);
- psci_stats_update_pwr_up(end_pwrlvl, state_info);
-#endif
-
#if ENABLE_RUNTIME_INSTRUMENTATION
PMF_CAPTURE_TIMESTAMP(rt_instr_svc,
RT_INSTR_EXIT_HW_LOW_PWR,