diff options
Diffstat (limited to 'platform/linux-generic/odp_queue_basic.c')
-rw-r--r-- | platform/linux-generic/odp_queue_basic.c | 67 |
1 files changed, 35 insertions, 32 deletions
diff --git a/platform/linux-generic/odp_queue_basic.c b/platform/linux-generic/odp_queue_basic.c index 360f907bf..83694f84f 100644 --- a/platform/linux-generic/odp_queue_basic.c +++ b/platform/linux-generic/odp_queue_basic.c @@ -1,43 +1,46 @@ /* Copyright (c) 2013-2018, Linaro Limited - * Copyright (c) 2021-2022, Nokia + * Copyright (c) 2021-2023, Nokia * All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ -#include <odp/api/queue.h> -#include <odp_queue_basic_internal.h> -#include <odp_queue_if.h> -#include <odp/api/std_types.h> #include <odp/api/align.h> -#include <odp_pool_internal.h> -#include <odp_init_internal.h> -#include <odp_timer_internal.h> -#include <odp/api/shared_memory.h> -#include <odp/api/schedule.h> -#include <odp_schedule_if.h> -#include <odp_config_internal.h> -#include <odp_packet_io_internal.h> -#include <odp_debug_internal.h> #include <odp/api/hints.h> +#include <odp/api/packet_io.h> +#include <odp/api/queue.h> +#include <odp/api/schedule.h> +#include <odp/api/shared_memory.h> +#include <odp/api/std_types.h> #include <odp/api/sync.h> -#include <odp/api/plat/sync_inlines.h> +#include <odp/api/ticketlock.h> #include <odp/api/traffic_mngr.h> -#include <odp_libconfig_internal.h> + #include <odp/api/plat/queue_inline_types.h> -#include <odp_global_data.h> -#include <odp_queue_basic_internal.h> +#include <odp/api/plat/sync_inlines.h> +#include <odp/api/plat/ticketlock_inlines.h> + +#include <odp_config_internal.h> +#include <odp_debug_internal.h> #include <odp_event_internal.h> +#include <odp_global_data.h> +#include <odp_init_internal.h> +#include <odp_libconfig_internal.h> #include <odp_macros_internal.h> +#include <odp_packet_io_internal.h> +#include <odp_pool_internal.h> +#include <odp_queue_basic_internal.h> +#include <odp_queue_if.h> +#include <odp_schedule_if.h> +#include <odp_timer_internal.h> + +#include <inttypes.h> +#include <string.h> -#include <odp/api/plat/ticketlock_inlines.h> #define LOCK(queue_ptr) odp_ticketlock_lock(&((queue_ptr)->lock)) #define UNLOCK(queue_ptr) odp_ticketlock_unlock(&((queue_ptr)->lock)) #define LOCK_INIT(queue_ptr) odp_ticketlock_init(&((queue_ptr)->lock)) -#include <string.h> -#include <inttypes.h> - #define MIN_QUEUE_SIZE 32 #define MAX_QUEUE_SIZE (1 * 1024 * 1024) @@ -405,7 +408,7 @@ static int queue_destroy(odp_queue_t handle) else if (queue->type == ODP_QUEUE_TYPE_SCHED) empty = ring_st_is_empty(&queue->ring_st); else - empty = ring_mpmc_is_empty(&queue->ring_mpmc); + empty = ring_mpmc_u32_is_empty(&queue->ring_mpmc); if (!empty) { UNLOCK(queue); @@ -494,7 +497,7 @@ static inline int _plain_queue_enq_multi(odp_queue_t handle, { queue_entry_t *queue; int ret, num_enq; - ring_mpmc_t *ring_mpmc; + ring_mpmc_u32_t *ring_mpmc; uint32_t event_idx[num]; queue = qentry_from_handle(handle); @@ -505,8 +508,8 @@ static inline int _plain_queue_enq_multi(odp_queue_t handle, event_index_from_hdr(event_idx, event_hdr, num); - num_enq = ring_mpmc_enq_multi(ring_mpmc, queue->ring_data, - queue->ring_mask, event_idx, num); + num_enq = ring_mpmc_u32_enq_multi(ring_mpmc, queue->ring_data, + queue->ring_mask, event_idx, num); return num_enq; } @@ -516,14 +519,14 @@ static inline int _plain_queue_deq_multi(odp_queue_t handle, { int num_deq; queue_entry_t *queue; - ring_mpmc_t *ring_mpmc; + ring_mpmc_u32_t *ring_mpmc; uint32_t event_idx[num]; queue = qentry_from_handle(handle); ring_mpmc = &queue->ring_mpmc; - num_deq = ring_mpmc_deq_multi(ring_mpmc, queue->ring_data, - queue->ring_mask, event_idx, num); + num_deq = ring_mpmc_u32_deq_multi(ring_mpmc, queue->ring_data, + queue->ring_mask, event_idx, num); if (num_deq == 0) return 0; @@ -751,7 +754,7 @@ static void queue_print(odp_queue_t handle) } else { _ODP_PRINT(" implementation ring_mpmc\n"); _ODP_PRINT(" length %" PRIu32 "/%" PRIu32 "\n", - ring_mpmc_length(&queue->ring_mpmc), queue->ring_mask + 1); + ring_mpmc_u32_len(&queue->ring_mpmc), queue->ring_mask + 1); } _ODP_PRINT("\n"); @@ -817,7 +820,7 @@ static void queue_print_all(void) if (_odp_sched_id == _ODP_SCHED_ID_BASIC) spr = _odp_sched_basic_get_spread(index); } else { - len = ring_mpmc_length(&queue->ring_mpmc); + len = ring_mpmc_u32_len(&queue->ring_mpmc); max_len = queue->ring_mask + 1; } @@ -1070,7 +1073,7 @@ static int queue_init(queue_entry_t *queue, const char *name, queue->ring_data = &_odp_queue_glb->ring_data[offset]; queue->ring_mask = queue_size - 1; - ring_mpmc_init(&queue->ring_mpmc); + ring_mpmc_u32_init(&queue->ring_mpmc); } else { queue->enqueue = sched_queue_enq; |