From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Amit Prakash Shukla <amitprakashs@marvell.com>,
Jerin Jacob <jerinj@marvell.com>
Subject: [PATCH 6/6] eventdev/dma: promote adapter API to stable
Date: Wed, 2 Sep 2026 08:53:59 -0700 [thread overview]
Message-ID: <20260902155722.577747-7-stephen@networkplumber.org> (raw)
In-Reply-To: <20260902155722.577747-1-stephen@networkplumber.org>
The event DMA adapter was introduced in v23.11 and its interface has not
changed since. Promote all of its functions, together with
rte_event_dma_adapter_caps_get(), and drop the experimental warning from
the file level documentation block.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 2 ++
lib/eventdev/rte_event_dma_adapter.c | 30 +++++++++++++-------------
lib/eventdev/rte_event_dma_adapter.h | 19 ----------------
lib/eventdev/rte_eventdev.c | 2 +-
lib/eventdev/rte_eventdev.h | 1 -
5 files changed, 18 insertions(+), 36 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 5db51c4f6a..4004f36398 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -111,6 +111,8 @@ API Changes
* link profiles: ``rte_event_port_profile_links_set``,
``rte_event_port_profile_unlink`` and
``rte_event_port_profile_links_get``
+ * DMA adapter: ``rte_event_dma_adapter_*`` and
+ ``rte_event_dma_adapter_caps_get``
ABI Changes
diff --git a/lib/eventdev/rte_event_dma_adapter.c b/lib/eventdev/rte_event_dma_adapter.c
index 909f351df9..da785483c2 100644
--- a/lib/eventdev/rte_event_dma_adapter.c
+++ b/lib/eventdev/rte_event_dma_adapter.c
@@ -341,7 +341,7 @@ edma_default_config_cb(uint8_t id, uint8_t evdev_id, struct rte_event_dma_adapte
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_create_ext, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_create_ext)
int
rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
rte_event_dma_adapter_conf_cb conf_cb,
@@ -435,7 +435,7 @@ rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_create, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_create)
int
rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id, struct rte_event_port_conf *port_config,
enum rte_event_dma_adapter_mode mode)
@@ -460,7 +460,7 @@ rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id, struct rte_event_port
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_free, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_free)
int
rte_event_dma_adapter_free(uint8_t id)
{
@@ -481,7 +481,7 @@ rte_event_dma_adapter_free(uint8_t id)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_event_port_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_event_port_get)
int
rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
{
@@ -988,7 +988,7 @@ edma_add_vchan(struct event_dma_adapter *adapter, int16_t dma_dev_id, uint16_t v
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_vchan_add, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_vchan_add)
int
rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dma_dev_id, uint16_t vchan,
const struct rte_event *event)
@@ -1103,7 +1103,7 @@ rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dma_dev_id, uint16_t vchan,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_vchan_del, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_vchan_del)
int
rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dma_dev_id, uint16_t vchan)
{
@@ -1170,7 +1170,7 @@ rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dma_dev_id, uint16_t vchan)
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_service_id_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_service_id_get)
int
rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id)
{
@@ -1230,7 +1230,7 @@ edma_adapter_ctrl(uint8_t id, int start)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_start, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_start)
int
rte_event_dma_adapter_start(uint8_t id)
{
@@ -1245,7 +1245,7 @@ rte_event_dma_adapter_start(uint8_t id)
return edma_adapter_ctrl(id, 1);
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_stop, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_stop)
int
rte_event_dma_adapter_stop(uint8_t id)
{
@@ -1254,7 +1254,7 @@ rte_event_dma_adapter_stop(uint8_t id)
#define DEFAULT_MAX_NB 128
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_runtime_params_init, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_runtime_params_init)
int
rte_event_dma_adapter_runtime_params_init(struct rte_event_dma_adapter_runtime_params *params)
{
@@ -1290,7 +1290,7 @@ dma_adapter_cap_check(struct event_dma_adapter *adapter)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_runtime_params_set, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_runtime_params_set)
int
rte_event_dma_adapter_runtime_params_set(uint8_t id,
struct rte_event_dma_adapter_runtime_params *params)
@@ -1320,7 +1320,7 @@ rte_event_dma_adapter_runtime_params_set(uint8_t id,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_runtime_params_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_runtime_params_get)
int
rte_event_dma_adapter_runtime_params_get(uint8_t id,
struct rte_event_dma_adapter_runtime_params *params)
@@ -1348,7 +1348,7 @@ rte_event_dma_adapter_runtime_params_get(uint8_t id,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_stats_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_stats_get)
int
rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *stats)
{
@@ -1394,7 +1394,7 @@ rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_stats_reset, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_stats_reset)
int
rte_event_dma_adapter_stats_reset(uint8_t id)
{
@@ -1427,7 +1427,7 @@ rte_event_dma_adapter_stats_reset(uint8_t id)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_enqueue, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_enqueue)
uint16_t
rte_event_dma_adapter_enqueue(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
uint16_t nb_events)
diff --git a/lib/eventdev/rte_event_dma_adapter.h b/lib/eventdev/rte_event_dma_adapter.h
index 6a32f84753..5c37f55d46 100644
--- a/lib/eventdev/rte_event_dma_adapter.h
+++ b/lib/eventdev/rte_event_dma_adapter.h
@@ -8,10 +8,6 @@
/**
* @file rte_event_dma_adapter.h
*
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
* DMA Event Adapter API.
*
* Eventdev library provides adapters to bridge between various components for providing new
@@ -282,7 +278,6 @@ struct rte_event_dma_adapter_stats {
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
rte_event_dma_adapter_conf_cb conf_cb,
enum rte_event_dma_adapter_mode mode, void *conf_arg);
@@ -308,7 +303,6 @@ int rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id,
struct rte_event_port_conf *port_config,
enum rte_event_dma_adapter_mode mode);
@@ -323,7 +317,6 @@ int rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id,
* - <0: Error code on failure, If the adapter still has queue pairs added to it, the function
* returns -EBUSY.
*/
-__rte_experimental
int rte_event_dma_adapter_free(uint8_t id);
/**
@@ -340,7 +333,6 @@ int rte_event_dma_adapter_free(uint8_t id);
* - 0: Success
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
/**
@@ -362,7 +354,6 @@ int rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
* - 0: Success, vchan added correctly.
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dmadev_id, uint16_t vchan,
const struct rte_event *event);
@@ -380,7 +371,6 @@ int rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dmadev_id, uint16_t vcha
* - 0: Success, vchan deleted successfully.
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dmadev_id, uint16_t vchan);
/**
@@ -397,7 +387,6 @@ int rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dmadev_id, uint16_t vcha
* - <0: Error code on failure, if the adapter doesn't use a rte_service function, this function
* returns -ESRCH.
*/
-__rte_experimental
int rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id);
/**
@@ -413,7 +402,6 @@ int rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id);
* @note The eventdev and dmadev to which the event_dma_adapter is connected should be started
* before calling rte_event_dma_adapter_start().
*/
-__rte_experimental
int rte_event_dma_adapter_start(uint8_t id);
/**
@@ -426,7 +414,6 @@ int rte_event_dma_adapter_start(uint8_t id);
* - 0: Success, adapter stopped successfully.
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_stop(uint8_t id);
/**
@@ -439,7 +426,6 @@ int rte_event_dma_adapter_stop(uint8_t id);
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int rte_event_dma_adapter_runtime_params_init(struct rte_event_dma_adapter_runtime_params *params);
/**
@@ -459,7 +445,6 @@ int rte_event_dma_adapter_runtime_params_init(struct rte_event_dma_adapter_runti
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int rte_event_dma_adapter_runtime_params_set(uint8_t id,
struct rte_event_dma_adapter_runtime_params *params);
@@ -477,7 +462,6 @@ int rte_event_dma_adapter_runtime_params_set(uint8_t id,
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int rte_event_dma_adapter_runtime_params_get(uint8_t id,
struct rte_event_dma_adapter_runtime_params *params);
@@ -493,7 +477,6 @@ int rte_event_dma_adapter_runtime_params_get(uint8_t id,
* - 0: Success, retrieved successfully.
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *stats);
/**
@@ -506,7 +489,6 @@ int rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_sta
* - 0: Success, statistics reset successfully.
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_stats_reset(uint8_t id);
/**
@@ -543,7 +525,6 @@ int rte_event_dma_adapter_stats_reset(uint8_t id);
* - ENOSPC: The event port was backpressured and unable to enqueue one or more events. This
* error code is only applicable to closed systems.
*/
-__rte_experimental
uint16_t rte_event_dma_adapter_enqueue(uint8_t evdev_id, uint8_t port_id, struct rte_event ev[],
uint16_t nb_events);
diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c
index 6211679b29..53d17d7a00 100644
--- a/lib/eventdev/rte_eventdev.c
+++ b/lib/eventdev/rte_eventdev.c
@@ -234,7 +234,7 @@ rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
: 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_caps_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_caps_get)
int
rte_event_dma_adapter_caps_get(uint8_t dev_id, uint8_t dma_dev_id, uint32_t *caps)
{
diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index e8d0ef59ac..38f0a43f38 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -1952,7 +1952,6 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
* dmadev device.
* - <0: Error code returned by the driver function.
*/
-__rte_experimental
int
rte_event_dma_adapter_caps_get(uint8_t dev_id, uint8_t dmadev_id, uint32_t *caps);
--
2.53.0
prev parent reply other threads:[~2026-09-02 15:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-02 15:53 [PATCH 0/6] eventdev: promote long-standing experimental API to stable Stephen Hemminger
2026-09-02 15:53 ` [PATCH 1/6] eventdev/eth_rx: promote adapter " Stephen Hemminger
2026-09-02 15:53 ` [PATCH 2/6] eventdev/eth_tx: promote adapter runtime params " Stephen Hemminger
2026-09-02 15:53 ` [PATCH 3/6] eventdev/crypto: " Stephen Hemminger
2026-09-02 16:34 ` Gujjar, Abhinandan S
2026-09-02 15:53 ` [PATCH 4/6] eventdev/timer: promote remaining ticks get " Stephen Hemminger
2026-09-02 15:53 ` [PATCH 5/6] eventdev: promote link profile API " Stephen Hemminger
2026-09-02 15:53 ` Stephen Hemminger [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260902155722.577747-7-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=amitprakashs@marvell.com \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox