DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
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


      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