From 91591bd7246c76dae343226c1dfe12eb1e74d94b Mon Sep 17 00:00:00 2001 From: Matias Elo Date: Thu, 12 Sep 2024 17:09:24 +0300 Subject: [PATCH] linux-gen: buffer: make code platform agnostic Enable usage of buffer debug code with ODP-DPDK. Signed-off-by: Matias Elo --- .../include/odp_buffer_internal.h | 9 +++++++- platform/linux-generic/odp_buffer.c | 22 ++++++++----------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/platform/linux-generic/include/odp_buffer_internal.h b/platform/linux-generic/include/odp_buffer_internal.h index 66b2a454c7..26f9fc014b 100644 --- a/platform/linux-generic/include/odp_buffer_internal.h +++ b/platform/linux-generic/include/odp_buffer_internal.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: BSD-3-Clause * Copyright (c) 2013-2018 Linaro Limited - * Copyright (c) 2019-2021 Nokia + * Copyright (c) 2019-2024 Nokia */ /** @@ -27,7 +27,9 @@ extern "C" { #include #include #include + #include +#include /* Internal buffer header */ typedef struct ODP_ALIGNED_CACHE odp_buffer_hdr_t { @@ -58,6 +60,11 @@ static inline void _odp_buffer_subtype_set(odp_buffer_t buffer, int subtype) buf_hdr->event_hdr.subtype = subtype; } +static inline uint32_t _odp_buffer_index(odp_buffer_t buf) +{ + return _odp_buf_hdr(buf)->event_hdr.index.event; +} + #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/odp_buffer.c b/platform/linux-generic/odp_buffer.c index af9b85edcb..a319f96e4b 100644 --- a/platform/linux-generic/odp_buffer.c +++ b/platform/linux-generic/odp_buffer.c @@ -1,21 +1,21 @@ /* SPDX-License-Identifier: BSD-3-Clause * Copyright (c) 2013-2018 Linaro Limited - * Copyright (c) 2019-2022 Nokia + * Copyright (c) 2019-2024 Nokia */ #include #include #include +#include -#include #include #include #include -#include -#include #include +#include +#include #include @@ -28,7 +28,6 @@ const _odp_buffer_inline_offset_t _odp_buffer_inline_offset ODP_ALIGNED_CACHE = void odp_buffer_print(odp_buffer_t buf) { - odp_buffer_hdr_t *hdr; int len = 0; int max_len = 512; int n = max_len - 1; @@ -39,19 +38,16 @@ void odp_buffer_print(odp_buffer_t buf) return; } - hdr = _odp_buf_hdr(buf); - len += _odp_snprint(&str[len], n - len, "Buffer info\n"); len += _odp_snprint(&str[len], n - len, "-----------\n"); len += _odp_snprint(&str[len], n - len, " handle 0x%" PRIx64 "\n", odp_buffer_to_u64(buf)); - len += _odp_snprint(&str[len], n - len, " pool index %u\n", hdr->event_hdr.index.pool); - len += _odp_snprint(&str[len], n - len, " buffer index %u\n", - hdr->event_hdr.index.event); - len += _odp_snprint(&str[len], n - len, " addr %p\n", - (void *)hdr->event_hdr.base_data); + len += _odp_snprint(&str[len], n - len, " pool index %u\n", + odp_pool_index(odp_buffer_pool(buf))); + len += _odp_snprint(&str[len], n - len, " buffer index %u\n", _odp_buffer_index(buf)); + len += _odp_snprint(&str[len], n - len, " addr %p\n", odp_buffer_addr(buf)); len += _odp_snprint(&str[len], n - len, " size %u\n", odp_buffer_size(buf)); - len += _odp_snprint(&str[len], n - len, " user area %p\n", hdr->uarea_addr); + len += _odp_snprint(&str[len], n - len, " user area %p\n", odp_buffer_user_area(buf)); str[len] = 0; _ODP_PRINT("%s\n", str);