aboutsummaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorIvan Khoronzhuk <ivan.khoronzhuk@linaro.org>2015-12-21 14:17:52 +0200
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-12-29 14:07:52 +0300
commitaf3c4128805eaa188e2c683723dbf3d89de7ac52 (patch)
tree5f64f364d81c5bf0fb3bf3e9c44d130327d0ce1b /platform
parent983e8a8d3888230e229e1515c2816829d57c04c0 (diff)
api: time: add global time API
This patch adds global time API and implements it in linux-generic. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform')
-rw-r--r--platform/linux-generic/odp_time.c34
1 files changed, 27 insertions, 7 deletions
diff --git a/platform/linux-generic/odp_time.c b/platform/linux-generic/odp_time.c
index 4807bc71d..6bb95fcc6 100644
--- a/platform/linux-generic/odp_time.c
+++ b/platform/linux-generic/odp_time.c
@@ -96,11 +96,28 @@ static inline void time_wait_until(odp_time_t time)
} while (time_cmp(time, cur) > 0);
}
+static inline uint64_t time_local_res(void)
+{
+ int ret;
+ struct timespec tres;
+
+ ret = clock_getres(CLOCK_MONOTONIC_RAW, &tres);
+ if (odp_unlikely(ret != 0))
+ ODP_ABORT("clock_getres failed\n");
+
+ return ODP_TIME_SEC_IN_NS / (uint64_t)tres.tv_nsec;
+}
+
odp_time_t odp_time_local(void)
{
return time_local();
}
+odp_time_t odp_time_global(void)
+{
+ return time_local();
+}
+
odp_time_t odp_time_diff(odp_time_t t2, odp_time_t t1)
{
return time_diff(t2, t1);
@@ -116,6 +133,11 @@ odp_time_t odp_time_local_from_ns(uint64_t ns)
return time_local_from_ns(ns);
}
+odp_time_t odp_time_global_from_ns(uint64_t ns)
+{
+ return time_local_from_ns(ns);
+}
+
int odp_time_cmp(odp_time_t t2, odp_time_t t1)
{
return time_cmp(t2, t1);
@@ -128,14 +150,12 @@ odp_time_t odp_time_sum(odp_time_t t1, odp_time_t t2)
uint64_t odp_time_local_res(void)
{
- int ret;
- struct timespec tres;
-
- ret = clock_getres(CLOCK_MONOTONIC_RAW, &tres);
- if (odp_unlikely(ret != 0))
- ODP_ABORT("clock_getres failed\n");
+ return time_local_res();
+}
- return ODP_TIME_SEC_IN_NS / (uint64_t)tres.tv_nsec;
+uint64_t odp_time_global_res(void)
+{
+ return time_local_res();
}
void odp_time_wait_ns(uint64_t ns)