1 /*
2  * Copyright (C) 2021 Intel Corporation.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #include <common/ticks.h>
8 
9 /* cpu_ticks() and cpu_tickrate() are provided in arch specific modules */
10 
us_to_ticks(uint32_t us)11 uint64_t us_to_ticks(uint32_t us)
12 {
13 	return (((uint64_t)us * (uint64_t)cpu_tickrate()) / 1000UL);
14 }
15 
ticks_to_us(uint64_t ticks)16 uint64_t ticks_to_us(uint64_t ticks)
17 {
18 	uint64_t us = 0UL;
19 	uint64_t khz = cpu_tickrate();
20 
21 	if (khz != 0U) {
22 		us = (ticks * 1000UL) / (uint64_t)khz;
23 	}
24 
25 	return us;
26 }
27 
ticks_to_ms(uint64_t ticks)28 uint64_t ticks_to_ms(uint64_t ticks)
29 {
30 	return ticks / (uint64_t)cpu_tickrate();
31 }
32