aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/include/odp/api/plat/cpu_inlines.h
diff options
context:
space:
mode:
authorPetri Savolainen <petri.savolainen@linaro.org>2018-05-25 11:25:15 +0300
committerMaxim Uvarov <maxim.uvarov@linaro.org>2018-05-28 18:08:09 +0300
commit42a8b2f0dbaee653953170cbd0a7fa659bc32b38 (patch)
treec7f53840d85ff9a1e07caa6e3fffbb952fec8a51 /platform/linux-generic/include/odp/api/plat/cpu_inlines.h
parentf4f4dcee96e534c0badc28258ad09ef50b35ec76 (diff)
linux-gen: cpu: inline cpu_cycles_diff
Moved the last function from .c file to inline header and removed .c file. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-generic/include/odp/api/plat/cpu_inlines.h')
-rw-r--r--platform/linux-generic/include/odp/api/plat/cpu_inlines.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/platform/linux-generic/include/odp/api/plat/cpu_inlines.h b/platform/linux-generic/include/odp/api/plat/cpu_inlines.h
index 29b6ca7a1..054801e80 100644
--- a/platform/linux-generic/include/odp/api/plat/cpu_inlines.h
+++ b/platform/linux-generic/include/odp/api/plat/cpu_inlines.h
@@ -7,6 +7,8 @@
#ifndef ODP_PLAT_CPU_INLINES_H_
#define ODP_PLAT_CPU_INLINES_H_
+#include <odp/api/hints.h>
+
/** @cond _ODP_HIDE_FROM_DOXYGEN_ */
#ifndef _ODP_NO_INLINE
@@ -16,12 +18,21 @@
#define odp_cpu_cycles __odp_cpu_cycles
#define odp_cpu_cycles_max __odp_cpu_cycles_max
#define odp_cpu_cycles_resolution __odp_cpu_cycles_resolution
+ #define odp_cpu_cycles_diff __odp_cpu_cycles_diff
#else
#define _ODP_INLINE
#endif
#include <odp/api/abi/cpu_inlines.h>
+_ODP_INLINE uint64_t odp_cpu_cycles_diff(uint64_t c2, uint64_t c1)
+{
+ if (odp_likely(c2 >= c1))
+ return c2 - c1;
+
+ return c2 + (odp_cpu_cycles_max() - c1) + 1;
+}
+
/** @endcond */
#endif