11/* SPDX-License-Identifier: BSD-3-Clause
22 * Copyright (c) 2013-2018 Linaro Limited
3- * Copyright (c) 2020-2023 Nokia
3+ * Copyright (c) 2020-2026 Nokia
44 */
55
66#ifndef ODP_ARCH_TIME_CPU_INLINES_H_
@@ -20,34 +20,38 @@ extern "C" {
2020
2121typedef struct _odp_time_global_t {
2222 uint64_t freq_hz ;
23- uint64_t start_time ;
23+ odp_time_t start_time ;
2424 uint64_t start_time_ns ;
2525
2626} _odp_time_global_t ;
2727
2828extern _odp_time_global_t _odp_time_glob ;
2929
30- static inline odp_time_t _odp_time_cur ( void )
30+ static inline uint64_t _odp_time_to_u64 ( odp_time_t time )
3131{
32- odp_time_t time ;
32+ return (uint64_t )time ;
33+ }
3334
34- time .count = _odp_time_cpu_global ();
35- return time ;
35+ static inline odp_time_t _odp_time_from_u64 (uint64_t val )
36+ {
37+ return (odp_time_t )val ;
3638}
3739
38- static inline odp_time_t _odp_time_cur_strict (void )
40+ static inline odp_time_t _odp_time_cur (void )
3941{
40- odp_time_t time ;
42+ return _odp_time_from_u64 (_odp_time_cpu_global ());
43+ }
4144
42- time .count = _odp_time_cpu_global_strict ();
43- return time ;
45+ static inline odp_time_t _odp_time_cur_strict (void )
46+ {
47+ return _odp_time_from_u64 (_odp_time_cpu_global_strict ());
4448}
4549
4650static inline uint64_t _odp_time_to_ns (odp_time_t time )
4751{
4852 uint64_t nsec ;
4953 uint64_t freq_hz = _odp_time_glob .freq_hz ;
50- uint64_t count = time . count ;
54+ uint64_t count = _odp_time_to_u64 ( time ) ;
5155 uint64_t sec = 0 ;
5256
5357 if (count >= freq_hz ) {
@@ -62,7 +66,6 @@ static inline uint64_t _odp_time_to_ns(odp_time_t time)
6266
6367static inline odp_time_t _odp_time_from_ns (uint64_t ns )
6468{
65- odp_time_t time ;
6669 uint64_t count ;
6770 uint64_t freq_hz = _odp_time_glob .freq_hz ;
6871 uint64_t sec = 0 ;
@@ -75,9 +78,7 @@ static inline odp_time_t _odp_time_from_ns(uint64_t ns)
7578 count = sec * freq_hz ;
7679 count += (ns * freq_hz ) / ODP_TIME_SEC_IN_NS ;
7780
78- time .count = count ;
79-
80- return time ;
81+ return _odp_time_from_u64 (count );
8182}
8283
8384static inline uint64_t _odp_time_res (void )
@@ -87,8 +88,8 @@ static inline uint64_t _odp_time_res(void)
8788
8889static inline void _odp_time_startup (odp_time_startup_t * startup )
8990{
90- startup -> global . count = _odp_time_glob .start_time ;
91- startup -> global_ns = _odp_time_glob .start_time_ns ;
91+ startup -> global = _odp_time_glob .start_time ;
92+ startup -> global_ns = _odp_time_glob .start_time_ns ;
9293}
9394
9495#ifdef __cplusplus
0 commit comments