diff options
Diffstat (limited to 'platform')
-rw-r--r-- | platform/linux-generic/Makefile.am | 1 | ||||
-rw-r--r-- | platform/linux-generic/include/odp/api/plat/cpu_inlines.h | 11 | ||||
-rw-r--r-- | platform/linux-generic/include/odp_ring_internal.h | 1 | ||||
-rw-r--r-- | platform/linux-generic/odp_cpu.c | 18 | ||||
-rw-r--r-- | platform/linux-generic/odp_schedule_scalable_ordered.c | 1 |
5 files changed, 13 insertions, 19 deletions
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 218138f90..e995479a9 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -149,7 +149,6 @@ __LIB__libodp_linux_la_SOURCES = \ odp_buffer.c \ odp_chksum.c \ odp_classification.c \ - odp_cpu.c \ odp_cpumask.c \ odp_cpumask_task.c \ odp_crypto.c \ 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 diff --git a/platform/linux-generic/include/odp_ring_internal.h b/platform/linux-generic/include/odp_ring_internal.h index 8a01d4619..03c0817e7 100644 --- a/platform/linux-generic/include/odp_ring_internal.h +++ b/platform/linux-generic/include/odp_ring_internal.h @@ -12,6 +12,7 @@ extern "C" { #endif #include <odp/api/atomic.h> +#include <odp/api/cpu.h> #include <odp/api/hints.h> #include <odp_align_internal.h> #include <odp/api/plat/atomic_inlines.h> diff --git a/platform/linux-generic/odp_cpu.c b/platform/linux-generic/odp_cpu.c deleted file mode 100644 index cfdb1cfdb..000000000 --- a/platform/linux-generic/odp_cpu.c +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright (c) 2015-2018, Linaro Limited - * All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include "config.h" - -#include <odp/api/cpu.h> -#include <odp/api/hints.h> - -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; -} diff --git a/platform/linux-generic/odp_schedule_scalable_ordered.c b/platform/linux-generic/odp_schedule_scalable_ordered.c index f68a559d3..e01120f1d 100644 --- a/platform/linux-generic/odp_schedule_scalable_ordered.c +++ b/platform/linux-generic/odp_schedule_scalable_ordered.c @@ -8,6 +8,7 @@ #include <config.h> #include <odp/api/shared_memory.h> +#include <odp/api/cpu.h> #include <odp/api/plat/cpu_inlines.h> #include <odp_queue_scalable_internal.h> #include <odp_schedule_if.h> |