From 33292af5f13b18ef5124f32a7bbf0b05b2d519c5 Mon Sep 17 00:00:00 2001 From: Olivier Martin Date: Wed, 27 Aug 2014 10:12:00 +0000 Subject: ArmPkg/TimerDxe: Changed calculation to allow 1KHz granularity frequency Prior to this change the frequency was rounded to 1Mhz. This change rounds the timer frequency to 1KHz. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15921 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'ArmPkg/Library') diff --git a/ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.c b/ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.c index d1cd0c8e6e..4fe7cb8d64 100644 --- a/ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.c +++ b/ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.c @@ -82,8 +82,10 @@ MicroSecondDelay ( UINT64 TimerTicks64; UINT64 SystemCounterVal; - // Calculate counter ticks that can represent requested delay - TimerTicks64 = MultU64x32 (MicroSeconds, TICKS_PER_MICRO_SEC); + // Calculate counter ticks that can represent requested delay: + // = MicroSeconds x TICKS_PER_MICRO_SEC + // = MicroSeconds x Frequency.10^-6 + TimerTicks64 = (MicroSeconds * PcdGet32 (PcdArmArchTimerFreqInHz)) / 1000000U; // Read System Counter value SystemCounterVal = ArmArchTimerGetSystemCount (); -- cgit v1.2.3