aboutsummaryrefslogtreecommitdiffstats
path: root/plat
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 /plat
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 'plat')
-rw-r--r--plat/common/plat_psci_common.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/plat/common/plat_psci_common.c b/plat/common/plat_psci_common.c
index 95adb051c..0e818d0de 100644
--- a/plat/common/plat_psci_common.c
+++ b/plat/common/plat_psci_common.c
@@ -18,6 +18,13 @@
/* Ticks elapsed in one second by a signal of 1 MHz */
#define MHZ_TICKS_PER_SEC 1000000
+/* Maximum time-stamp value read from architectural counters */
+#ifdef AARCH32
+#define MAX_TS UINT32_MAX
+#else
+#define MAX_TS UINT64_MAX
+#endif
+
/* Following are used as ID's to capture time-stamp */
#define PSCI_STAT_ID_ENTER_LOW_PWR 0
#define PSCI_STAT_ID_EXIT_LOW_PWR 1
@@ -45,7 +52,7 @@ static u_register_t calc_stat_residency(unsigned long long pwrupts,
assert(residency_div);
if (pwrupts < pwrdnts)
- res = UINT64_MAX - pwrdnts + pwrupts;
+ res = MAX_TS - pwrdnts + pwrupts;
else
res = pwrupts - pwrdnts;