diff options
Diffstat (limited to 'platform/linux-dpdk/odp_schedule_if.c')
-rw-r--r-- | platform/linux-dpdk/odp_schedule_if.c | 114 |
1 files changed, 21 insertions, 93 deletions
diff --git a/platform/linux-dpdk/odp_schedule_if.c b/platform/linux-dpdk/odp_schedule_if.c index d5b39b656..fa6a3df97 100644 --- a/platform/linux-dpdk/odp_schedule_if.c +++ b/platform/linux-dpdk/odp_schedule_if.c @@ -1,5 +1,5 @@ /* Copyright (c) 2018, Linaro Limited - * Copyright (c) 2021, Nokia + * Copyright (c) 2021-2022, Nokia * All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause @@ -7,6 +7,8 @@ #include <odp/autoheader_internal.h> +#include <odp/api/plat/schedule_inline_types.h> + #include <odp_schedule_if.h> #include <odp_init_internal.h> #include <odp_debug_internal.h> @@ -18,24 +20,30 @@ #include <stdlib.h> #include <string.h> +/* Enable visibility to inline headers */ +#include <odp/visibility_begin.h> + +const _odp_schedule_api_fn_t *_odp_sched_api; + +int _odp_schedule_configured(void) +{ + return odp_global_rw->schedule_configured; +} + +#include <odp/visibility_end.h> + extern const schedule_fn_t _odp_schedule_sp_fn; -extern const schedule_api_t _odp_schedule_sp_api; +extern const _odp_schedule_api_fn_t _odp_schedule_sp_api; extern const schedule_fn_t _odp_schedule_basic_fn; -extern const schedule_api_t _odp_schedule_basic_api; +extern const _odp_schedule_api_fn_t _odp_schedule_basic_api; extern const schedule_fn_t _odp_schedule_eventdev_fn; -extern const schedule_api_t _odp_schedule_eventdev_api; +extern const _odp_schedule_api_fn_t _odp_schedule_eventdev_api; const schedule_fn_t *_odp_sched_fn; -const schedule_api_t *_odp_sched_api; int _odp_sched_id; -uint64_t odp_schedule_wait_time(uint64_t ns) -{ - return _odp_sched_api->schedule_wait_time(ns); -} - int odp_schedule_capability(odp_schedule_capability_t *capa) { return _odp_sched_api->schedule_capability(capa); @@ -54,7 +62,7 @@ int odp_schedule_config(const odp_schedule_config_t *config) odp_schedule_config_t defconfig; if (odp_global_rw->schedule_configured) { - ODP_ERR("Scheduler has been configured already\n"); + _ODP_ERR("Scheduler has been configured already\n"); return -1; } @@ -71,56 +79,6 @@ int odp_schedule_config(const odp_schedule_config_t *config) return ret; } -odp_event_t odp_schedule(odp_queue_t *from, uint64_t wait) -{ - ODP_ASSERT(odp_global_rw->schedule_configured); - - return _odp_sched_api->schedule(from, wait); -} - -int odp_schedule_multi(odp_queue_t *from, uint64_t wait, odp_event_t events[], - int num) -{ - ODP_ASSERT(odp_global_rw->schedule_configured); - - return _odp_sched_api->schedule_multi(from, wait, events, num); -} - -int odp_schedule_multi_wait(odp_queue_t *from, odp_event_t events[], int num) -{ - return _odp_sched_api->schedule_multi_wait(from, events, num); -} - -int odp_schedule_multi_no_wait(odp_queue_t *from, odp_event_t events[], int num) -{ - return _odp_sched_api->schedule_multi_no_wait(from, events, num); -} - -void odp_schedule_pause(void) -{ - _odp_sched_api->schedule_pause(); -} - -void odp_schedule_resume(void) -{ - _odp_sched_api->schedule_resume(); -} - -void odp_schedule_release_atomic(void) -{ - _odp_sched_api->schedule_release_atomic(); -} - -void odp_schedule_release_ordered(void) -{ - _odp_sched_api->schedule_release_ordered(); -} - -void odp_schedule_prefetch(int num) -{ - _odp_sched_api->schedule_prefetch(num); -} - int odp_schedule_min_prio(void) { return _odp_sched_api->schedule_min_prio(); @@ -181,36 +139,6 @@ int odp_schedule_group_info(odp_schedule_group_t group, return _odp_sched_api->schedule_group_info(group, info); } -void odp_schedule_order_lock(uint32_t lock_index) -{ - _odp_sched_api->schedule_order_lock(lock_index); -} - -void odp_schedule_order_unlock(uint32_t lock_index) -{ - _odp_sched_api->schedule_order_unlock(lock_index); -} - -void odp_schedule_order_unlock_lock(uint32_t unlock_index, uint32_t lock_index) -{ - _odp_sched_api->schedule_order_unlock_lock(unlock_index, lock_index); -} - -void odp_schedule_order_lock_start(uint32_t lock_index) -{ - _odp_sched_api->schedule_order_lock_start(lock_index); -} - -void odp_schedule_order_lock_wait(uint32_t lock_index) -{ - _odp_sched_api->schedule_order_lock_wait(lock_index); -} - -void odp_schedule_order_wait(void) -{ - _odp_sched_api->schedule_order_wait(); -} - void odp_schedule_print(void) { _odp_sched_api->schedule_print(); @@ -223,7 +151,7 @@ int _odp_schedule_init_global(void) if (sched == NULL || !strcmp(sched, "default")) sched = _ODP_SCHEDULE_DEFAULT; - ODP_PRINT("Using scheduler '%s'\n", sched); + _ODP_PRINT("Using scheduler '%s'\n", sched); if (!strcmp(sched, "basic")) { _odp_sched_id = _ODP_SCHED_ID_BASIC; @@ -238,7 +166,7 @@ int _odp_schedule_init_global(void) _odp_sched_fn = &_odp_schedule_eventdev_fn; _odp_sched_api = &_odp_schedule_eventdev_api; } else { - ODP_ABORT("Unknown scheduler specified via ODP_SCHEDULER\n"); + _ODP_ABORT("Unknown scheduler specified via ODP_SCHEDULER\n"); return -1; } |