libpayload: improve us timer accuracy
In cases where timer clock frequency is not an integer number of megahertz, the calculations in timer_us() lack accuracy. This patch modifies calculations to reduce the error. The maximum interval this calculation would support decreases, but it still is in excess of 1844674 seconds for a timer clocked by 10 MHz, which is more than enough. BUG=none TEST=manual . verified timer accuracy using a depthcharge CLI command Change-Id: Iffb323db10e74b0ce3b4d59a56983bfee12e6805 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/207358 Reviewed-by: David Hendricks <dhendrix@chromium.org>
This commit is contained in:
parent
6291f3bed7
commit
e1abf87d43
1 changed files with 1 additions and 1 deletions
|
|
@ -204,5 +204,5 @@ u64 timer_us(u64 base)
|
|||
}
|
||||
}
|
||||
|
||||
return timer_raw_value() / (hz / 1000000) - base;
|
||||
return (1000000 * timer_raw_value()) / hz - base;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue