Fix the computation to allow for cntfrq_el0 being larger than 1GHz.
Assume cntfrq_el0 is a multiple of 1MHz to increase the maximum
interval (1024 seconds at 1GHz).
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
#define HP_TIMING_DIFF(Diff, Start, End) \
({ hp_timing_t freq; \
__asm__ __volatile__ ("mrs %0, cntfrq_el0" : "=r" (freq)); \
- (Diff) = ((End) - (Start)) * (UINT64_C(1000000000) / freq); \
+ (Diff) = (((End) - (Start)) * UINT64_C(1000000000 >> 6)) / (freq >> 6); \
})
#endif /* hp-timing.h */