diff options
author | davidcunado-arm <david.cunado@arm.com> | 2017-11-08 14:17:01 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-08 14:17:01 +0000 |
commit | 8705ec8990d9b8847bfa65654d565f346e27e706 (patch) | |
tree | 46144436b027613519f23a37fefe7f01e898dcb6 /plat | |
parent | 2904f84e3c8bdd9f3df0415b5a02ab6bcc0ab05b (diff) | |
parent | bfc87a8dff75688f3f0ef558f4921c4b1acc07b1 (diff) | |
download | platform_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.c | 9 |
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; |