armv7-a timer:fix timer overflow.

Signed-off-by: yangguangcai <yangguangcai@xiaomi.com>
This commit is contained in:
yangguangcai 2023-11-23 20:49:37 +08:00 committed by Petro Karashchenko
parent dfffaee706
commit 352e3a6873
1 changed files with 3 additions and 1 deletions

View File

@ -137,7 +137,9 @@ static inline void arm_timer_set_cval(uint64_t cval)
static inline uint64_t nsec_from_count(uint64_t count, uint32_t freq)
{
return (uint64_t)count * NSEC_PER_SEC / freq;
uint64_t sec = count / freq;
uint64_t nsec = (count % freq) * NSEC_PER_SEC / freq;
return sec * NSEC_PER_SEC + nsec;
}
static inline uint64_t nsec_to_count(uint32_t nsec, uint32_t freq)