DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev]  [PATCH] eventdev: promote adapter functions as stable
@ 2019-04-18 12:05 jerinj
  2019-04-18 12:05 ` jerinj
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: jerinj @ 2019-04-18 12:05 UTC (permalink / raw)
  To: dev, Thomas Monjalon, Jerin Jacob, Mattias Rönnblom,
	Harry van Haaren, Abhinandan Gujjar, Nikhil Rao,
	Erik Gabriel Carrillo
  Cc: pbhagavatula, hemant.agrawal, nipun.gupta, liang.j.ma

From: Jerin Jacob <jerinj@marvell.com>

Promote the adapter functions and rte_event_port_unlinks_in_progress()
as stable as it's been added for a while now and multiple drivers and
test application like test-eventdev has been tested using the adapter APIs.

Cc: nikhil.rao@intel.com
Cc: erik.g.carrillo@intel.com
Cc: abhinandan.gujjar@intel.com
Cc: pbhagavatula@marvell.com
Cc: hemant.agrawal@nxp.com
Cc: nipun.gupta@nxp.com
Cc: harry.van.haaren@intel.com
Cc: mattias.ronnblom@ericsson.com
Cc: liang.j.ma@intel.com

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---

allow experimental api still set to true for following drivers.

drivers/event/sw - due to usage of rte_service_may_be_active() API
drivers/event/dpaa[2] - due to usage of rte_mem_iova2virt() API

---
 MAINTAINERS                                   |  8 +++---
 app/test-eventdev/Makefile                    |  1 -
 app/test-eventdev/meson.build                 |  1 -
 drivers/event/dsw/Makefile                    |  1 -
 drivers/event/dsw/meson.build                 |  1 -
 drivers/event/octeontx/Makefile               |  1 -
 drivers/event/octeontx/meson.build            |  1 -
 examples/eventdev_pipeline/Makefile           |  2 --
 examples/eventdev_pipeline/meson.build        |  1 -
 .../rte_event_crypto_adapter.c                | 22 +++++++--------
 .../rte_event_crypto_adapter.h                | 22 +++++++--------
 .../rte_event_eth_rx_adapter.h                |  2 +-
 .../rte_event_eth_tx_adapter.c                | 22 +++++++--------
 .../rte_event_eth_tx_adapter.h                | 28 +++++++++----------
 lib/librte_eventdev/rte_event_timer_adapter.c | 20 ++++++-------
 lib/librte_eventdev/rte_event_timer_adapter.h | 26 ++++++++---------
 lib/librte_eventdev/rte_eventdev.c            |  8 +++---
 lib/librte_eventdev/rte_eventdev.h            |  8 +++---
 lib/librte_eventdev/rte_eventdev_version.map  |  4 +--
 19 files changed, 85 insertions(+), 94 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index a08583471..9c14f7e19 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -398,28 +398,28 @@ F: lib/librte_eventdev/
 F: drivers/event/skeleton/
 F: app/test/test_eventdev.c
 
-Eventdev Ethdev Rx Adapter API - EXPERIMENTAL
+Eventdev Ethdev Rx Adapter API
 M: Nikhil Rao <nikhil.rao@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*eth_rx_adapter*
 F: app/test/test_event_eth_rx_adapter.c
 F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst
 
-Eventdev Ethdev Tx Adapter API - EXPERIMENTAL
+Eventdev Ethdev Tx Adapter API
 M: Nikhil Rao <nikhil.rao@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*eth_tx_adapter*
 F: app/test/test_event_eth_tx_adapter.c
 F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst
 
-Eventdev Timer Adapter API - EXPERIMENTAL
+Eventdev Timer Adapter API
 M: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*timer_adapter*
 F: app/test/test_event_timer_adapter.c
 F: doc/guides/prog_guide/event_timer_adapter.rst
 
-Eventdev Crypto Adapter API - EXPERIMENTAL
+Eventdev Crypto Adapter API
 M: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*crypto_adapter*
diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile
index cb659110e..e600e21c4 100644
--- a/app/test-eventdev/Makefile
+++ b/app/test-eventdev/Makefile
@@ -6,7 +6,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
 
 APP = dpdk-test-eventdev
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
index a81dcd131..7ff2b786c 100644
--- a/app/test-eventdev/meson.build
+++ b/app/test-eventdev/meson.build
@@ -1,7 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Cavium, Inc
 
-allow_experimental_apis = true
 sources = files('evt_main.c',
 		'evt_options.c',
 		'evt_test.c',
diff --git a/drivers/event/dsw/Makefile b/drivers/event/dsw/Makefile
index 490ed0b98..922fe2e42 100644
--- a/drivers/event/dsw/Makefile
+++ b/drivers/event/dsw/Makefile
@@ -5,7 +5,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
 
 LIB = librte_pmd_dsw_event.a
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
diff --git a/drivers/event/dsw/meson.build b/drivers/event/dsw/meson.build
index a6b7bfa59..a3d09eef3 100644
--- a/drivers/event/dsw/meson.build
+++ b/drivers/event/dsw/meson.build
@@ -1,6 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Ericsson AB
 
-allow_experimental_apis = true
 deps += ['bus_vdev']
 sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c')
diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile
index 2e07890b9..2c92ccb35 100644
--- a/drivers/event/octeontx/Makefile
+++ b/drivers/event/octeontx/Makefile
@@ -13,7 +13,6 @@ CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
 CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 
 LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
 LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs
diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
index 041855330..2b74bb62d 100644
--- a/drivers/event/octeontx/meson.build
+++ b/drivers/event/octeontx/meson.build
@@ -10,5 +10,4 @@ sources = files('ssovf_worker.c',
 		'timvf_probe.c'
 )
 
-allow_experimental_apis = true
 deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
diff --git a/examples/eventdev_pipeline/Makefile b/examples/eventdev_pipeline/Makefile
index c34779086..0b0d1ade9 100644
--- a/examples/eventdev_pipeline/Makefile
+++ b/examples/eventdev_pipeline/Makefile
@@ -25,8 +25,6 @@ CFLAGS += -O3 $(shell pkg-config --cflags libdpdk)
 LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk)
 LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static --libs libdpdk)
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build
 	$(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED)
 
diff --git a/examples/eventdev_pipeline/meson.build b/examples/eventdev_pipeline/meson.build
index 0fc916b05..a54c35aa7 100644
--- a/examples/eventdev_pipeline/meson.build
+++ b/examples/eventdev_pipeline/meson.build
@@ -7,7 +7,6 @@
 # DPDK instance, use 'make'
 
 deps += 'eventdev'
-allow_experimental_apis = true
 sources = files(
 	'main.c',
 	'pipeline_worker_generic.c',
diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c b/lib/librte_eventdev/rte_event_crypto_adapter.c
index 11b28ca9b..9e99cf475 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.c
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
@@ -192,7 +192,7 @@ eca_default_config_cb(uint8_t id, uint8_t dev_id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_crypto_adapter_conf_cb conf_cb,
 				enum rte_event_crypto_adapter_mode mode,
@@ -268,7 +268,7 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 }
 
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config,
 				enum rte_event_crypto_adapter_mode mode)
@@ -294,7 +294,7 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_free(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -760,7 +760,7 @@ eca_add_queue_pair(struct rte_event_crypto_adapter *adapter,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 			uint8_t cdev_id,
 			int32_t queue_pair_id,
@@ -875,7 +875,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
 					int32_t queue_pair_id)
 {
@@ -1002,7 +1002,7 @@ eca_adapter_ctrl(uint8_t id, int start)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_start(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1015,13 +1015,13 @@ rte_event_crypto_adapter_start(uint8_t id)
 	return eca_adapter_ctrl(id, 1);
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stop(uint8_t id)
 {
 	return eca_adapter_ctrl(id, 0);
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_get(uint8_t id,
 				struct rte_event_crypto_adapter_stats *stats)
 {
@@ -1066,7 +1066,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_reset(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1094,7 +1094,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1111,7 +1111,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 	return adapter->service_inited ? 0 : -ESRCH;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 {
 	struct rte_event_crypto_adapter *adapter;
diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.h b/lib/librte_eventdev/rte_event_crypto_adapter.h
index a7419e91c..c5d288abc 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.h
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
@@ -347,7 +347,7 @@ struct rte_event_crypto_adapter_stats {
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				    rte_event_crypto_adapter_conf_cb conf_cb,
 				    enum rte_event_crypto_adapter_mode mode,
@@ -383,7 +383,7 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config,
 				enum rte_event_crypto_adapter_mode mode);
@@ -402,7 +402,7 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
  *   - <0: Error code on failure, If the adapter still has queue pairs
  *      added to it, the function returns -EBUSY.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_free(uint8_t id);
 
 /**
@@ -430,7 +430,7 @@ rte_event_crypto_adapter_free(uint8_t id);
  *  - 0: Success, queue pair added correctly.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 			uint8_t cdev_id,
 			int32_t queue_pair_id,
@@ -455,7 +455,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
  *  - 0: Success, queue pair deleted successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
 					int32_t queue_pair_id);
 
@@ -477,7 +477,7 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
  *  The eventdev to which the event_crypto_adapter is connected needs to
  *  be started before calling rte_event_crypto_adapter_start().
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_start(uint8_t id);
 
 /**
@@ -493,7 +493,7 @@ rte_event_crypto_adapter_start(uint8_t id);
  *  - 0: Success, adapter stopped successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stop(uint8_t id);
 
 /**
@@ -512,7 +512,7 @@ rte_event_crypto_adapter_stop(uint8_t id);
  *  - 0: Success, retrieved successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_get(uint8_t id,
 				struct rte_event_crypto_adapter_stats *stats);
 
@@ -529,7 +529,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
  *  - 0: Success, statistics reset successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_reset(uint8_t id);
 
 /**
@@ -550,7 +550,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id);
  *  - <0: Error code on failure, if the adapter doesn't use a rte_service
  * function, this function returns -ESRCH.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
 
 /**
@@ -570,7 +570,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
  *  - 0: Success
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
 
 #ifdef __cplusplus
diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
index 2314b93f6..09f713c93 100644
--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
@@ -501,7 +501,7 @@ int rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
  *  - 0: Success
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_rx_adapter_cb_register(uint8_t id,
 				uint16_t eth_dev_id,
 				rte_event_eth_rx_adapter_cb_fn cb_fn,
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
index 67216a305..d02ef57f4 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
@@ -904,7 +904,7 @@ txa_service_stop(uint8_t id)
 }
 
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_conf)
 {
@@ -947,7 +947,7 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_eth_tx_adapter_conf_cb conf_cb,
 				void *conf_arg)
@@ -989,7 +989,7 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 }
 
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 {
 	TXA_CHECK_OR_ERR_RET(id);
@@ -997,7 +997,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 	return txa_service_event_port_get(id, event_port_id);
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_free(uint8_t id)
 {
 	int ret;
@@ -1015,7 +1015,7 @@ rte_event_eth_tx_adapter_free(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_add(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue)
@@ -1046,7 +1046,7 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_del(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue)
@@ -1076,7 +1076,7 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 {
 	TXA_CHECK_OR_ERR_RET(id);
@@ -1084,7 +1084,7 @@ rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 	return txa_service_id_get(id, service_id);
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_start(uint8_t id)
 {
 	int ret;
@@ -1097,7 +1097,7 @@ rte_event_eth_tx_adapter_start(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_get(uint8_t id,
 				struct rte_event_eth_tx_adapter_stats *stats)
 {
@@ -1130,7 +1130,7 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_reset(uint8_t id)
 {
 	int ret;
@@ -1144,7 +1144,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stop(uint8_t id)
 {
 	int ret;
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.h b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
index 2a50656d9..3fa10bb1a 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
@@ -161,7 +161,7 @@ struct rte_event_eth_tx_adapter_stats {
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config);
 
@@ -185,7 +185,7 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_eth_tx_adapter_conf_cb conf_cb,
 				void *conf_arg);
@@ -203,7 +203,7 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
  *   - <0: Error code on failure, If the adapter still has Tx queues
  *      added to it, the function returns -EBUSY.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_free(uint8_t id);
 
 /**
@@ -218,7 +218,7 @@ rte_event_eth_tx_adapter_free(uint8_t id);
  *  - 0: Success, Adapter started correctly.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_start(uint8_t id);
 
 /**
@@ -233,7 +233,7 @@ rte_event_eth_tx_adapter_start(uint8_t id);
  *  - 0: Success.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stop(uint8_t id);
 
 /**
@@ -254,7 +254,7 @@ rte_event_eth_tx_adapter_stop(uint8_t id);
  *  - 0: Success, Queues added successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_add(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue);
@@ -278,7 +278,7 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
  *  - 0: Success, Queues deleted successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_del(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue);
@@ -295,7 +295,7 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
  * @param queue
  *  Tx queue index.
  */
-static __rte_always_inline void __rte_experimental
+static __rte_always_inline void
 rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)
 {
 	pkt->hash.txadapter.txq = queue;
@@ -314,7 +314,7 @@ rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)
  *
  * @see rte_event_eth_tx_adapter_txq_set()
  */
-static __rte_always_inline uint16_t __rte_experimental
+static __rte_always_inline uint16_t
 rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)
 {
 	return pkt->hash.txadapter.txq;
@@ -336,7 +336,7 @@ rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)
  *   - 0: Success.
  *   - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
 
 /**
@@ -377,7 +377,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
  *              one or more events. This error code is only applicable to
  *              closed systems.
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
 				uint8_t port_id,
 				struct rte_event ev[],
@@ -414,7 +414,7 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
  *  - 0: Success, statistics retrieved successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_get(uint8_t id,
 				struct rte_event_eth_tx_adapter_stats *stats);
 
@@ -430,7 +430,7 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
  *  - 0: Success, statistics reset successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_reset(uint8_t id);
 
 /**
@@ -449,7 +449,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id);
  *  - <0: Error code on failure, if the adapter doesn't use a rte_service
  * function, this function returns -ESRCH.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
 
 #ifdef __cplusplus
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c
index 575da041b..2f7a760ae 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.c
+++ b/lib/librte_eventdev/rte_event_timer_adapter.c
@@ -117,14 +117,14 @@ default_port_conf_cb(uint16_t id, uint8_t event_dev_id, uint8_t *event_port_id,
 	return ret;
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf)
 {
 	return rte_event_timer_adapter_create_ext(conf, default_port_conf_cb,
 						  NULL);
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create_ext(
 		const struct rte_event_timer_adapter_conf *conf,
 		rte_event_timer_adapter_port_conf_cb_t conf_cb,
@@ -235,7 +235,7 @@ rte_event_timer_adapter_create_ext(
 	return NULL;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_info *adapter_info)
 {
@@ -253,7 +253,7 @@ rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -276,7 +276,7 @@ rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -299,7 +299,7 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_lookup(uint16_t adapter_id)
 {
 	char name[DATA_MZ_NAME_MAX_LEN];
@@ -352,7 +352,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id)
 	return adapter;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -382,7 +382,7 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 				       uint32_t *service_id)
 {
@@ -394,7 +394,7 @@ rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 	return adapter->data->service_inited ? 0 : -ESRCH;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 				  struct rte_event_timer_adapter_stats *stats)
 {
@@ -406,7 +406,7 @@ rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 	return adapter->ops->stats_get(adapter, stats);
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter)
 {
 	ADAPTER_VALID_OR_ERR_RET(adapter, -EINVAL);
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h b/lib/librte_eventdev/rte_event_timer_adapter.h
index 1b446c392..74d6e53ce 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.h
+++ b/lib/librte_eventdev/rte_event_timer_adapter.h
@@ -235,7 +235,7 @@ typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
  *   before this call, this error code indicates an error in restart following
  *   an error in reconfiguration, i.e., a combination of the two error codes.
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf);
 
 /**
@@ -265,7 +265,7 @@ rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf);
  *   - EINVAL: invalid event device identifier specified in config
  *   - ENOSPC: maximum number of adapters already created
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create_ext(
 		const struct rte_event_timer_adapter_conf *conf,
 		rte_event_timer_adapter_port_conf_cb_t conf_cb,
@@ -313,7 +313,7 @@ struct rte_event_timer_adapter_info {
  *   struct rte_event_timer_adapter_info
  *
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_get_info(
 		const struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_info *adapter_info);
@@ -345,7 +345,7 @@ rte_event_timer_adapter_get_info(
  *  The eventdev to which the event_timer_adapter is connected needs to
  *  be started before calling rte_event_timer_adapter_start().
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_start(
 		const struct rte_event_timer_adapter *adapter);
 
@@ -366,7 +366,7 @@ rte_event_timer_adapter_start(
  *   - <0: Error code returned by the driver stop function.
  *   - -EINVAL if adapter identifier invalid
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter);
 
 /**
@@ -388,7 +388,7 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter);
  *  Possible rte_errno values include:
  *   - ENOENT - requested entry not available to return.
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_lookup(uint16_t adapter_id);
 
 /**
@@ -412,7 +412,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id);
  *   - -EBUSY: stop hasn't been called for this adapter yet
  *   - -EINVAL: adapter id invalid, or adapter invalid
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
 
 /**
@@ -430,7 +430,7 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
  *   - <0: Error code on failure
  *   - -ESRCH: the adapter does not require a service to operate
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 				       uint32_t *service_id);
 
@@ -449,7 +449,7 @@ rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
  *   - 0: Successfully retrieved.
  *   - <0: Failure; error code returned.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_stats *stats);
 
@@ -466,7 +466,7 @@ rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
  *   - 0: Successfully reset;
  *   - <0: Failure; error code returned.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter);
 
 /**
@@ -621,7 +621,7 @@ struct rte_event_timer_adapter {
  *   - EAGAIN Specified timer adapter is not running
  *   - EALREADY A timer was encountered that was already armed
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
 			  struct rte_event_timer **evtims,
 			  uint16_t nb_evtims)
@@ -665,7 +665,7 @@ rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
  *   - EAGAIN Specified event timer adapter is not running
  *   - EALREADY A timer was encountered that was already armed
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_arm_tmo_tick_burst(
 			const struct rte_event_timer_adapter *adapter,
 			struct rte_event_timer **evtims,
@@ -703,7 +703,7 @@ rte_event_timer_arm_tmo_tick_burst(
  *   - EAGAIN Specified timer adapter is not running
  *   - EALREADY  A timer was encountered that was already canceled
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
 			     struct rte_event_timer **evtims,
 			     uint16_t nb_evtims)
diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c
index 3bd571a87..cc3199fb6 100644
--- a/lib/librte_eventdev/rte_eventdev.c
+++ b/lib/librte_eventdev/rte_eventdev.c
@@ -129,7 +129,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				: 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
 {
 	struct rte_eventdev *dev;
@@ -151,7 +151,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
 				: 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 				  uint32_t *caps)
 {
@@ -174,7 +174,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 		(dev, cdev, caps) : -ENOTSUP;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				uint32_t *caps)
 {
@@ -1004,7 +1004,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
 	return diag;
 }
 
-int __rte_experimental
+int
 rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id)
 {
 	struct rte_eventdev *dev;
diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h
index ef10a855d..b5e7aa2d4 100644
--- a/lib/librte_eventdev/rte_eventdev.h
+++ b/lib/librte_eventdev/rte_eventdev.h
@@ -1131,7 +1131,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
  *   - 0: Success, driver provided event timer adapter capabilities.
  *   - <0: Error code returned by the driver function.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
 
 /* Crypto adapter capability bitmap flag */
@@ -1182,7 +1182,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
  *   - <0: Error code returned by the driver function.
  *
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 				  uint32_t *caps);
 
@@ -1208,7 +1208,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
  *   - <0: Error code returned by the driver function.
  *
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				uint32_t *caps);
 
@@ -1749,7 +1749,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
  * A negative return value indicates an error, -EINVAL indicates an invalid
  * parameter passed for *dev_id* or *port_id*.
  */
-int __rte_experimental
+int
 rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id);
 
 /**
diff --git a/lib/librte_eventdev/rte_eventdev_version.map b/lib/librte_eventdev/rte_eventdev_version.map
index d558d7d5f..88c3ce513 100644
--- a/lib/librte_eventdev/rte_eventdev_version.map
+++ b/lib/librte_eventdev/rte_eventdev_version.map
@@ -80,7 +80,7 @@ DPDK_18.05 {
 	rte_event_dev_stop_flush_callback_register;
 } DPDK_18.02;
 
-EXPERIMENTAL {
+DPDK_19.05 {
 	global:
 
 	rte_event_crypto_adapter_caps_get;
@@ -123,4 +123,4 @@ EXPERIMENTAL {
 	rte_event_timer_arm_burst;
 	rte_event_timer_arm_tmo_tick_burst;
 	rte_event_timer_cancel_burst;
-};
+} DPDK_18.05;
-- 
2.21.0

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [dpdk-dev]  [PATCH] eventdev: promote adapter functions as stable
  2019-04-18 12:05 [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable jerinj
@ 2019-04-18 12:05 ` jerinj
  2019-04-18 21:47 ` Carrillo, Erik G
  2019-04-19 12:10 ` [dpdk-dev] [PATCH v2] " jerinj
  2 siblings, 0 replies; 16+ messages in thread
From: jerinj @ 2019-04-18 12:05 UTC (permalink / raw)
  To: dev, Thomas Monjalon, Jerin Jacob, Mattias Rönnblom,
	Harry van Haaren, Abhinandan Gujjar, Nikhil Rao,
	Erik Gabriel Carrillo
  Cc: pbhagavatula, hemant.agrawal, nipun.gupta, liang.j.ma

From: Jerin Jacob <jerinj@marvell.com>

Promote the adapter functions and rte_event_port_unlinks_in_progress()
as stable as it's been added for a while now and multiple drivers and
test application like test-eventdev has been tested using the adapter APIs.

Cc: nikhil.rao@intel.com
Cc: erik.g.carrillo@intel.com
Cc: abhinandan.gujjar@intel.com
Cc: pbhagavatula@marvell.com
Cc: hemant.agrawal@nxp.com
Cc: nipun.gupta@nxp.com
Cc: harry.van.haaren@intel.com
Cc: mattias.ronnblom@ericsson.com
Cc: liang.j.ma@intel.com

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---

allow experimental api still set to true for following drivers.

drivers/event/sw - due to usage of rte_service_may_be_active() API
drivers/event/dpaa[2] - due to usage of rte_mem_iova2virt() API

---
 MAINTAINERS                                   |  8 +++---
 app/test-eventdev/Makefile                    |  1 -
 app/test-eventdev/meson.build                 |  1 -
 drivers/event/dsw/Makefile                    |  1 -
 drivers/event/dsw/meson.build                 |  1 -
 drivers/event/octeontx/Makefile               |  1 -
 drivers/event/octeontx/meson.build            |  1 -
 examples/eventdev_pipeline/Makefile           |  2 --
 examples/eventdev_pipeline/meson.build        |  1 -
 .../rte_event_crypto_adapter.c                | 22 +++++++--------
 .../rte_event_crypto_adapter.h                | 22 +++++++--------
 .../rte_event_eth_rx_adapter.h                |  2 +-
 .../rte_event_eth_tx_adapter.c                | 22 +++++++--------
 .../rte_event_eth_tx_adapter.h                | 28 +++++++++----------
 lib/librte_eventdev/rte_event_timer_adapter.c | 20 ++++++-------
 lib/librte_eventdev/rte_event_timer_adapter.h | 26 ++++++++---------
 lib/librte_eventdev/rte_eventdev.c            |  8 +++---
 lib/librte_eventdev/rte_eventdev.h            |  8 +++---
 lib/librte_eventdev/rte_eventdev_version.map  |  4 +--
 19 files changed, 85 insertions(+), 94 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index a08583471..9c14f7e19 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -398,28 +398,28 @@ F: lib/librte_eventdev/
 F: drivers/event/skeleton/
 F: app/test/test_eventdev.c
 
-Eventdev Ethdev Rx Adapter API - EXPERIMENTAL
+Eventdev Ethdev Rx Adapter API
 M: Nikhil Rao <nikhil.rao@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*eth_rx_adapter*
 F: app/test/test_event_eth_rx_adapter.c
 F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst
 
-Eventdev Ethdev Tx Adapter API - EXPERIMENTAL
+Eventdev Ethdev Tx Adapter API
 M: Nikhil Rao <nikhil.rao@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*eth_tx_adapter*
 F: app/test/test_event_eth_tx_adapter.c
 F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst
 
-Eventdev Timer Adapter API - EXPERIMENTAL
+Eventdev Timer Adapter API
 M: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*timer_adapter*
 F: app/test/test_event_timer_adapter.c
 F: doc/guides/prog_guide/event_timer_adapter.rst
 
-Eventdev Crypto Adapter API - EXPERIMENTAL
+Eventdev Crypto Adapter API
 M: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*crypto_adapter*
diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile
index cb659110e..e600e21c4 100644
--- a/app/test-eventdev/Makefile
+++ b/app/test-eventdev/Makefile
@@ -6,7 +6,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
 
 APP = dpdk-test-eventdev
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
index a81dcd131..7ff2b786c 100644
--- a/app/test-eventdev/meson.build
+++ b/app/test-eventdev/meson.build
@@ -1,7 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Cavium, Inc
 
-allow_experimental_apis = true
 sources = files('evt_main.c',
 		'evt_options.c',
 		'evt_test.c',
diff --git a/drivers/event/dsw/Makefile b/drivers/event/dsw/Makefile
index 490ed0b98..922fe2e42 100644
--- a/drivers/event/dsw/Makefile
+++ b/drivers/event/dsw/Makefile
@@ -5,7 +5,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
 
 LIB = librte_pmd_dsw_event.a
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
diff --git a/drivers/event/dsw/meson.build b/drivers/event/dsw/meson.build
index a6b7bfa59..a3d09eef3 100644
--- a/drivers/event/dsw/meson.build
+++ b/drivers/event/dsw/meson.build
@@ -1,6 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Ericsson AB
 
-allow_experimental_apis = true
 deps += ['bus_vdev']
 sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c')
diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile
index 2e07890b9..2c92ccb35 100644
--- a/drivers/event/octeontx/Makefile
+++ b/drivers/event/octeontx/Makefile
@@ -13,7 +13,6 @@ CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
 CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 
 LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
 LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs
diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
index 041855330..2b74bb62d 100644
--- a/drivers/event/octeontx/meson.build
+++ b/drivers/event/octeontx/meson.build
@@ -10,5 +10,4 @@ sources = files('ssovf_worker.c',
 		'timvf_probe.c'
 )
 
-allow_experimental_apis = true
 deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
diff --git a/examples/eventdev_pipeline/Makefile b/examples/eventdev_pipeline/Makefile
index c34779086..0b0d1ade9 100644
--- a/examples/eventdev_pipeline/Makefile
+++ b/examples/eventdev_pipeline/Makefile
@@ -25,8 +25,6 @@ CFLAGS += -O3 $(shell pkg-config --cflags libdpdk)
 LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk)
 LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static --libs libdpdk)
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build
 	$(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED)
 
diff --git a/examples/eventdev_pipeline/meson.build b/examples/eventdev_pipeline/meson.build
index 0fc916b05..a54c35aa7 100644
--- a/examples/eventdev_pipeline/meson.build
+++ b/examples/eventdev_pipeline/meson.build
@@ -7,7 +7,6 @@
 # DPDK instance, use 'make'
 
 deps += 'eventdev'
-allow_experimental_apis = true
 sources = files(
 	'main.c',
 	'pipeline_worker_generic.c',
diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c b/lib/librte_eventdev/rte_event_crypto_adapter.c
index 11b28ca9b..9e99cf475 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.c
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
@@ -192,7 +192,7 @@ eca_default_config_cb(uint8_t id, uint8_t dev_id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_crypto_adapter_conf_cb conf_cb,
 				enum rte_event_crypto_adapter_mode mode,
@@ -268,7 +268,7 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 }
 
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config,
 				enum rte_event_crypto_adapter_mode mode)
@@ -294,7 +294,7 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_free(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -760,7 +760,7 @@ eca_add_queue_pair(struct rte_event_crypto_adapter *adapter,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 			uint8_t cdev_id,
 			int32_t queue_pair_id,
@@ -875,7 +875,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
 					int32_t queue_pair_id)
 {
@@ -1002,7 +1002,7 @@ eca_adapter_ctrl(uint8_t id, int start)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_start(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1015,13 +1015,13 @@ rte_event_crypto_adapter_start(uint8_t id)
 	return eca_adapter_ctrl(id, 1);
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stop(uint8_t id)
 {
 	return eca_adapter_ctrl(id, 0);
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_get(uint8_t id,
 				struct rte_event_crypto_adapter_stats *stats)
 {
@@ -1066,7 +1066,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_reset(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1094,7 +1094,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1111,7 +1111,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 	return adapter->service_inited ? 0 : -ESRCH;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 {
 	struct rte_event_crypto_adapter *adapter;
diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.h b/lib/librte_eventdev/rte_event_crypto_adapter.h
index a7419e91c..c5d288abc 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.h
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
@@ -347,7 +347,7 @@ struct rte_event_crypto_adapter_stats {
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				    rte_event_crypto_adapter_conf_cb conf_cb,
 				    enum rte_event_crypto_adapter_mode mode,
@@ -383,7 +383,7 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config,
 				enum rte_event_crypto_adapter_mode mode);
@@ -402,7 +402,7 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
  *   - <0: Error code on failure, If the adapter still has queue pairs
  *      added to it, the function returns -EBUSY.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_free(uint8_t id);
 
 /**
@@ -430,7 +430,7 @@ rte_event_crypto_adapter_free(uint8_t id);
  *  - 0: Success, queue pair added correctly.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 			uint8_t cdev_id,
 			int32_t queue_pair_id,
@@ -455,7 +455,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
  *  - 0: Success, queue pair deleted successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
 					int32_t queue_pair_id);
 
@@ -477,7 +477,7 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
  *  The eventdev to which the event_crypto_adapter is connected needs to
  *  be started before calling rte_event_crypto_adapter_start().
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_start(uint8_t id);
 
 /**
@@ -493,7 +493,7 @@ rte_event_crypto_adapter_start(uint8_t id);
  *  - 0: Success, adapter stopped successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stop(uint8_t id);
 
 /**
@@ -512,7 +512,7 @@ rte_event_crypto_adapter_stop(uint8_t id);
  *  - 0: Success, retrieved successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_get(uint8_t id,
 				struct rte_event_crypto_adapter_stats *stats);
 
@@ -529,7 +529,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
  *  - 0: Success, statistics reset successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_reset(uint8_t id);
 
 /**
@@ -550,7 +550,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id);
  *  - <0: Error code on failure, if the adapter doesn't use a rte_service
  * function, this function returns -ESRCH.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
 
 /**
@@ -570,7 +570,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
  *  - 0: Success
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
 
 #ifdef __cplusplus
diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
index 2314b93f6..09f713c93 100644
--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
@@ -501,7 +501,7 @@ int rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
  *  - 0: Success
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_rx_adapter_cb_register(uint8_t id,
 				uint16_t eth_dev_id,
 				rte_event_eth_rx_adapter_cb_fn cb_fn,
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
index 67216a305..d02ef57f4 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
@@ -904,7 +904,7 @@ txa_service_stop(uint8_t id)
 }
 
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_conf)
 {
@@ -947,7 +947,7 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_eth_tx_adapter_conf_cb conf_cb,
 				void *conf_arg)
@@ -989,7 +989,7 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 }
 
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 {
 	TXA_CHECK_OR_ERR_RET(id);
@@ -997,7 +997,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 	return txa_service_event_port_get(id, event_port_id);
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_free(uint8_t id)
 {
 	int ret;
@@ -1015,7 +1015,7 @@ rte_event_eth_tx_adapter_free(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_add(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue)
@@ -1046,7 +1046,7 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_del(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue)
@@ -1076,7 +1076,7 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 {
 	TXA_CHECK_OR_ERR_RET(id);
@@ -1084,7 +1084,7 @@ rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 	return txa_service_id_get(id, service_id);
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_start(uint8_t id)
 {
 	int ret;
@@ -1097,7 +1097,7 @@ rte_event_eth_tx_adapter_start(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_get(uint8_t id,
 				struct rte_event_eth_tx_adapter_stats *stats)
 {
@@ -1130,7 +1130,7 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_reset(uint8_t id)
 {
 	int ret;
@@ -1144,7 +1144,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stop(uint8_t id)
 {
 	int ret;
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.h b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
index 2a50656d9..3fa10bb1a 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
@@ -161,7 +161,7 @@ struct rte_event_eth_tx_adapter_stats {
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config);
 
@@ -185,7 +185,7 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_eth_tx_adapter_conf_cb conf_cb,
 				void *conf_arg);
@@ -203,7 +203,7 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
  *   - <0: Error code on failure, If the adapter still has Tx queues
  *      added to it, the function returns -EBUSY.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_free(uint8_t id);
 
 /**
@@ -218,7 +218,7 @@ rte_event_eth_tx_adapter_free(uint8_t id);
  *  - 0: Success, Adapter started correctly.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_start(uint8_t id);
 
 /**
@@ -233,7 +233,7 @@ rte_event_eth_tx_adapter_start(uint8_t id);
  *  - 0: Success.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stop(uint8_t id);
 
 /**
@@ -254,7 +254,7 @@ rte_event_eth_tx_adapter_stop(uint8_t id);
  *  - 0: Success, Queues added successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_add(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue);
@@ -278,7 +278,7 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
  *  - 0: Success, Queues deleted successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_del(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue);
@@ -295,7 +295,7 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
  * @param queue
  *  Tx queue index.
  */
-static __rte_always_inline void __rte_experimental
+static __rte_always_inline void
 rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)
 {
 	pkt->hash.txadapter.txq = queue;
@@ -314,7 +314,7 @@ rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)
  *
  * @see rte_event_eth_tx_adapter_txq_set()
  */
-static __rte_always_inline uint16_t __rte_experimental
+static __rte_always_inline uint16_t
 rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)
 {
 	return pkt->hash.txadapter.txq;
@@ -336,7 +336,7 @@ rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)
  *   - 0: Success.
  *   - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
 
 /**
@@ -377,7 +377,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
  *              one or more events. This error code is only applicable to
  *              closed systems.
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
 				uint8_t port_id,
 				struct rte_event ev[],
@@ -414,7 +414,7 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
  *  - 0: Success, statistics retrieved successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_get(uint8_t id,
 				struct rte_event_eth_tx_adapter_stats *stats);
 
@@ -430,7 +430,7 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
  *  - 0: Success, statistics reset successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_reset(uint8_t id);
 
 /**
@@ -449,7 +449,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id);
  *  - <0: Error code on failure, if the adapter doesn't use a rte_service
  * function, this function returns -ESRCH.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
 
 #ifdef __cplusplus
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c
index 575da041b..2f7a760ae 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.c
+++ b/lib/librte_eventdev/rte_event_timer_adapter.c
@@ -117,14 +117,14 @@ default_port_conf_cb(uint16_t id, uint8_t event_dev_id, uint8_t *event_port_id,
 	return ret;
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf)
 {
 	return rte_event_timer_adapter_create_ext(conf, default_port_conf_cb,
 						  NULL);
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create_ext(
 		const struct rte_event_timer_adapter_conf *conf,
 		rte_event_timer_adapter_port_conf_cb_t conf_cb,
@@ -235,7 +235,7 @@ rte_event_timer_adapter_create_ext(
 	return NULL;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_info *adapter_info)
 {
@@ -253,7 +253,7 @@ rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -276,7 +276,7 @@ rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -299,7 +299,7 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_lookup(uint16_t adapter_id)
 {
 	char name[DATA_MZ_NAME_MAX_LEN];
@@ -352,7 +352,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id)
 	return adapter;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -382,7 +382,7 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 				       uint32_t *service_id)
 {
@@ -394,7 +394,7 @@ rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 	return adapter->data->service_inited ? 0 : -ESRCH;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 				  struct rte_event_timer_adapter_stats *stats)
 {
@@ -406,7 +406,7 @@ rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 	return adapter->ops->stats_get(adapter, stats);
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter)
 {
 	ADAPTER_VALID_OR_ERR_RET(adapter, -EINVAL);
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h b/lib/librte_eventdev/rte_event_timer_adapter.h
index 1b446c392..74d6e53ce 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.h
+++ b/lib/librte_eventdev/rte_event_timer_adapter.h
@@ -235,7 +235,7 @@ typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
  *   before this call, this error code indicates an error in restart following
  *   an error in reconfiguration, i.e., a combination of the two error codes.
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf);
 
 /**
@@ -265,7 +265,7 @@ rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf);
  *   - EINVAL: invalid event device identifier specified in config
  *   - ENOSPC: maximum number of adapters already created
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create_ext(
 		const struct rte_event_timer_adapter_conf *conf,
 		rte_event_timer_adapter_port_conf_cb_t conf_cb,
@@ -313,7 +313,7 @@ struct rte_event_timer_adapter_info {
  *   struct rte_event_timer_adapter_info
  *
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_get_info(
 		const struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_info *adapter_info);
@@ -345,7 +345,7 @@ rte_event_timer_adapter_get_info(
  *  The eventdev to which the event_timer_adapter is connected needs to
  *  be started before calling rte_event_timer_adapter_start().
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_start(
 		const struct rte_event_timer_adapter *adapter);
 
@@ -366,7 +366,7 @@ rte_event_timer_adapter_start(
  *   - <0: Error code returned by the driver stop function.
  *   - -EINVAL if adapter identifier invalid
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter);
 
 /**
@@ -388,7 +388,7 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter);
  *  Possible rte_errno values include:
  *   - ENOENT - requested entry not available to return.
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_lookup(uint16_t adapter_id);
 
 /**
@@ -412,7 +412,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id);
  *   - -EBUSY: stop hasn't been called for this adapter yet
  *   - -EINVAL: adapter id invalid, or adapter invalid
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
 
 /**
@@ -430,7 +430,7 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
  *   - <0: Error code on failure
  *   - -ESRCH: the adapter does not require a service to operate
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 				       uint32_t *service_id);
 
@@ -449,7 +449,7 @@ rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
  *   - 0: Successfully retrieved.
  *   - <0: Failure; error code returned.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_stats *stats);
 
@@ -466,7 +466,7 @@ rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
  *   - 0: Successfully reset;
  *   - <0: Failure; error code returned.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter);
 
 /**
@@ -621,7 +621,7 @@ struct rte_event_timer_adapter {
  *   - EAGAIN Specified timer adapter is not running
  *   - EALREADY A timer was encountered that was already armed
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
 			  struct rte_event_timer **evtims,
 			  uint16_t nb_evtims)
@@ -665,7 +665,7 @@ rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
  *   - EAGAIN Specified event timer adapter is not running
  *   - EALREADY A timer was encountered that was already armed
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_arm_tmo_tick_burst(
 			const struct rte_event_timer_adapter *adapter,
 			struct rte_event_timer **evtims,
@@ -703,7 +703,7 @@ rte_event_timer_arm_tmo_tick_burst(
  *   - EAGAIN Specified timer adapter is not running
  *   - EALREADY  A timer was encountered that was already canceled
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
 			     struct rte_event_timer **evtims,
 			     uint16_t nb_evtims)
diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c
index 3bd571a87..cc3199fb6 100644
--- a/lib/librte_eventdev/rte_eventdev.c
+++ b/lib/librte_eventdev/rte_eventdev.c
@@ -129,7 +129,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				: 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
 {
 	struct rte_eventdev *dev;
@@ -151,7 +151,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
 				: 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 				  uint32_t *caps)
 {
@@ -174,7 +174,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 		(dev, cdev, caps) : -ENOTSUP;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				uint32_t *caps)
 {
@@ -1004,7 +1004,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
 	return diag;
 }
 
-int __rte_experimental
+int
 rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id)
 {
 	struct rte_eventdev *dev;
diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h
index ef10a855d..b5e7aa2d4 100644
--- a/lib/librte_eventdev/rte_eventdev.h
+++ b/lib/librte_eventdev/rte_eventdev.h
@@ -1131,7 +1131,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
  *   - 0: Success, driver provided event timer adapter capabilities.
  *   - <0: Error code returned by the driver function.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
 
 /* Crypto adapter capability bitmap flag */
@@ -1182,7 +1182,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
  *   - <0: Error code returned by the driver function.
  *
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 				  uint32_t *caps);
 
@@ -1208,7 +1208,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
  *   - <0: Error code returned by the driver function.
  *
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				uint32_t *caps);
 
@@ -1749,7 +1749,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
  * A negative return value indicates an error, -EINVAL indicates an invalid
  * parameter passed for *dev_id* or *port_id*.
  */
-int __rte_experimental
+int
 rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id);
 
 /**
diff --git a/lib/librte_eventdev/rte_eventdev_version.map b/lib/librte_eventdev/rte_eventdev_version.map
index d558d7d5f..88c3ce513 100644
--- a/lib/librte_eventdev/rte_eventdev_version.map
+++ b/lib/librte_eventdev/rte_eventdev_version.map
@@ -80,7 +80,7 @@ DPDK_18.05 {
 	rte_event_dev_stop_flush_callback_register;
 } DPDK_18.02;
 
-EXPERIMENTAL {
+DPDK_19.05 {
 	global:
 
 	rte_event_crypto_adapter_caps_get;
@@ -123,4 +123,4 @@ EXPERIMENTAL {
 	rte_event_timer_arm_burst;
 	rte_event_timer_arm_tmo_tick_burst;
 	rte_event_timer_cancel_burst;
-};
+} DPDK_18.05;
-- 
2.21.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable
  2019-04-18 12:05 [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable jerinj
  2019-04-18 12:05 ` jerinj
@ 2019-04-18 21:47 ` Carrillo, Erik G
  2019-04-18 21:47   ` Carrillo, Erik G
  2019-04-19 10:53   ` Jerin Jacob Kollanukkaran
  2019-04-19 12:10 ` [dpdk-dev] [PATCH v2] " jerinj
  2 siblings, 2 replies; 16+ messages in thread
From: Carrillo, Erik G @ 2019-04-18 21:47 UTC (permalink / raw)
  To: jerinj, dev, Thomas Monjalon, Mattias Rönnblom, Van Haaren,
	Harry, Gujjar, Abhinandan S, Rao, Nikhil
  Cc: pbhagavatula, hemant.agrawal, nipun.gupta, Ma, Liang J

> -----Original Message-----
> From: jerinj@marvell.com [mailto:jerinj@marvell.com]
> Sent: Thursday, April 18, 2019 7:06 AM
> To: dev@dpdk.org; Thomas Monjalon <thomas@monjalon.net>; Jerin Jacob
> <jerinj@marvell.com>; Mattias Rönnblom
> <mattias.ronnblom@ericsson.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>; Carrillo,
> Erik G <erik.g.carrillo@intel.com>
> Cc: pbhagavatula@marvell.com; hemant.agrawal@nxp.com;
> nipun.gupta@nxp.com; Ma, Liang J <liang.j.ma@intel.com>
> Subject: [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable
> 
> From: Jerin Jacob <jerinj@marvell.com>
> 
> Promote the adapter functions and rte_event_port_unlinks_in_progress()
> as stable as it's been added for a while now and multiple drivers and test
> application like test-eventdev has been tested using the adapter APIs.
> 
> Cc: nikhil.rao@intel.com
> Cc: erik.g.carrillo@intel.com
> Cc: abhinandan.gujjar@intel.com
> Cc: pbhagavatula@marvell.com
> Cc: hemant.agrawal@nxp.com
> Cc: nipun.gupta@nxp.com
> Cc: harry.van.haaren@intel.com
> Cc: mattias.ronnblom@ericsson.com
> Cc: liang.j.ma@intel.com
> 
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---

Hi Jerin,

The "__rte_experimental" tag was removed from function prototypes in header files while still leaving the following text in the Doxygen comments:

   * @warning                                                                                                                                                                                                                          
   * @b EXPERIMENTAL: this API may change without prior notice  

Regards,
Erik

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable
  2019-04-18 21:47 ` Carrillo, Erik G
@ 2019-04-18 21:47   ` Carrillo, Erik G
  2019-04-19 10:53   ` Jerin Jacob Kollanukkaran
  1 sibling, 0 replies; 16+ messages in thread
From: Carrillo, Erik G @ 2019-04-18 21:47 UTC (permalink / raw)
  To: jerinj, dev, Thomas Monjalon, Mattias Rönnblom, Van Haaren,
	Harry, Gujjar, Abhinandan S, Rao, Nikhil
  Cc: pbhagavatula, hemant.agrawal, nipun.gupta, Ma, Liang J

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 1768 bytes --]

> -----Original Message-----
> From: jerinj@marvell.com [mailto:jerinj@marvell.com]
> Sent: Thursday, April 18, 2019 7:06 AM
> To: dev@dpdk.org; Thomas Monjalon <thomas@monjalon.net>; Jerin Jacob
> <jerinj@marvell.com>; Mattias Rönnblom
> <mattias.ronnblom@ericsson.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>; Carrillo,
> Erik G <erik.g.carrillo@intel.com>
> Cc: pbhagavatula@marvell.com; hemant.agrawal@nxp.com;
> nipun.gupta@nxp.com; Ma, Liang J <liang.j.ma@intel.com>
> Subject: [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable
> 
> From: Jerin Jacob <jerinj@marvell.com>
> 
> Promote the adapter functions and rte_event_port_unlinks_in_progress()
> as stable as it's been added for a while now and multiple drivers and test
> application like test-eventdev has been tested using the adapter APIs.
> 
> Cc: nikhil.rao@intel.com
> Cc: erik.g.carrillo@intel.com
> Cc: abhinandan.gujjar@intel.com
> Cc: pbhagavatula@marvell.com
> Cc: hemant.agrawal@nxp.com
> Cc: nipun.gupta@nxp.com
> Cc: harry.van.haaren@intel.com
> Cc: mattias.ronnblom@ericsson.com
> Cc: liang.j.ma@intel.com
> 
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---

Hi Jerin,

The "__rte_experimental" tag was removed from function prototypes in header files while still leaving the following text in the Doxygen comments:

   * @warning                                                                                                                                                                                                                          
   * @b EXPERIMENTAL: this API may change without prior notice  

Regards,
Erik

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable
  2019-04-18 21:47 ` Carrillo, Erik G
  2019-04-18 21:47   ` Carrillo, Erik G
@ 2019-04-19 10:53   ` Jerin Jacob Kollanukkaran
  2019-04-19 10:53     ` Jerin Jacob Kollanukkaran
  1 sibling, 1 reply; 16+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-04-19 10:53 UTC (permalink / raw)
  To: Carrillo, Erik G, dev, Thomas Monjalon, Mattias Rönnblom,
	Van Haaren, Harry, Gujjar, Abhinandan S, Rao, Nikhil
  Cc: Pavan Nikhilesh Bhagavatula, hemant.agrawal, nipun.gupta, Ma, Liang J

> -----Original Message-----
> From: Carrillo, Erik G <erik.g.carrillo@intel.com>
> Sent: Friday, April 19, 2019 3:17 AM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; dev@dpdk.org; Thomas
> Monjalon <thomas@monjalon.net>; Mattias Rönnblom
> <mattias.ronnblom@ericsson.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>
> Cc: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>;
> hemant.agrawal@nxp.com; nipun.gupta@nxp.com; Ma, Liang J
> <liang.j.ma@intel.com>
> Subject: RE: [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable
> 
> > -----Original Message-----
> > From: jerinj@marvell.com [mailto:jerinj@marvell.com]
> > Sent: Thursday, April 18, 2019 7:06 AM
> > To: dev@dpdk.org; Thomas Monjalon <thomas@monjalon.net>; Jerin Jacob
> > <jerinj@marvell.com>; Mattias Rönnblom
> > <mattias.ronnblom@ericsson.com>; Van Haaren, Harry
> > <harry.van.haaren@intel.com>; Gujjar, Abhinandan S
> > <abhinandan.gujjar@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>;
> > Carrillo, Erik G <erik.g.carrillo@intel.com>
> > Cc: pbhagavatula@marvell.com; hemant.agrawal@nxp.com;
> > nipun.gupta@nxp.com; Ma, Liang J <liang.j.ma@intel.com>
> > Subject: [dpdk-dev] [PATCH] eventdev: promote adapter functions as
> > stable
> >
> > From: Jerin Jacob <jerinj@marvell.com>
> >
> > Promote the adapter functions and rte_event_port_unlinks_in_progress()
> > as stable as it's been added for a while now and multiple drivers and
> > test application like test-eventdev has been tested using the adapter APIs.
> >
> > Cc: nikhil.rao@intel.com
> > Cc: erik.g.carrillo@intel.com
> > Cc: abhinandan.gujjar@intel.com
> > Cc: pbhagavatula@marvell.com
> > Cc: hemant.agrawal@nxp.com
> > Cc: nipun.gupta@nxp.com
> > Cc: harry.van.haaren@intel.com
> > Cc: mattias.ronnblom@ericsson.com
> > Cc: liang.j.ma@intel.com
> >
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> 
> Hi Jerin,
> 
> The "__rte_experimental" tag was removed from function prototypes in header
> files while still leaving the following text in the Doxygen comments:
> 
>    * @warning
>    * @b EXPERIMENTAL: this API may change without prior notice

Thanks Erik. Will fix it in v2.


> 
> Regards,
> Erik

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable
  2019-04-19 10:53   ` Jerin Jacob Kollanukkaran
@ 2019-04-19 10:53     ` Jerin Jacob Kollanukkaran
  0 siblings, 0 replies; 16+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-04-19 10:53 UTC (permalink / raw)
  To: Carrillo, Erik G, dev, Thomas Monjalon, Mattias Rönnblom,
	Van Haaren, Harry, Gujjar, Abhinandan S, Rao, Nikhil
  Cc: Pavan Nikhilesh Bhagavatula, hemant.agrawal, nipun.gupta, Ma, Liang J

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 2336 bytes --]

> -----Original Message-----
> From: Carrillo, Erik G <erik.g.carrillo@intel.com>
> Sent: Friday, April 19, 2019 3:17 AM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; dev@dpdk.org; Thomas
> Monjalon <thomas@monjalon.net>; Mattias Rönnblom
> <mattias.ronnblom@ericsson.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>
> Cc: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>;
> hemant.agrawal@nxp.com; nipun.gupta@nxp.com; Ma, Liang J
> <liang.j.ma@intel.com>
> Subject: RE: [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable
> 
> > -----Original Message-----
> > From: jerinj@marvell.com [mailto:jerinj@marvell.com]
> > Sent: Thursday, April 18, 2019 7:06 AM
> > To: dev@dpdk.org; Thomas Monjalon <thomas@monjalon.net>; Jerin Jacob
> > <jerinj@marvell.com>; Mattias Rönnblom
> > <mattias.ronnblom@ericsson.com>; Van Haaren, Harry
> > <harry.van.haaren@intel.com>; Gujjar, Abhinandan S
> > <abhinandan.gujjar@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>;
> > Carrillo, Erik G <erik.g.carrillo@intel.com>
> > Cc: pbhagavatula@marvell.com; hemant.agrawal@nxp.com;
> > nipun.gupta@nxp.com; Ma, Liang J <liang.j.ma@intel.com>
> > Subject: [dpdk-dev] [PATCH] eventdev: promote adapter functions as
> > stable
> >
> > From: Jerin Jacob <jerinj@marvell.com>
> >
> > Promote the adapter functions and rte_event_port_unlinks_in_progress()
> > as stable as it's been added for a while now and multiple drivers and
> > test application like test-eventdev has been tested using the adapter APIs.
> >
> > Cc: nikhil.rao@intel.com
> > Cc: erik.g.carrillo@intel.com
> > Cc: abhinandan.gujjar@intel.com
> > Cc: pbhagavatula@marvell.com
> > Cc: hemant.agrawal@nxp.com
> > Cc: nipun.gupta@nxp.com
> > Cc: harry.van.haaren@intel.com
> > Cc: mattias.ronnblom@ericsson.com
> > Cc: liang.j.ma@intel.com
> >
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> 
> Hi Jerin,
> 
> The "__rte_experimental" tag was removed from function prototypes in header
> files while still leaving the following text in the Doxygen comments:
> 
>    * @warning
>    * @b EXPERIMENTAL: this API may change without prior notice

Thanks Erik. Will fix it in v2.


> 
> Regards,
> Erik

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
  2019-04-18 12:05 [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable jerinj
  2019-04-18 12:05 ` jerinj
  2019-04-18 21:47 ` Carrillo, Erik G
@ 2019-04-19 12:10 ` jerinj
  2019-04-19 12:10   ` jerinj
                     ` (2 more replies)
  2 siblings, 3 replies; 16+ messages in thread
From: jerinj @ 2019-04-19 12:10 UTC (permalink / raw)
  To: dev, Thomas Monjalon, Jerin Jacob, Mattias Rönnblom,
	Harry van Haaren, Abhinandan Gujjar, Nikhil Rao,
	Erik Gabriel Carrillo
  Cc: pbhagavatula, hemant.agrawal, nipun.gupta, liang.j.ma

From: Jerin Jacob <jerinj@marvell.com>

Promote the adapter functions and rte_event_port_unlinks_in_progress()
as stable as it's been added for a while now and multiple drivers and
test application like test-eventdev has been tested using the adapter APIs.

Cc: nikhil.rao@intel.com
Cc: erik.g.carrillo@intel.com
Cc: abhinandan.gujjar@intel.com
Cc: pbhagavatula@marvell.com
Cc: hemant.agrawal@nxp.com
Cc: nipun.gupta@nxp.com
Cc: harry.van.haaren@intel.com
Cc: mattias.ronnblom@ericsson.com
Cc: liang.j.ma@intel.com

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---

allow experimental api still set to true for following drivers.

drivers/event/sw - due to usage of rte_service_may_be_active() API
drivers/event/dpaa[2] - due to usage of rte_mem_iova2virt() API


v2:
- Remove  @warning  EXPERIMENTAL from API(Erik)

---
 MAINTAINERS                                   |  8 +-
 app/test-eventdev/Makefile                    |  1 -
 app/test-eventdev/meson.build                 |  1 -
 drivers/event/dsw/Makefile                    |  1 -
 drivers/event/dsw/meson.build                 |  1 -
 drivers/event/octeontx/Makefile               |  1 -
 drivers/event/octeontx/meson.build            |  1 -
 examples/eventdev_pipeline/Makefile           |  2 -
 examples/eventdev_pipeline/meson.build        |  1 -
 .../rte_event_crypto_adapter.c                | 22 ++---
 .../rte_event_crypto_adapter.h                | 73 +++-------------
 .../rte_event_eth_rx_adapter.h                | 50 +----------
 .../rte_event_eth_tx_adapter.c                | 22 ++---
 .../rte_event_eth_tx_adapter.h                | 76 ++++-------------
 lib/librte_eventdev/rte_event_timer_adapter.c | 20 ++---
 lib/librte_eventdev/rte_event_timer_adapter.h | 83 +++----------------
 lib/librte_eventdev/rte_eventdev.c            |  8 +-
 lib/librte_eventdev/rte_eventdev.h            | 14 +---
 lib/librte_eventdev/rte_eventdev_version.map  |  4 +-
 19 files changed, 85 insertions(+), 304 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index a08583471..9c14f7e19 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -398,28 +398,28 @@ F: lib/librte_eventdev/
 F: drivers/event/skeleton/
 F: app/test/test_eventdev.c
 
-Eventdev Ethdev Rx Adapter API - EXPERIMENTAL
+Eventdev Ethdev Rx Adapter API
 M: Nikhil Rao <nikhil.rao@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*eth_rx_adapter*
 F: app/test/test_event_eth_rx_adapter.c
 F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst
 
-Eventdev Ethdev Tx Adapter API - EXPERIMENTAL
+Eventdev Ethdev Tx Adapter API
 M: Nikhil Rao <nikhil.rao@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*eth_tx_adapter*
 F: app/test/test_event_eth_tx_adapter.c
 F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst
 
-Eventdev Timer Adapter API - EXPERIMENTAL
+Eventdev Timer Adapter API
 M: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*timer_adapter*
 F: app/test/test_event_timer_adapter.c
 F: doc/guides/prog_guide/event_timer_adapter.rst
 
-Eventdev Crypto Adapter API - EXPERIMENTAL
+Eventdev Crypto Adapter API
 M: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*crypto_adapter*
diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile
index cb659110e..e600e21c4 100644
--- a/app/test-eventdev/Makefile
+++ b/app/test-eventdev/Makefile
@@ -6,7 +6,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
 
 APP = dpdk-test-eventdev
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
index a81dcd131..7ff2b786c 100644
--- a/app/test-eventdev/meson.build
+++ b/app/test-eventdev/meson.build
@@ -1,7 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Cavium, Inc
 
-allow_experimental_apis = true
 sources = files('evt_main.c',
 		'evt_options.c',
 		'evt_test.c',
diff --git a/drivers/event/dsw/Makefile b/drivers/event/dsw/Makefile
index 490ed0b98..922fe2e42 100644
--- a/drivers/event/dsw/Makefile
+++ b/drivers/event/dsw/Makefile
@@ -5,7 +5,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
 
 LIB = librte_pmd_dsw_event.a
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
diff --git a/drivers/event/dsw/meson.build b/drivers/event/dsw/meson.build
index a6b7bfa59..a3d09eef3 100644
--- a/drivers/event/dsw/meson.build
+++ b/drivers/event/dsw/meson.build
@@ -1,6 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Ericsson AB
 
-allow_experimental_apis = true
 deps += ['bus_vdev']
 sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c')
diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile
index 2e07890b9..2c92ccb35 100644
--- a/drivers/event/octeontx/Makefile
+++ b/drivers/event/octeontx/Makefile
@@ -13,7 +13,6 @@ CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
 CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 
 LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
 LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs
diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
index 041855330..2b74bb62d 100644
--- a/drivers/event/octeontx/meson.build
+++ b/drivers/event/octeontx/meson.build
@@ -10,5 +10,4 @@ sources = files('ssovf_worker.c',
 		'timvf_probe.c'
 )
 
-allow_experimental_apis = true
 deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
diff --git a/examples/eventdev_pipeline/Makefile b/examples/eventdev_pipeline/Makefile
index c34779086..0b0d1ade9 100644
--- a/examples/eventdev_pipeline/Makefile
+++ b/examples/eventdev_pipeline/Makefile
@@ -25,8 +25,6 @@ CFLAGS += -O3 $(shell pkg-config --cflags libdpdk)
 LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk)
 LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static --libs libdpdk)
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build
 	$(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED)
 
diff --git a/examples/eventdev_pipeline/meson.build b/examples/eventdev_pipeline/meson.build
index 0fc916b05..a54c35aa7 100644
--- a/examples/eventdev_pipeline/meson.build
+++ b/examples/eventdev_pipeline/meson.build
@@ -7,7 +7,6 @@
 # DPDK instance, use 'make'
 
 deps += 'eventdev'
-allow_experimental_apis = true
 sources = files(
 	'main.c',
 	'pipeline_worker_generic.c',
diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c b/lib/librte_eventdev/rte_event_crypto_adapter.c
index 11b28ca9b..9e99cf475 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.c
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
@@ -192,7 +192,7 @@ eca_default_config_cb(uint8_t id, uint8_t dev_id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_crypto_adapter_conf_cb conf_cb,
 				enum rte_event_crypto_adapter_mode mode,
@@ -268,7 +268,7 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 }
 
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config,
 				enum rte_event_crypto_adapter_mode mode)
@@ -294,7 +294,7 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_free(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -760,7 +760,7 @@ eca_add_queue_pair(struct rte_event_crypto_adapter *adapter,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 			uint8_t cdev_id,
 			int32_t queue_pair_id,
@@ -875,7 +875,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
 					int32_t queue_pair_id)
 {
@@ -1002,7 +1002,7 @@ eca_adapter_ctrl(uint8_t id, int start)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_start(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1015,13 +1015,13 @@ rte_event_crypto_adapter_start(uint8_t id)
 	return eca_adapter_ctrl(id, 1);
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stop(uint8_t id)
 {
 	return eca_adapter_ctrl(id, 0);
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_get(uint8_t id,
 				struct rte_event_crypto_adapter_stats *stats)
 {
@@ -1066,7 +1066,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_reset(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1094,7 +1094,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1111,7 +1111,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 	return adapter->service_inited ? 0 : -ESRCH;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 {
 	struct rte_event_crypto_adapter *adapter;
diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.h b/lib/librte_eventdev/rte_event_crypto_adapter.h
index a7419e91c..528d1d9b2 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.h
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
@@ -173,9 +173,6 @@ extern "C" {
 #include "rte_eventdev.h"
 
 /**
- * @warning
- * @b EXPERIMENTAL: this enum may change without prior notice
- *
  * Crypto event adapter mode
  */
 enum rte_event_crypto_adapter_mode {
@@ -198,9 +195,6 @@ enum rte_event_crypto_adapter_mode {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Crypto event request structure will be filled by application to
  * provide event request information to the adapter.
  */
@@ -219,9 +213,6 @@ struct rte_event_crypto_request {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Crypto event metadata structure will be filled by application
  * to provide crypto request and event response information.
  *
@@ -244,9 +235,6 @@ union rte_event_crypto_metadata {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Adapter configuration structure that the adapter configuration callback
  * function is expected to fill out
  * @see rte_event_crypto_adapter_conf_cb
@@ -265,9 +253,6 @@ struct rte_event_crypto_adapter_conf {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Function type used for adapter configuration callback. The callback is
  * used to fill in members of the struct rte_event_crypto_adapter_conf, this
  * callback is invoked when creating a SW service for packet transfer from
@@ -293,9 +278,6 @@ typedef int (*rte_event_crypto_adapter_conf_cb) (uint8_t id, uint8_t dev_id,
 			void *arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * A structure used to retrieve statistics for an event crypto adapter
  * instance.
  */
@@ -320,9 +302,6 @@ struct rte_event_crypto_adapter_stats {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new event crypto adapter with the specified identifier.
  *
  * @param id
@@ -347,16 +326,13 @@ struct rte_event_crypto_adapter_stats {
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				    rte_event_crypto_adapter_conf_cb conf_cb,
 				    enum rte_event_crypto_adapter_mode mode,
 				    void *conf_arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new event crypto adapter with the specified identifier.
  * This function uses an internal configuration function that creates an event
  * port. This default function reconfigures the event device with an
@@ -383,15 +359,12 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config,
 				enum rte_event_crypto_adapter_mode mode);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Free an event crypto adapter
  *
  * @param id
@@ -402,13 +375,10 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
  *   - <0: Error code on failure, If the adapter still has queue pairs
  *      added to it, the function returns -EBUSY.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_free(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Add a queue pair to an event crypto adapter.
  *
  * @param id
@@ -430,16 +400,13 @@ rte_event_crypto_adapter_free(uint8_t id);
  *  - 0: Success, queue pair added correctly.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 			uint8_t cdev_id,
 			int32_t queue_pair_id,
 			const struct rte_event *event);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Delete a queue pair from an event crypto adapter.
  *
  * @param id
@@ -455,14 +422,11 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
  *  - 0: Success, queue pair deleted successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
 					int32_t queue_pair_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Start event crypto adapter
  *
  * @param id
@@ -477,13 +441,10 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
  *  The eventdev to which the event_crypto_adapter is connected needs to
  *  be started before calling rte_event_crypto_adapter_start().
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_start(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Stop event crypto adapter
  *
  * @param id
@@ -493,13 +454,10 @@ rte_event_crypto_adapter_start(uint8_t id);
  *  - 0: Success, adapter stopped successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stop(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve statistics for an adapter
  *
  * @param id
@@ -512,14 +470,11 @@ rte_event_crypto_adapter_stop(uint8_t id);
  *  - 0: Success, retrieved successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_get(uint8_t id,
 				struct rte_event_crypto_adapter_stats *stats);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Reset statistics for an adapter.
  *
  * @param id
@@ -529,13 +484,10 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
  *  - 0: Success, statistics reset successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_reset(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the service ID of an adapter. If the adapter doesn't use
  * a rte_service function, this function returns -ESRCH.
  *
@@ -550,13 +502,10 @@ rte_event_crypto_adapter_stats_reset(uint8_t id);
  *  - <0: Error code on failure, if the adapter doesn't use a rte_service
  * function, this function returns -ESRCH.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the event port of an adapter.
  *
  * @param id
@@ -570,7 +519,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
  *  - 0: Success
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
 
 #ifdef __cplusplus
diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
index 2314b93f6..cf23cdef6 100644
--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
@@ -97,9 +97,6 @@ extern "C" {
  */
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Adapter configuration structure that the adapter configuration callback
  * function is expected to fill out
  * @see rte_event_eth_rx_adapter_conf_cb
@@ -117,9 +114,6 @@ struct rte_event_eth_rx_adapter_conf {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Function type used for adapter configuration callback. The callback is
  * used to fill in members of the struct rte_event_eth_rx_adapter_conf, this
  * callback is invoked when creating a SW service for packet transfer from
@@ -145,9 +139,6 @@ typedef int (*rte_event_eth_rx_adapter_conf_cb) (uint8_t id, uint8_t dev_id,
 			void *arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Rx queue configuration structure
  */
 struct rte_event_eth_rx_adapter_queue_conf {
@@ -182,9 +173,6 @@ struct rte_event_eth_rx_adapter_queue_conf {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * A structure used to retrieve statistics for an eth rx adapter instance.
  */
 struct rte_event_eth_rx_adapter_stats {
@@ -213,9 +201,6 @@ struct rte_event_eth_rx_adapter_stats {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Callback function invoked by the SW adapter before it continues
  * to process packets. The callback is passed the size of the enqueue
  * buffer in the SW adapter and the occupancy of the buffer. The
@@ -254,9 +239,6 @@ typedef uint16_t (*rte_event_eth_rx_adapter_cb_fn)(uint16_t eth_dev_id,
 						struct rte_mbuf **enq_buf);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new ethernet Rx event adapter with the specified identifier.
  *
  * @param id
@@ -282,9 +264,6 @@ int rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				void *conf_arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new ethernet Rx event adapter with the specified identifier.
  * This function uses an internal configuration function that creates an event
  * port. This default function reconfigures the event device with an
@@ -311,9 +290,6 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Free an event adapter
  *
  * @param id
@@ -327,9 +303,6 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
 int rte_event_eth_rx_adapter_free(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Add receive queue to an event adapter. After a queue has been
  * added to the event adapter, the result of the application calling
  * rte_eth_rx_burst(eth_dev_id, rx_queue_id, ..) is undefined.
@@ -367,9 +340,6 @@ int rte_event_eth_rx_adapter_queue_add(uint8_t id,
 			const struct rte_event_eth_rx_adapter_queue_conf *conf);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Delete receive queue from an event adapter.
  *
  * @param id
@@ -394,9 +364,6 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
 				       int32_t rx_queue_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Start ethernet Rx event adapter
  *
  * @param id
@@ -413,9 +380,6 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
 int rte_event_eth_rx_adapter_start(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Stop  ethernet Rx event adapter
  *
  * @param id
@@ -428,9 +392,6 @@ int rte_event_eth_rx_adapter_start(uint8_t id);
 int rte_event_eth_rx_adapter_stop(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve statistics for an adapter
  *
  * @param id
@@ -447,9 +408,6 @@ int rte_event_eth_rx_adapter_stats_get(uint8_t id,
 				struct rte_event_eth_rx_adapter_stats *stats);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Reset statistics for an adapter.
  *
  * @param id
@@ -462,9 +420,6 @@ int rte_event_eth_rx_adapter_stats_get(uint8_t id,
 int rte_event_eth_rx_adapter_stats_reset(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the service ID of an adapter. If the adapter doesn't use
  * a rte_service function, this function returns -ESRCH.
  *
@@ -482,9 +437,6 @@ int rte_event_eth_rx_adapter_stats_reset(uint8_t id);
 int rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Register callback to process Rx packets, this is supported for
  * SW based packet transfers.
  * @see rte_event_eth_rx_cb_fn
@@ -501,7 +453,7 @@ int rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
  *  - 0: Success
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_rx_adapter_cb_register(uint8_t id,
 				uint16_t eth_dev_id,
 				rte_event_eth_rx_adapter_cb_fn cb_fn,
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
index 67216a305..d02ef57f4 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
@@ -904,7 +904,7 @@ txa_service_stop(uint8_t id)
 }
 
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_conf)
 {
@@ -947,7 +947,7 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_eth_tx_adapter_conf_cb conf_cb,
 				void *conf_arg)
@@ -989,7 +989,7 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 }
 
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 {
 	TXA_CHECK_OR_ERR_RET(id);
@@ -997,7 +997,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 	return txa_service_event_port_get(id, event_port_id);
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_free(uint8_t id)
 {
 	int ret;
@@ -1015,7 +1015,7 @@ rte_event_eth_tx_adapter_free(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_add(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue)
@@ -1046,7 +1046,7 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_del(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue)
@@ -1076,7 +1076,7 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 {
 	TXA_CHECK_OR_ERR_RET(id);
@@ -1084,7 +1084,7 @@ rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 	return txa_service_id_get(id, service_id);
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_start(uint8_t id)
 {
 	int ret;
@@ -1097,7 +1097,7 @@ rte_event_eth_tx_adapter_start(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_get(uint8_t id,
 				struct rte_event_eth_tx_adapter_stats *stats)
 {
@@ -1130,7 +1130,7 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_reset(uint8_t id)
 {
 	int ret;
@@ -1144,7 +1144,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stop(uint8_t id)
 {
 	int ret;
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.h b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
index 2a50656d9..1b5278fdb 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
@@ -81,9 +81,6 @@ extern "C" {
 #include "rte_eventdev.h"
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Adapter configuration structure
  *
  * @see rte_event_eth_tx_adapter_create_ext
@@ -103,9 +100,6 @@ struct rte_event_eth_tx_adapter_conf {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Function type used for adapter configuration callback. The callback is
  * used to fill in members of the struct rte_event_eth_tx_adapter_conf, this
  * callback is invoked when creating a RTE service function based
@@ -130,9 +124,6 @@ typedef int (*rte_event_eth_tx_adapter_conf_cb) (uint8_t id, uint8_t dev_id,
 				void *arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * A structure used to retrieve statistics for an ethernet Tx adapter instance.
  */
 struct rte_event_eth_tx_adapter_stats {
@@ -145,9 +136,6 @@ struct rte_event_eth_tx_adapter_stats {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new ethernet Tx adapter with the specified identifier.
  *
  * @param id
@@ -161,14 +149,11 @@ struct rte_event_eth_tx_adapter_stats {
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new ethernet Tx adapter with the specified identifier.
  *
  * @param id
@@ -185,15 +170,12 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_eth_tx_adapter_conf_cb conf_cb,
 				void *conf_arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Free an ethernet Tx adapter
  *
  * @param id
@@ -203,13 +185,10 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
  *   - <0: Error code on failure, If the adapter still has Tx queues
  *      added to it, the function returns -EBUSY.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_free(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Start ethernet Tx adapter
  *
  * @param id
@@ -218,13 +197,10 @@ rte_event_eth_tx_adapter_free(uint8_t id);
  *  - 0: Success, Adapter started correctly.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_start(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Stop ethernet Tx adapter
  *
  * @param id
@@ -233,13 +209,10 @@ rte_event_eth_tx_adapter_start(uint8_t id);
  *  - 0: Success.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stop(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Add a Tx queue to the adapter.
  * A queue value of -1 is used to indicate all
  * queues within the device.
@@ -254,15 +227,12 @@ rte_event_eth_tx_adapter_stop(uint8_t id);
  *  - 0: Success, Queues added successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_add(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Delete a Tx queue from the adapter.
  * A queue value of -1 is used to indicate all
  * queues within the device, that have been added to this
@@ -278,15 +248,12 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
  *  - 0: Success, Queues deleted successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_del(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Set Tx queue in the mbuf. This queue is used by the adapter
  * to transmit the mbuf.
  *
@@ -295,16 +262,13 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
  * @param queue
  *  Tx queue index.
  */
-static __rte_always_inline void __rte_experimental
+static __rte_always_inline void
 rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)
 {
 	pkt->hash.txadapter.txq = queue;
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve Tx queue from the mbuf.
  *
  * @param pkt
@@ -314,16 +278,13 @@ rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)
  *
  * @see rte_event_eth_tx_adapter_txq_set()
  */
-static __rte_always_inline uint16_t __rte_experimental
+static __rte_always_inline uint16_t
 rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)
 {
 	return pkt->hash.txadapter.txq;
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the adapter event port. The adapter creates an event port if
  * the #RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT is not set in the
  * ethernet Tx capabilities of the event device.
@@ -336,7 +297,7 @@ rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)
  *   - 0: Success.
  *   - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
 
 /**
@@ -377,7 +338,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
  *              one or more events. This error code is only applicable to
  *              closed systems.
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
 				uint8_t port_id,
 				struct rte_event ev[],
@@ -401,9 +362,6 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve statistics for an adapter
  *
  * @param id
@@ -414,14 +372,11 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
  *  - 0: Success, statistics retrieved successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_get(uint8_t id,
 				struct rte_event_eth_tx_adapter_stats *stats);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Reset statistics for an adapter.
  *
  * @param id
@@ -430,13 +385,10 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
  *  - 0: Success, statistics reset successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_reset(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the service ID of an adapter. If the adapter doesn't use
  * a rte_service function, this function returns -ESRCH.
  *
@@ -449,7 +401,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id);
  *  - <0: Error code on failure, if the adapter doesn't use a rte_service
  * function, this function returns -ESRCH.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
 
 #ifdef __cplusplus
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c
index 575da041b..2f7a760ae 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.c
+++ b/lib/librte_eventdev/rte_event_timer_adapter.c
@@ -117,14 +117,14 @@ default_port_conf_cb(uint16_t id, uint8_t event_dev_id, uint8_t *event_port_id,
 	return ret;
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf)
 {
 	return rte_event_timer_adapter_create_ext(conf, default_port_conf_cb,
 						  NULL);
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create_ext(
 		const struct rte_event_timer_adapter_conf *conf,
 		rte_event_timer_adapter_port_conf_cb_t conf_cb,
@@ -235,7 +235,7 @@ rte_event_timer_adapter_create_ext(
 	return NULL;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_info *adapter_info)
 {
@@ -253,7 +253,7 @@ rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -276,7 +276,7 @@ rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -299,7 +299,7 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_lookup(uint16_t adapter_id)
 {
 	char name[DATA_MZ_NAME_MAX_LEN];
@@ -352,7 +352,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id)
 	return adapter;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -382,7 +382,7 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 				       uint32_t *service_id)
 {
@@ -394,7 +394,7 @@ rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 	return adapter->data->service_inited ? 0 : -ESRCH;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 				  struct rte_event_timer_adapter_stats *stats)
 {
@@ -406,7 +406,7 @@ rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 	return adapter->ops->stats_get(adapter, stats);
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter)
 {
 	ADAPTER_VALID_OR_ERR_RET(adapter, -EINVAL);
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h b/lib/librte_eventdev/rte_event_timer_adapter.h
index 1b446c392..7f6dc5c29 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.h
+++ b/lib/librte_eventdev/rte_event_timer_adapter.h
@@ -117,9 +117,6 @@ extern "C" {
 #include "rte_eventdev.h"
 
 /**
- * @warning
- * @b EXPERIMENTAL: this enum may change without prior notice
- *
  * Timer adapter clock source
  */
 enum rte_event_timer_adapter_clk_src {
@@ -154,9 +151,6 @@ enum rte_event_timer_adapter_clk_src {
  */
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Timer adapter configuration structure
  */
 struct rte_event_timer_adapter_conf {
@@ -179,9 +173,6 @@ struct rte_event_timer_adapter_conf {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Event timer adapter stats structure
  */
 struct rte_event_timer_adapter_stats {
@@ -200,9 +191,6 @@ struct rte_event_timer_adapter_stats {
 struct rte_event_timer_adapter;
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Callback function type for producer port creation.
  */
 typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
@@ -211,9 +199,6 @@ typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
 						      void *conf_arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create an event timer adapter.
  *
  * This function must be invoked first before any other function in the API.
@@ -235,13 +220,10 @@ typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
  *   before this call, this error code indicates an error in restart following
  *   an error in reconfiguration, i.e., a combination of the two error codes.
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a timer adapter with the supplied callback.
  *
  * This function can be used to have a more granular control over the timer
@@ -265,16 +247,13 @@ rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf);
  *   - EINVAL: invalid event device identifier specified in config
  *   - ENOSPC: maximum number of adapters already created
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create_ext(
 		const struct rte_event_timer_adapter_conf *conf,
 		rte_event_timer_adapter_port_conf_cb_t conf_cb,
 		void *conf_arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Timer adapter info structure.
  */
 struct rte_event_timer_adapter_info {
@@ -291,9 +270,6 @@ struct rte_event_timer_adapter_info {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the contextual information of an event timer adapter.
  *
  * @param adapter
@@ -313,15 +289,12 @@ struct rte_event_timer_adapter_info {
  *   struct rte_event_timer_adapter_info
  *
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_get_info(
 		const struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_info *adapter_info);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Start a timer adapter.
  *
  * The adapter start step is the last one and consists of setting the timer
@@ -345,14 +318,11 @@ rte_event_timer_adapter_get_info(
  *  The eventdev to which the event_timer_adapter is connected needs to
  *  be started before calling rte_event_timer_adapter_start().
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_start(
 		const struct rte_event_timer_adapter *adapter);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Stop an event timer adapter.
  *
  * The adapter can be restarted with a call to
@@ -366,13 +336,10 @@ rte_event_timer_adapter_start(
  *   - <0: Error code returned by the driver stop function.
  *   - -EINVAL if adapter identifier invalid
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Lookup an event timer adapter using its identifier.
  *
  * If an event timer adapter was created in another process with the same
@@ -388,13 +355,10 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter);
  *  Possible rte_errno values include:
  *   - ENOENT - requested entry not available to return.
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_lookup(uint16_t adapter_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Free an event timer adapter.
  *
  * Destroy an event timer adapter, freeing all resources.
@@ -412,7 +376,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id);
  *   - -EBUSY: stop hasn't been called for this adapter yet
  *   - -EINVAL: adapter id invalid, or adapter invalid
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
 
 /**
@@ -430,14 +394,11 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
  *   - <0: Error code on failure
  *   - -ESRCH: the adapter does not require a service to operate
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 				       uint32_t *service_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve statistics for an event timer adapter instance.
  *
  * @param adapter
@@ -449,14 +410,11 @@ rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
  *   - 0: Successfully retrieved.
  *   - <0: Failure; error code returned.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_stats *stats);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Reset statistics for an event timer adapter instance.
  *
  * @param adapter
@@ -466,13 +424,10 @@ rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
  *   - 0: Successfully reset;
  *   - <0: Failure; error code returned.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Event timer state.
  */
 enum rte_event_timer_state {
@@ -493,9 +448,6 @@ enum rte_event_timer_state {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * The generic *rte_event_timer* structure to hold the event timer attributes
  * for arm and cancel operations.
  */
@@ -588,9 +540,6 @@ struct rte_event_timer_adapter {
 } while (0)
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Arm a burst of event timers with separate expiration timeout tick for each
  * event timer.
  *
@@ -621,7 +570,7 @@ struct rte_event_timer_adapter {
  *   - EAGAIN Specified timer adapter is not running
  *   - EALREADY A timer was encountered that was already armed
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
 			  struct rte_event_timer **evtims,
 			  uint16_t nb_evtims)
@@ -634,9 +583,6 @@ rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Arm a burst of event timers with same expiration timeout tick.
  *
  * Provides the same functionality as ``rte_event_timer_arm_burst()``, except
@@ -665,7 +611,7 @@ rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
  *   - EAGAIN Specified event timer adapter is not running
  *   - EALREADY A timer was encountered that was already armed
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_arm_tmo_tick_burst(
 			const struct rte_event_timer_adapter *adapter,
 			struct rte_event_timer **evtims,
@@ -681,9 +627,6 @@ rte_event_timer_arm_tmo_tick_burst(
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Cancel a burst of event timers from being scheduled to the event device.
  *
  * @param adapter
@@ -703,7 +646,7 @@ rte_event_timer_arm_tmo_tick_burst(
  *   - EAGAIN Specified timer adapter is not running
  *   - EALREADY  A timer was encountered that was already canceled
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
 			     struct rte_event_timer **evtims,
 			     uint16_t nb_evtims)
diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c
index 3bd571a87..cc3199fb6 100644
--- a/lib/librte_eventdev/rte_eventdev.c
+++ b/lib/librte_eventdev/rte_eventdev.c
@@ -129,7 +129,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				: 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
 {
 	struct rte_eventdev *dev;
@@ -151,7 +151,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
 				: 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 				  uint32_t *caps)
 {
@@ -174,7 +174,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 		(dev, cdev, caps) : -ENOTSUP;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				uint32_t *caps)
 {
@@ -1004,7 +1004,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
 	return diag;
 }
 
-int __rte_experimental
+int
 rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id)
 {
 	struct rte_eventdev *dev;
diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h
index ef10a855d..62edc09a4 100644
--- a/lib/librte_eventdev/rte_eventdev.h
+++ b/lib/librte_eventdev/rte_eventdev.h
@@ -1131,7 +1131,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
  *   - 0: Success, driver provided event timer adapter capabilities.
  *   - <0: Error code returned by the driver function.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
 
 /* Crypto adapter capability bitmap flag */
@@ -1160,9 +1160,6 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
  */
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the event device's crypto adapter capabilities for the
  * specified cryptodev device
  *
@@ -1182,7 +1179,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
  *   - <0: Error code returned by the driver function.
  *
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 				  uint32_t *caps);
 
@@ -1208,7 +1205,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
  *   - <0: Error code returned by the driver function.
  *
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				uint32_t *caps);
 
@@ -1726,9 +1723,6 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
 		      uint8_t queues[], uint16_t nb_unlinks);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Returns the number of unlinks in progress.
  *
  * This function provides the application with a method to detect when an
@@ -1749,7 +1743,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
  * A negative return value indicates an error, -EINVAL indicates an invalid
  * parameter passed for *dev_id* or *port_id*.
  */
-int __rte_experimental
+int
 rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id);
 
 /**
diff --git a/lib/librte_eventdev/rte_eventdev_version.map b/lib/librte_eventdev/rte_eventdev_version.map
index d558d7d5f..88c3ce513 100644
--- a/lib/librte_eventdev/rte_eventdev_version.map
+++ b/lib/librte_eventdev/rte_eventdev_version.map
@@ -80,7 +80,7 @@ DPDK_18.05 {
 	rte_event_dev_stop_flush_callback_register;
 } DPDK_18.02;
 
-EXPERIMENTAL {
+DPDK_19.05 {
 	global:
 
 	rte_event_crypto_adapter_caps_get;
@@ -123,4 +123,4 @@ EXPERIMENTAL {
 	rte_event_timer_arm_burst;
 	rte_event_timer_arm_tmo_tick_burst;
 	rte_event_timer_cancel_burst;
-};
+} DPDK_18.05;
-- 
2.21.0

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
  2019-04-19 12:10 ` [dpdk-dev] [PATCH v2] " jerinj
@ 2019-04-19 12:10   ` jerinj
  2019-04-21 12:44   ` Gujjar, Abhinandan S
  2019-04-22 11:32   ` Rao, Nikhil
  2 siblings, 0 replies; 16+ messages in thread
From: jerinj @ 2019-04-19 12:10 UTC (permalink / raw)
  To: dev, Thomas Monjalon, Jerin Jacob, Mattias Rönnblom,
	Harry van Haaren, Abhinandan Gujjar, Nikhil Rao,
	Erik Gabriel Carrillo
  Cc: pbhagavatula, hemant.agrawal, nipun.gupta, liang.j.ma

From: Jerin Jacob <jerinj@marvell.com>

Promote the adapter functions and rte_event_port_unlinks_in_progress()
as stable as it's been added for a while now and multiple drivers and
test application like test-eventdev has been tested using the adapter APIs.

Cc: nikhil.rao@intel.com
Cc: erik.g.carrillo@intel.com
Cc: abhinandan.gujjar@intel.com
Cc: pbhagavatula@marvell.com
Cc: hemant.agrawal@nxp.com
Cc: nipun.gupta@nxp.com
Cc: harry.van.haaren@intel.com
Cc: mattias.ronnblom@ericsson.com
Cc: liang.j.ma@intel.com

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---

allow experimental api still set to true for following drivers.

drivers/event/sw - due to usage of rte_service_may_be_active() API
drivers/event/dpaa[2] - due to usage of rte_mem_iova2virt() API


v2:
- Remove  @warning  EXPERIMENTAL from API(Erik)

---
 MAINTAINERS                                   |  8 +-
 app/test-eventdev/Makefile                    |  1 -
 app/test-eventdev/meson.build                 |  1 -
 drivers/event/dsw/Makefile                    |  1 -
 drivers/event/dsw/meson.build                 |  1 -
 drivers/event/octeontx/Makefile               |  1 -
 drivers/event/octeontx/meson.build            |  1 -
 examples/eventdev_pipeline/Makefile           |  2 -
 examples/eventdev_pipeline/meson.build        |  1 -
 .../rte_event_crypto_adapter.c                | 22 ++---
 .../rte_event_crypto_adapter.h                | 73 +++-------------
 .../rte_event_eth_rx_adapter.h                | 50 +----------
 .../rte_event_eth_tx_adapter.c                | 22 ++---
 .../rte_event_eth_tx_adapter.h                | 76 ++++-------------
 lib/librte_eventdev/rte_event_timer_adapter.c | 20 ++---
 lib/librte_eventdev/rte_event_timer_adapter.h | 83 +++----------------
 lib/librte_eventdev/rte_eventdev.c            |  8 +-
 lib/librte_eventdev/rte_eventdev.h            | 14 +---
 lib/librte_eventdev/rte_eventdev_version.map  |  4 +-
 19 files changed, 85 insertions(+), 304 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index a08583471..9c14f7e19 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -398,28 +398,28 @@ F: lib/librte_eventdev/
 F: drivers/event/skeleton/
 F: app/test/test_eventdev.c
 
-Eventdev Ethdev Rx Adapter API - EXPERIMENTAL
+Eventdev Ethdev Rx Adapter API
 M: Nikhil Rao <nikhil.rao@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*eth_rx_adapter*
 F: app/test/test_event_eth_rx_adapter.c
 F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst
 
-Eventdev Ethdev Tx Adapter API - EXPERIMENTAL
+Eventdev Ethdev Tx Adapter API
 M: Nikhil Rao <nikhil.rao@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*eth_tx_adapter*
 F: app/test/test_event_eth_tx_adapter.c
 F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst
 
-Eventdev Timer Adapter API - EXPERIMENTAL
+Eventdev Timer Adapter API
 M: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*timer_adapter*
 F: app/test/test_event_timer_adapter.c
 F: doc/guides/prog_guide/event_timer_adapter.rst
 
-Eventdev Crypto Adapter API - EXPERIMENTAL
+Eventdev Crypto Adapter API
 M: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
 T: git://dpdk.org/next/dpdk-next-eventdev
 F: lib/librte_eventdev/*crypto_adapter*
diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile
index cb659110e..e600e21c4 100644
--- a/app/test-eventdev/Makefile
+++ b/app/test-eventdev/Makefile
@@ -6,7 +6,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
 
 APP = dpdk-test-eventdev
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
index a81dcd131..7ff2b786c 100644
--- a/app/test-eventdev/meson.build
+++ b/app/test-eventdev/meson.build
@@ -1,7 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Cavium, Inc
 
-allow_experimental_apis = true
 sources = files('evt_main.c',
 		'evt_options.c',
 		'evt_test.c',
diff --git a/drivers/event/dsw/Makefile b/drivers/event/dsw/Makefile
index 490ed0b98..922fe2e42 100644
--- a/drivers/event/dsw/Makefile
+++ b/drivers/event/dsw/Makefile
@@ -5,7 +5,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
 
 LIB = librte_pmd_dsw_event.a
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
diff --git a/drivers/event/dsw/meson.build b/drivers/event/dsw/meson.build
index a6b7bfa59..a3d09eef3 100644
--- a/drivers/event/dsw/meson.build
+++ b/drivers/event/dsw/meson.build
@@ -1,6 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Ericsson AB
 
-allow_experimental_apis = true
 deps += ['bus_vdev']
 sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c')
diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile
index 2e07890b9..2c92ccb35 100644
--- a/drivers/event/octeontx/Makefile
+++ b/drivers/event/octeontx/Makefile
@@ -13,7 +13,6 @@ CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
 CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 
 LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
 LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs
diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
index 041855330..2b74bb62d 100644
--- a/drivers/event/octeontx/meson.build
+++ b/drivers/event/octeontx/meson.build
@@ -10,5 +10,4 @@ sources = files('ssovf_worker.c',
 		'timvf_probe.c'
 )
 
-allow_experimental_apis = true
 deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
diff --git a/examples/eventdev_pipeline/Makefile b/examples/eventdev_pipeline/Makefile
index c34779086..0b0d1ade9 100644
--- a/examples/eventdev_pipeline/Makefile
+++ b/examples/eventdev_pipeline/Makefile
@@ -25,8 +25,6 @@ CFLAGS += -O3 $(shell pkg-config --cflags libdpdk)
 LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk)
 LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static --libs libdpdk)
 
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build
 	$(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED)
 
diff --git a/examples/eventdev_pipeline/meson.build b/examples/eventdev_pipeline/meson.build
index 0fc916b05..a54c35aa7 100644
--- a/examples/eventdev_pipeline/meson.build
+++ b/examples/eventdev_pipeline/meson.build
@@ -7,7 +7,6 @@
 # DPDK instance, use 'make'
 
 deps += 'eventdev'
-allow_experimental_apis = true
 sources = files(
 	'main.c',
 	'pipeline_worker_generic.c',
diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c b/lib/librte_eventdev/rte_event_crypto_adapter.c
index 11b28ca9b..9e99cf475 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.c
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
@@ -192,7 +192,7 @@ eca_default_config_cb(uint8_t id, uint8_t dev_id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_crypto_adapter_conf_cb conf_cb,
 				enum rte_event_crypto_adapter_mode mode,
@@ -268,7 +268,7 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 }
 
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config,
 				enum rte_event_crypto_adapter_mode mode)
@@ -294,7 +294,7 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_free(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -760,7 +760,7 @@ eca_add_queue_pair(struct rte_event_crypto_adapter *adapter,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 			uint8_t cdev_id,
 			int32_t queue_pair_id,
@@ -875,7 +875,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
 					int32_t queue_pair_id)
 {
@@ -1002,7 +1002,7 @@ eca_adapter_ctrl(uint8_t id, int start)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_start(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1015,13 +1015,13 @@ rte_event_crypto_adapter_start(uint8_t id)
 	return eca_adapter_ctrl(id, 1);
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stop(uint8_t id)
 {
 	return eca_adapter_ctrl(id, 0);
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_get(uint8_t id,
 				struct rte_event_crypto_adapter_stats *stats)
 {
@@ -1066,7 +1066,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_reset(uint8_t id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1094,7 +1094,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 {
 	struct rte_event_crypto_adapter *adapter;
@@ -1111,7 +1111,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 	return adapter->service_inited ? 0 : -ESRCH;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 {
 	struct rte_event_crypto_adapter *adapter;
diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.h b/lib/librte_eventdev/rte_event_crypto_adapter.h
index a7419e91c..528d1d9b2 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.h
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
@@ -173,9 +173,6 @@ extern "C" {
 #include "rte_eventdev.h"
 
 /**
- * @warning
- * @b EXPERIMENTAL: this enum may change without prior notice
- *
  * Crypto event adapter mode
  */
 enum rte_event_crypto_adapter_mode {
@@ -198,9 +195,6 @@ enum rte_event_crypto_adapter_mode {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Crypto event request structure will be filled by application to
  * provide event request information to the adapter.
  */
@@ -219,9 +213,6 @@ struct rte_event_crypto_request {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Crypto event metadata structure will be filled by application
  * to provide crypto request and event response information.
  *
@@ -244,9 +235,6 @@ union rte_event_crypto_metadata {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Adapter configuration structure that the adapter configuration callback
  * function is expected to fill out
  * @see rte_event_crypto_adapter_conf_cb
@@ -265,9 +253,6 @@ struct rte_event_crypto_adapter_conf {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Function type used for adapter configuration callback. The callback is
  * used to fill in members of the struct rte_event_crypto_adapter_conf, this
  * callback is invoked when creating a SW service for packet transfer from
@@ -293,9 +278,6 @@ typedef int (*rte_event_crypto_adapter_conf_cb) (uint8_t id, uint8_t dev_id,
 			void *arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * A structure used to retrieve statistics for an event crypto adapter
  * instance.
  */
@@ -320,9 +302,6 @@ struct rte_event_crypto_adapter_stats {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new event crypto adapter with the specified identifier.
  *
  * @param id
@@ -347,16 +326,13 @@ struct rte_event_crypto_adapter_stats {
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				    rte_event_crypto_adapter_conf_cb conf_cb,
 				    enum rte_event_crypto_adapter_mode mode,
 				    void *conf_arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new event crypto adapter with the specified identifier.
  * This function uses an internal configuration function that creates an event
  * port. This default function reconfigures the event device with an
@@ -383,15 +359,12 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config,
 				enum rte_event_crypto_adapter_mode mode);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Free an event crypto adapter
  *
  * @param id
@@ -402,13 +375,10 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
  *   - <0: Error code on failure, If the adapter still has queue pairs
  *      added to it, the function returns -EBUSY.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_free(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Add a queue pair to an event crypto adapter.
  *
  * @param id
@@ -430,16 +400,13 @@ rte_event_crypto_adapter_free(uint8_t id);
  *  - 0: Success, queue pair added correctly.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 			uint8_t cdev_id,
 			int32_t queue_pair_id,
 			const struct rte_event *event);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Delete a queue pair from an event crypto adapter.
  *
  * @param id
@@ -455,14 +422,11 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
  *  - 0: Success, queue pair deleted successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
 					int32_t queue_pair_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Start event crypto adapter
  *
  * @param id
@@ -477,13 +441,10 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
  *  The eventdev to which the event_crypto_adapter is connected needs to
  *  be started before calling rte_event_crypto_adapter_start().
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_start(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Stop event crypto adapter
  *
  * @param id
@@ -493,13 +454,10 @@ rte_event_crypto_adapter_start(uint8_t id);
  *  - 0: Success, adapter stopped successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stop(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve statistics for an adapter
  *
  * @param id
@@ -512,14 +470,11 @@ rte_event_crypto_adapter_stop(uint8_t id);
  *  - 0: Success, retrieved successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_get(uint8_t id,
 				struct rte_event_crypto_adapter_stats *stats);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Reset statistics for an adapter.
  *
  * @param id
@@ -529,13 +484,10 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
  *  - 0: Success, statistics reset successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_stats_reset(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the service ID of an adapter. If the adapter doesn't use
  * a rte_service function, this function returns -ESRCH.
  *
@@ -550,13 +502,10 @@ rte_event_crypto_adapter_stats_reset(uint8_t id);
  *  - <0: Error code on failure, if the adapter doesn't use a rte_service
  * function, this function returns -ESRCH.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the event port of an adapter.
  *
  * @param id
@@ -570,7 +519,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
  *  - 0: Success
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
 
 #ifdef __cplusplus
diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
index 2314b93f6..cf23cdef6 100644
--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
@@ -97,9 +97,6 @@ extern "C" {
  */
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Adapter configuration structure that the adapter configuration callback
  * function is expected to fill out
  * @see rte_event_eth_rx_adapter_conf_cb
@@ -117,9 +114,6 @@ struct rte_event_eth_rx_adapter_conf {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Function type used for adapter configuration callback. The callback is
  * used to fill in members of the struct rte_event_eth_rx_adapter_conf, this
  * callback is invoked when creating a SW service for packet transfer from
@@ -145,9 +139,6 @@ typedef int (*rte_event_eth_rx_adapter_conf_cb) (uint8_t id, uint8_t dev_id,
 			void *arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Rx queue configuration structure
  */
 struct rte_event_eth_rx_adapter_queue_conf {
@@ -182,9 +173,6 @@ struct rte_event_eth_rx_adapter_queue_conf {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * A structure used to retrieve statistics for an eth rx adapter instance.
  */
 struct rte_event_eth_rx_adapter_stats {
@@ -213,9 +201,6 @@ struct rte_event_eth_rx_adapter_stats {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Callback function invoked by the SW adapter before it continues
  * to process packets. The callback is passed the size of the enqueue
  * buffer in the SW adapter and the occupancy of the buffer. The
@@ -254,9 +239,6 @@ typedef uint16_t (*rte_event_eth_rx_adapter_cb_fn)(uint16_t eth_dev_id,
 						struct rte_mbuf **enq_buf);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new ethernet Rx event adapter with the specified identifier.
  *
  * @param id
@@ -282,9 +264,6 @@ int rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				void *conf_arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new ethernet Rx event adapter with the specified identifier.
  * This function uses an internal configuration function that creates an event
  * port. This default function reconfigures the event device with an
@@ -311,9 +290,6 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Free an event adapter
  *
  * @param id
@@ -327,9 +303,6 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
 int rte_event_eth_rx_adapter_free(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Add receive queue to an event adapter. After a queue has been
  * added to the event adapter, the result of the application calling
  * rte_eth_rx_burst(eth_dev_id, rx_queue_id, ..) is undefined.
@@ -367,9 +340,6 @@ int rte_event_eth_rx_adapter_queue_add(uint8_t id,
 			const struct rte_event_eth_rx_adapter_queue_conf *conf);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Delete receive queue from an event adapter.
  *
  * @param id
@@ -394,9 +364,6 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
 				       int32_t rx_queue_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Start ethernet Rx event adapter
  *
  * @param id
@@ -413,9 +380,6 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
 int rte_event_eth_rx_adapter_start(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Stop  ethernet Rx event adapter
  *
  * @param id
@@ -428,9 +392,6 @@ int rte_event_eth_rx_adapter_start(uint8_t id);
 int rte_event_eth_rx_adapter_stop(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve statistics for an adapter
  *
  * @param id
@@ -447,9 +408,6 @@ int rte_event_eth_rx_adapter_stats_get(uint8_t id,
 				struct rte_event_eth_rx_adapter_stats *stats);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Reset statistics for an adapter.
  *
  * @param id
@@ -462,9 +420,6 @@ int rte_event_eth_rx_adapter_stats_get(uint8_t id,
 int rte_event_eth_rx_adapter_stats_reset(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the service ID of an adapter. If the adapter doesn't use
  * a rte_service function, this function returns -ESRCH.
  *
@@ -482,9 +437,6 @@ int rte_event_eth_rx_adapter_stats_reset(uint8_t id);
 int rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Register callback to process Rx packets, this is supported for
  * SW based packet transfers.
  * @see rte_event_eth_rx_cb_fn
@@ -501,7 +453,7 @@ int rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
  *  - 0: Success
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_rx_adapter_cb_register(uint8_t id,
 				uint16_t eth_dev_id,
 				rte_event_eth_rx_adapter_cb_fn cb_fn,
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
index 67216a305..d02ef57f4 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
@@ -904,7 +904,7 @@ txa_service_stop(uint8_t id)
 }
 
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_conf)
 {
@@ -947,7 +947,7 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_eth_tx_adapter_conf_cb conf_cb,
 				void *conf_arg)
@@ -989,7 +989,7 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 }
 
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 {
 	TXA_CHECK_OR_ERR_RET(id);
@@ -997,7 +997,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
 	return txa_service_event_port_get(id, event_port_id);
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_free(uint8_t id)
 {
 	int ret;
@@ -1015,7 +1015,7 @@ rte_event_eth_tx_adapter_free(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_add(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue)
@@ -1046,7 +1046,7 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_del(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue)
@@ -1076,7 +1076,7 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 {
 	TXA_CHECK_OR_ERR_RET(id);
@@ -1084,7 +1084,7 @@ rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)
 	return txa_service_id_get(id, service_id);
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_start(uint8_t id)
 {
 	int ret;
@@ -1097,7 +1097,7 @@ rte_event_eth_tx_adapter_start(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_get(uint8_t id,
 				struct rte_event_eth_tx_adapter_stats *stats)
 {
@@ -1130,7 +1130,7 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_reset(uint8_t id)
 {
 	int ret;
@@ -1144,7 +1144,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stop(uint8_t id)
 {
 	int ret;
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.h b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
index 2a50656d9..1b5278fdb 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
@@ -81,9 +81,6 @@ extern "C" {
 #include "rte_eventdev.h"
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Adapter configuration structure
  *
  * @see rte_event_eth_tx_adapter_create_ext
@@ -103,9 +100,6 @@ struct rte_event_eth_tx_adapter_conf {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Function type used for adapter configuration callback. The callback is
  * used to fill in members of the struct rte_event_eth_tx_adapter_conf, this
  * callback is invoked when creating a RTE service function based
@@ -130,9 +124,6 @@ typedef int (*rte_event_eth_tx_adapter_conf_cb) (uint8_t id, uint8_t dev_id,
 				void *arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * A structure used to retrieve statistics for an ethernet Tx adapter instance.
  */
 struct rte_event_eth_tx_adapter_stats {
@@ -145,9 +136,6 @@ struct rte_event_eth_tx_adapter_stats {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new ethernet Tx adapter with the specified identifier.
  *
  * @param id
@@ -161,14 +149,11 @@ struct rte_event_eth_tx_adapter_stats {
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 				struct rte_event_port_conf *port_config);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a new ethernet Tx adapter with the specified identifier.
  *
  * @param id
@@ -185,15 +170,12 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
  *   - 0: Success
  *   - <0: Error code on failure
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 				rte_event_eth_tx_adapter_conf_cb conf_cb,
 				void *conf_arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Free an ethernet Tx adapter
  *
  * @param id
@@ -203,13 +185,10 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
  *   - <0: Error code on failure, If the adapter still has Tx queues
  *      added to it, the function returns -EBUSY.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_free(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Start ethernet Tx adapter
  *
  * @param id
@@ -218,13 +197,10 @@ rte_event_eth_tx_adapter_free(uint8_t id);
  *  - 0: Success, Adapter started correctly.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_start(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Stop ethernet Tx adapter
  *
  * @param id
@@ -233,13 +209,10 @@ rte_event_eth_tx_adapter_start(uint8_t id);
  *  - 0: Success.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stop(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Add a Tx queue to the adapter.
  * A queue value of -1 is used to indicate all
  * queues within the device.
@@ -254,15 +227,12 @@ rte_event_eth_tx_adapter_stop(uint8_t id);
  *  - 0: Success, Queues added successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_add(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Delete a Tx queue from the adapter.
  * A queue value of -1 is used to indicate all
  * queues within the device, that have been added to this
@@ -278,15 +248,12 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
  *  - 0: Success, Queues deleted successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_queue_del(uint8_t id,
 				uint16_t eth_dev_id,
 				int32_t queue);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Set Tx queue in the mbuf. This queue is used by the adapter
  * to transmit the mbuf.
  *
@@ -295,16 +262,13 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
  * @param queue
  *  Tx queue index.
  */
-static __rte_always_inline void __rte_experimental
+static __rte_always_inline void
 rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)
 {
 	pkt->hash.txadapter.txq = queue;
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve Tx queue from the mbuf.
  *
  * @param pkt
@@ -314,16 +278,13 @@ rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)
  *
  * @see rte_event_eth_tx_adapter_txq_set()
  */
-static __rte_always_inline uint16_t __rte_experimental
+static __rte_always_inline uint16_t
 rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)
 {
 	return pkt->hash.txadapter.txq;
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the adapter event port. The adapter creates an event port if
  * the #RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT is not set in the
  * ethernet Tx capabilities of the event device.
@@ -336,7 +297,7 @@ rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)
  *   - 0: Success.
  *   - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
 
 /**
@@ -377,7 +338,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
  *              one or more events. This error code is only applicable to
  *              closed systems.
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
 				uint8_t port_id,
 				struct rte_event ev[],
@@ -401,9 +362,6 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve statistics for an adapter
  *
  * @param id
@@ -414,14 +372,11 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
  *  - 0: Success, statistics retrieved successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_get(uint8_t id,
 				struct rte_event_eth_tx_adapter_stats *stats);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Reset statistics for an adapter.
  *
  * @param id
@@ -430,13 +385,10 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
  *  - 0: Success, statistics reset successfully.
  *  - <0: Error code on failure.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_stats_reset(uint8_t id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the service ID of an adapter. If the adapter doesn't use
  * a rte_service function, this function returns -ESRCH.
  *
@@ -449,7 +401,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id);
  *  - <0: Error code on failure, if the adapter doesn't use a rte_service
  * function, this function returns -ESRCH.
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
 
 #ifdef __cplusplus
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c
index 575da041b..2f7a760ae 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.c
+++ b/lib/librte_eventdev/rte_event_timer_adapter.c
@@ -117,14 +117,14 @@ default_port_conf_cb(uint16_t id, uint8_t event_dev_id, uint8_t *event_port_id,
 	return ret;
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf)
 {
 	return rte_event_timer_adapter_create_ext(conf, default_port_conf_cb,
 						  NULL);
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create_ext(
 		const struct rte_event_timer_adapter_conf *conf,
 		rte_event_timer_adapter_port_conf_cb_t conf_cb,
@@ -235,7 +235,7 @@ rte_event_timer_adapter_create_ext(
 	return NULL;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_info *adapter_info)
 {
@@ -253,7 +253,7 @@ rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter *adapter,
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -276,7 +276,7 @@ rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -299,7 +299,7 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_lookup(uint16_t adapter_id)
 {
 	char name[DATA_MZ_NAME_MAX_LEN];
@@ -352,7 +352,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id)
 	return adapter;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
 {
 	int ret;
@@ -382,7 +382,7 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 				       uint32_t *service_id)
 {
@@ -394,7 +394,7 @@ rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 	return adapter->data->service_inited ? 0 : -ESRCH;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 				  struct rte_event_timer_adapter_stats *stats)
 {
@@ -406,7 +406,7 @@ rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 	return adapter->ops->stats_get(adapter, stats);
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter)
 {
 	ADAPTER_VALID_OR_ERR_RET(adapter, -EINVAL);
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h b/lib/librte_eventdev/rte_event_timer_adapter.h
index 1b446c392..7f6dc5c29 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.h
+++ b/lib/librte_eventdev/rte_event_timer_adapter.h
@@ -117,9 +117,6 @@ extern "C" {
 #include "rte_eventdev.h"
 
 /**
- * @warning
- * @b EXPERIMENTAL: this enum may change without prior notice
- *
  * Timer adapter clock source
  */
 enum rte_event_timer_adapter_clk_src {
@@ -154,9 +151,6 @@ enum rte_event_timer_adapter_clk_src {
  */
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Timer adapter configuration structure
  */
 struct rte_event_timer_adapter_conf {
@@ -179,9 +173,6 @@ struct rte_event_timer_adapter_conf {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Event timer adapter stats structure
  */
 struct rte_event_timer_adapter_stats {
@@ -200,9 +191,6 @@ struct rte_event_timer_adapter_stats {
 struct rte_event_timer_adapter;
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Callback function type for producer port creation.
  */
 typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
@@ -211,9 +199,6 @@ typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
 						      void *conf_arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create an event timer adapter.
  *
  * This function must be invoked first before any other function in the API.
@@ -235,13 +220,10 @@ typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
  *   before this call, this error code indicates an error in restart following
  *   an error in reconfiguration, i.e., a combination of the two error codes.
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Create a timer adapter with the supplied callback.
  *
  * This function can be used to have a more granular control over the timer
@@ -265,16 +247,13 @@ rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf *conf);
  *   - EINVAL: invalid event device identifier specified in config
  *   - ENOSPC: maximum number of adapters already created
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_create_ext(
 		const struct rte_event_timer_adapter_conf *conf,
 		rte_event_timer_adapter_port_conf_cb_t conf_cb,
 		void *conf_arg);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Timer adapter info structure.
  */
 struct rte_event_timer_adapter_info {
@@ -291,9 +270,6 @@ struct rte_event_timer_adapter_info {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the contextual information of an event timer adapter.
  *
  * @param adapter
@@ -313,15 +289,12 @@ struct rte_event_timer_adapter_info {
  *   struct rte_event_timer_adapter_info
  *
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_get_info(
 		const struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_info *adapter_info);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Start a timer adapter.
  *
  * The adapter start step is the last one and consists of setting the timer
@@ -345,14 +318,11 @@ rte_event_timer_adapter_get_info(
  *  The eventdev to which the event_timer_adapter is connected needs to
  *  be started before calling rte_event_timer_adapter_start().
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_start(
 		const struct rte_event_timer_adapter *adapter);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Stop an event timer adapter.
  *
  * The adapter can be restarted with a call to
@@ -366,13 +336,10 @@ rte_event_timer_adapter_start(
  *   - <0: Error code returned by the driver stop function.
  *   - -EINVAL if adapter identifier invalid
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Lookup an event timer adapter using its identifier.
  *
  * If an event timer adapter was created in another process with the same
@@ -388,13 +355,10 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter);
  *  Possible rte_errno values include:
  *   - ENOENT - requested entry not available to return.
  */
-struct rte_event_timer_adapter * __rte_experimental
+struct rte_event_timer_adapter *
 rte_event_timer_adapter_lookup(uint16_t adapter_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Free an event timer adapter.
  *
  * Destroy an event timer adapter, freeing all resources.
@@ -412,7 +376,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id);
  *   - -EBUSY: stop hasn't been called for this adapter yet
  *   - -EINVAL: adapter id invalid, or adapter invalid
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
 
 /**
@@ -430,14 +394,11 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
  *   - <0: Error code on failure
  *   - -ESRCH: the adapter does not require a service to operate
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
 				       uint32_t *service_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve statistics for an event timer adapter instance.
  *
  * @param adapter
@@ -449,14 +410,11 @@ rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter *adapter,
  *   - 0: Successfully retrieved.
  *   - <0: Failure; error code returned.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
 		struct rte_event_timer_adapter_stats *stats);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Reset statistics for an event timer adapter instance.
  *
  * @param adapter
@@ -466,13 +424,10 @@ rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
  *   - 0: Successfully reset;
  *   - <0: Failure; error code returned.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * Event timer state.
  */
 enum rte_event_timer_state {
@@ -493,9 +448,6 @@ enum rte_event_timer_state {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- *
  * The generic *rte_event_timer* structure to hold the event timer attributes
  * for arm and cancel operations.
  */
@@ -588,9 +540,6 @@ struct rte_event_timer_adapter {
 } while (0)
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Arm a burst of event timers with separate expiration timeout tick for each
  * event timer.
  *
@@ -621,7 +570,7 @@ struct rte_event_timer_adapter {
  *   - EAGAIN Specified timer adapter is not running
  *   - EALREADY A timer was encountered that was already armed
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
 			  struct rte_event_timer **evtims,
 			  uint16_t nb_evtims)
@@ -634,9 +583,6 @@ rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Arm a burst of event timers with same expiration timeout tick.
  *
  * Provides the same functionality as ``rte_event_timer_arm_burst()``, except
@@ -665,7 +611,7 @@ rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
  *   - EAGAIN Specified event timer adapter is not running
  *   - EALREADY A timer was encountered that was already armed
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_arm_tmo_tick_burst(
 			const struct rte_event_timer_adapter *adapter,
 			struct rte_event_timer **evtims,
@@ -681,9 +627,6 @@ rte_event_timer_arm_tmo_tick_burst(
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Cancel a burst of event timers from being scheduled to the event device.
  *
  * @param adapter
@@ -703,7 +646,7 @@ rte_event_timer_arm_tmo_tick_burst(
  *   - EAGAIN Specified timer adapter is not running
  *   - EALREADY  A timer was encountered that was already canceled
  */
-static inline uint16_t __rte_experimental
+static inline uint16_t
 rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
 			     struct rte_event_timer **evtims,
 			     uint16_t nb_evtims)
diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c
index 3bd571a87..cc3199fb6 100644
--- a/lib/librte_eventdev/rte_eventdev.c
+++ b/lib/librte_eventdev/rte_eventdev.c
@@ -129,7 +129,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				: 0;
 }
 
-int __rte_experimental
+int
 rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
 {
 	struct rte_eventdev *dev;
@@ -151,7 +151,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)
 				: 0;
 }
 
-int __rte_experimental
+int
 rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 				  uint32_t *caps)
 {
@@ -174,7 +174,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 		(dev, cdev, caps) : -ENOTSUP;
 }
 
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				uint32_t *caps)
 {
@@ -1004,7 +1004,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
 	return diag;
 }
 
-int __rte_experimental
+int
 rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id)
 {
 	struct rte_eventdev *dev;
diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h
index ef10a855d..62edc09a4 100644
--- a/lib/librte_eventdev/rte_eventdev.h
+++ b/lib/librte_eventdev/rte_eventdev.h
@@ -1131,7 +1131,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
  *   - 0: Success, driver provided event timer adapter capabilities.
  *   - <0: Error code returned by the driver function.
  */
-int __rte_experimental
+int
 rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
 
 /* Crypto adapter capability bitmap flag */
@@ -1160,9 +1160,6 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
  */
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Retrieve the event device's crypto adapter capabilities for the
  * specified cryptodev device
  *
@@ -1182,7 +1179,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
  *   - <0: Error code returned by the driver function.
  *
  */
-int __rte_experimental
+int
 rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
 				  uint32_t *caps);
 
@@ -1208,7 +1205,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
  *   - <0: Error code returned by the driver function.
  *
  */
-int __rte_experimental
+int
 rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
 				uint32_t *caps);
 
@@ -1726,9 +1723,6 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
 		      uint8_t queues[], uint16_t nb_unlinks);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Returns the number of unlinks in progress.
  *
  * This function provides the application with a method to detect when an
@@ -1749,7 +1743,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
  * A negative return value indicates an error, -EINVAL indicates an invalid
  * parameter passed for *dev_id* or *port_id*.
  */
-int __rte_experimental
+int
 rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id);
 
 /**
diff --git a/lib/librte_eventdev/rte_eventdev_version.map b/lib/librte_eventdev/rte_eventdev_version.map
index d558d7d5f..88c3ce513 100644
--- a/lib/librte_eventdev/rte_eventdev_version.map
+++ b/lib/librte_eventdev/rte_eventdev_version.map
@@ -80,7 +80,7 @@ DPDK_18.05 {
 	rte_event_dev_stop_flush_callback_register;
 } DPDK_18.02;
 
-EXPERIMENTAL {
+DPDK_19.05 {
 	global:
 
 	rte_event_crypto_adapter_caps_get;
@@ -123,4 +123,4 @@ EXPERIMENTAL {
 	rte_event_timer_arm_burst;
 	rte_event_timer_arm_tmo_tick_burst;
 	rte_event_timer_cancel_burst;
-};
+} DPDK_18.05;
-- 
2.21.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
  2019-04-19 12:10 ` [dpdk-dev] [PATCH v2] " jerinj
  2019-04-19 12:10   ` jerinj
@ 2019-04-21 12:44   ` Gujjar, Abhinandan S
  2019-04-21 12:44     ` Gujjar, Abhinandan S
  2019-04-22 11:15     ` Thomas Monjalon
  2019-04-22 11:32   ` Rao, Nikhil
  2 siblings, 2 replies; 16+ messages in thread
From: Gujjar, Abhinandan S @ 2019-04-21 12:44 UTC (permalink / raw)
  To: jerinj, dev, Thomas Monjalon, Mattias Rönnblom, Van Haaren,
	Harry, Rao, Nikhil, Carrillo, Erik G
  Cc: pbhagavatula, hemant.agrawal, nipun.gupta, Ma, Liang J



> -----Original Message-----
> From: jerinj@marvell.com <jerinj@marvell.com>
> Sent: Friday, April 19, 2019 5:41 PM
> To: dev@dpdk.org; Thomas Monjalon <thomas@monjalon.net>; Jerin Jacob
> <jerinj@marvell.com>; Mattias Rönnblom <mattias.ronnblom@ericsson.com>;
> Van Haaren, Harry <harry.van.haaren@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>; Carrillo,
> Erik G <erik.g.carrillo@intel.com>
> Cc: pbhagavatula@marvell.com; hemant.agrawal@nxp.com;
> nipun.gupta@nxp.com; Ma, Liang J <liang.j.ma@intel.com>
> Subject: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
> 
> From: Jerin Jacob <jerinj@marvell.com>
> 
> Promote the adapter functions and rte_event_port_unlinks_in_progress()
> as stable as it's been added for a while now and multiple drivers and test
> application like test-eventdev has been tested using the adapter APIs.
> 
> Cc: nikhil.rao@intel.com
> Cc: erik.g.carrillo@intel.com
> Cc: abhinandan.gujjar@intel.com
> Cc: pbhagavatula@marvell.com
> Cc: hemant.agrawal@nxp.com
> Cc: nipun.gupta@nxp.com
> Cc: harry.van.haaren@intel.com
> Cc: mattias.ronnblom@ericsson.com
> Cc: liang.j.ma@intel.com
> 
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
> 
> allow experimental api still set to true for following drivers.
> 
> drivers/event/sw - due to usage of rte_service_may_be_active() API
> drivers/event/dpaa[2] - due to usage of rte_mem_iova2virt() API
> 
> 
> v2:
> - Remove  @warning  EXPERIMENTAL from API(Erik)
> 
> ---
>  MAINTAINERS                                   |  8 +-
>  app/test-eventdev/Makefile                    |  1 -
>  app/test-eventdev/meson.build                 |  1 -
>  drivers/event/dsw/Makefile                    |  1 -
>  drivers/event/dsw/meson.build                 |  1 -
>  drivers/event/octeontx/Makefile               |  1 -
>  drivers/event/octeontx/meson.build            |  1 -
>  examples/eventdev_pipeline/Makefile           |  2 -
>  examples/eventdev_pipeline/meson.build        |  1 -
>  .../rte_event_crypto_adapter.c                | 22 ++---
>  .../rte_event_crypto_adapter.h                | 73 +++-------------
>  .../rte_event_eth_rx_adapter.h                | 50 +----------
>  .../rte_event_eth_tx_adapter.c                | 22 ++---
>  .../rte_event_eth_tx_adapter.h                | 76 ++++-------------
>  lib/librte_eventdev/rte_event_timer_adapter.c | 20 ++---
> lib/librte_eventdev/rte_event_timer_adapter.h | 83 +++----------------
>  lib/librte_eventdev/rte_eventdev.c            |  8 +-
>  lib/librte_eventdev/rte_eventdev.h            | 14 +---
>  lib/librte_eventdev/rte_eventdev_version.map  |  4 +-
>  19 files changed, 85 insertions(+), 304 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a08583471..9c14f7e19 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -398,28 +398,28 @@ F: lib/librte_eventdev/
>  F: drivers/event/skeleton/
>  F: app/test/test_eventdev.c
> 
> -Eventdev Ethdev Rx Adapter API - EXPERIMENTAL
> +Eventdev Ethdev Rx Adapter API
>  M: Nikhil Rao <nikhil.rao@intel.com>
>  T: git://dpdk.org/next/dpdk-next-eventdev
>  F: lib/librte_eventdev/*eth_rx_adapter*
>  F: app/test/test_event_eth_rx_adapter.c
>  F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> 
> -Eventdev Ethdev Tx Adapter API - EXPERIMENTAL
> +Eventdev Ethdev Tx Adapter API
>  M: Nikhil Rao <nikhil.rao@intel.com>
>  T: git://dpdk.org/next/dpdk-next-eventdev
>  F: lib/librte_eventdev/*eth_tx_adapter*
>  F: app/test/test_event_eth_tx_adapter.c
>  F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst
> 
> -Eventdev Timer Adapter API - EXPERIMENTAL
> +Eventdev Timer Adapter API
>  M: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
>  T: git://dpdk.org/next/dpdk-next-eventdev
>  F: lib/librte_eventdev/*timer_adapter*
>  F: app/test/test_event_timer_adapter.c
>  F: doc/guides/prog_guide/event_timer_adapter.rst
> 
> -Eventdev Crypto Adapter API - EXPERIMENTAL
> +Eventdev Crypto Adapter API
>  M: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
>  T: git://dpdk.org/next/dpdk-next-eventdev
>  F: lib/librte_eventdev/*crypto_adapter*
> diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile index
> cb659110e..e600e21c4 100644
> --- a/app/test-eventdev/Makefile
> +++ b/app/test-eventdev/Makefile
> @@ -6,7 +6,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
> 
>  APP = dpdk-test-eventdev
> 
> -CFLAGS += -DALLOW_EXPERIMENTAL_API
>  CFLAGS += -O3
>  CFLAGS += $(WERROR_FLAGS)
> 
> diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
> index a81dcd131..7ff2b786c 100644
> --- a/app/test-eventdev/meson.build
> +++ b/app/test-eventdev/meson.build
> @@ -1,7 +1,6 @@
>  # SPDX-License-Identifier: BSD-3-Clause  # Copyright(c) 2017 Cavium, Inc
> 
> -allow_experimental_apis = true
>  sources = files('evt_main.c',
>  		'evt_options.c',
>  		'evt_test.c',
> diff --git a/drivers/event/dsw/Makefile b/drivers/event/dsw/Makefile index
> 490ed0b98..922fe2e42 100644
> --- a/drivers/event/dsw/Makefile
> +++ b/drivers/event/dsw/Makefile
> @@ -5,7 +5,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
> 
>  LIB = librte_pmd_dsw_event.a
> 
> -CFLAGS += -DALLOW_EXPERIMENTAL_API
>  CFLAGS += -O3
>  CFLAGS += $(WERROR_FLAGS)
>  ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
> diff --git a/drivers/event/dsw/meson.build b/drivers/event/dsw/meson.build
> index a6b7bfa59..a3d09eef3 100644
> --- a/drivers/event/dsw/meson.build
> +++ b/drivers/event/dsw/meson.build
> @@ -1,6 +1,5 @@
>  # SPDX-License-Identifier: BSD-3-Clause  # Copyright(c) 2018 Ericsson AB
> 
> -allow_experimental_apis = true
>  deps += ['bus_vdev']
>  sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c') diff --git
> a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile index
> 2e07890b9..2c92ccb35 100644
> --- a/drivers/event/octeontx/Makefile
> +++ b/drivers/event/octeontx/Makefile
> @@ -13,7 +13,6 @@ CFLAGS += $(WERROR_FLAGS)  CFLAGS += -
> I$(RTE_SDK)/drivers/common/octeontx/
>  CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
>  CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
> -CFLAGS += -DALLOW_EXPERIMENTAL_API
> 
>  LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
> LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs diff --git
> a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
> index 041855330..2b74bb62d 100644
> --- a/drivers/event/octeontx/meson.build
> +++ b/drivers/event/octeontx/meson.build
> @@ -10,5 +10,4 @@ sources = files('ssovf_worker.c',
>  		'timvf_probe.c'
>  )
> 
> -allow_experimental_apis = true
>  deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev',
> 'pmd_octeontx'] diff --git a/examples/eventdev_pipeline/Makefile
> b/examples/eventdev_pipeline/Makefile
> index c34779086..0b0d1ade9 100644
> --- a/examples/eventdev_pipeline/Makefile
> +++ b/examples/eventdev_pipeline/Makefile
> @@ -25,8 +25,6 @@ CFLAGS += -O3 $(shell pkg-config --cflags libdpdk)
> LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk)  LDFLAGS_STATIC = -Wl,-
> Bstatic $(shell pkg-config --static --libs libdpdk)
> 
> -CFLAGS += -DALLOW_EXPERIMENTAL_API
> -
>  build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build
>  	$(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED)
> 
> diff --git a/examples/eventdev_pipeline/meson.build
> b/examples/eventdev_pipeline/meson.build
> index 0fc916b05..a54c35aa7 100644
> --- a/examples/eventdev_pipeline/meson.build
> +++ b/examples/eventdev_pipeline/meson.build
> @@ -7,7 +7,6 @@
>  # DPDK instance, use 'make'
> 
>  deps += 'eventdev'
> -allow_experimental_apis = true
>  sources = files(
>  	'main.c',
>  	'pipeline_worker_generic.c',
> diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c
> b/lib/librte_eventdev/rte_event_crypto_adapter.c
> index 11b28ca9b..9e99cf475 100644
> --- a/lib/librte_eventdev/rte_event_crypto_adapter.c
> +++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
> @@ -192,7 +192,7 @@ eca_default_config_cb(uint8_t id, uint8_t dev_id,
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
>  				rte_event_crypto_adapter_conf_cb conf_cb,
>  				enum rte_event_crypto_adapter_mode mode,
> @@ -268,7 +268,7 @@ rte_event_crypto_adapter_create_ext(uint8_t id,
> uint8_t dev_id,  }
> 
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
>  				struct rte_event_port_conf *port_config,
>  				enum rte_event_crypto_adapter_mode mode)
> @@ -294,7 +294,7 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t
> dev_id,
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_free(uint8_t id)  {
>  	struct rte_event_crypto_adapter *adapter; @@ -760,7 +760,7 @@
> eca_add_queue_pair(struct rte_event_crypto_adapter *adapter,
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_queue_pair_add(uint8_t id,
>  			uint8_t cdev_id,
>  			int32_t queue_pair_id,
> @@ -875,7 +875,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
>  					int32_t queue_pair_id)
>  {
> @@ -1002,7 +1002,7 @@ eca_adapter_ctrl(uint8_t id, int start)
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_start(uint8_t id)  {
>  	struct rte_event_crypto_adapter *adapter; @@ -1015,13 +1015,13 @@
> rte_event_crypto_adapter_start(uint8_t id)
>  	return eca_adapter_ctrl(id, 1);
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stop(uint8_t id)  {
>  	return eca_adapter_ctrl(id, 0);
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stats_get(uint8_t id,
>  				struct rte_event_crypto_adapter_stats *stats)
> { @@ -1066,7 +1066,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stats_reset(uint8_t id)  {
>  	struct rte_event_crypto_adapter *adapter; @@ -1094,7 +1094,7 @@
> rte_event_crypto_adapter_stats_reset(uint8_t id)
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)  {
>  	struct rte_event_crypto_adapter *adapter; @@ -1111,7 +1111,7 @@
> rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
>  	return adapter->service_inited ? 0 : -ESRCH;  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
> {
>  	struct rte_event_crypto_adapter *adapter; diff --git
> a/lib/librte_eventdev/rte_event_crypto_adapter.h
> b/lib/librte_eventdev/rte_event_crypto_adapter.h
> index a7419e91c..528d1d9b2 100644
> --- a/lib/librte_eventdev/rte_event_crypto_adapter.h
> +++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
> @@ -173,9 +173,6 @@ extern "C" {
>  #include "rte_eventdev.h"
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this enum may change without prior notice
> - *
>   * Crypto event adapter mode
>   */
>  enum rte_event_crypto_adapter_mode {
> @@ -198,9 +195,6 @@ enum rte_event_crypto_adapter_mode {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Crypto event request structure will be filled by application to
>   * provide event request information to the adapter.
>   */
> @@ -219,9 +213,6 @@ struct rte_event_crypto_request {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Crypto event metadata structure will be filled by application
>   * to provide crypto request and event response information.
>   *
> @@ -244,9 +235,6 @@ union rte_event_crypto_metadata {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Adapter configuration structure that the adapter configuration callback
>   * function is expected to fill out
>   * @see rte_event_crypto_adapter_conf_cb @@ -265,9 +253,6 @@ struct
> rte_event_crypto_adapter_conf {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Function type used for adapter configuration callback. The callback is
>   * used to fill in members of the struct rte_event_crypto_adapter_conf, this
>   * callback is invoked when creating a SW service for packet transfer from @@ -
> 293,9 +278,6 @@ typedef int (*rte_event_crypto_adapter_conf_cb) (uint8_t id,
> uint8_t dev_id,
>  			void *arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * A structure used to retrieve statistics for an event crypto adapter
>   * instance.
>   */
> @@ -320,9 +302,6 @@ struct rte_event_crypto_adapter_stats {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new event crypto adapter with the specified identifier.
>   *
>   * @param id
> @@ -347,16 +326,13 @@ struct rte_event_crypto_adapter_stats {
>   *   - 0: Success
>   *   - <0: Error code on failure
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
>  				    rte_event_crypto_adapter_conf_cb conf_cb,
>  				    enum rte_event_crypto_adapter_mode
> mode,
>  				    void *conf_arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new event crypto adapter with the specified identifier.
>   * This function uses an internal configuration function that creates an event
>   * port. This default function reconfigures the event device with an @@ -383,15
> +359,12 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
>   *   - 0: Success
>   *   - <0: Error code on failure
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
>  				struct rte_event_port_conf *port_config,
>  				enum rte_event_crypto_adapter_mode mode);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Free an event crypto adapter
>   *
>   * @param id
> @@ -402,13 +375,10 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t
> dev_id,
>   *   - <0: Error code on failure, If the adapter still has queue pairs
>   *      added to it, the function returns -EBUSY.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_free(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Add a queue pair to an event crypto adapter.
>   *
>   * @param id
> @@ -430,16 +400,13 @@ rte_event_crypto_adapter_free(uint8_t id);
>   *  - 0: Success, queue pair added correctly.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_queue_pair_add(uint8_t id,
>  			uint8_t cdev_id,
>  			int32_t queue_pair_id,
>  			const struct rte_event *event);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Delete a queue pair from an event crypto adapter.
>   *
>   * @param id
> @@ -455,14 +422,11 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t
> id,
>   *  - 0: Success, queue pair deleted successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
>  					int32_t queue_pair_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Start event crypto adapter
>   *
>   * @param id
> @@ -477,13 +441,10 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t
> id, uint8_t cdev_id,
>   *  The eventdev to which the event_crypto_adapter is connected needs to
>   *  be started before calling rte_event_crypto_adapter_start().
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_start(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Stop event crypto adapter
>   *
>   * @param id
> @@ -493,13 +454,10 @@ rte_event_crypto_adapter_start(uint8_t id);
>   *  - 0: Success, adapter stopped successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stop(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve statistics for an adapter
>   *
>   * @param id
> @@ -512,14 +470,11 @@ rte_event_crypto_adapter_stop(uint8_t id);
>   *  - 0: Success, retrieved successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stats_get(uint8_t id,
>  				struct rte_event_crypto_adapter_stats *stats);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Reset statistics for an adapter.
>   *
>   * @param id
> @@ -529,13 +484,10 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
>   *  - 0: Success, statistics reset successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stats_reset(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the service ID of an adapter. If the adapter doesn't use
>   * a rte_service function, this function returns -ESRCH.
>   *
> @@ -550,13 +502,10 @@ rte_event_crypto_adapter_stats_reset(uint8_t id);
>   *  - <0: Error code on failure, if the adapter doesn't use a rte_service
>   * function, this function returns -ESRCH.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the event port of an adapter.
>   *
>   * @param id
> @@ -570,7 +519,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id,
> uint32_t *service_id);
>   *  - 0: Success
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
> 
>  #ifdef __cplusplus
> diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> index 2314b93f6..cf23cdef6 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> @@ -97,9 +97,6 @@ extern "C" {
>   */
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Adapter configuration structure that the adapter configuration callback
>   * function is expected to fill out
>   * @see rte_event_eth_rx_adapter_conf_cb @@ -117,9 +114,6 @@ struct
> rte_event_eth_rx_adapter_conf {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Function type used for adapter configuration callback. The callback is
>   * used to fill in members of the struct rte_event_eth_rx_adapter_conf, this
>   * callback is invoked when creating a SW service for packet transfer from @@ -
> 145,9 +139,6 @@ typedef int (*rte_event_eth_rx_adapter_conf_cb) (uint8_t id,
> uint8_t dev_id,
>  			void *arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Rx queue configuration structure
>   */
>  struct rte_event_eth_rx_adapter_queue_conf { @@ -182,9 +173,6 @@ struct
> rte_event_eth_rx_adapter_queue_conf {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * A structure used to retrieve statistics for an eth rx adapter instance.
>   */
>  struct rte_event_eth_rx_adapter_stats { @@ -213,9 +201,6 @@ struct
> rte_event_eth_rx_adapter_stats {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Callback function invoked by the SW adapter before it continues
>   * to process packets. The callback is passed the size of the enqueue
>   * buffer in the SW adapter and the occupancy of the buffer. The @@ -254,9
> +239,6 @@ typedef uint16_t (*rte_event_eth_rx_adapter_cb_fn)(uint16_t
> eth_dev_id,
>  						struct rte_mbuf **enq_buf);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new ethernet Rx event adapter with the specified identifier.
>   *
>   * @param id
> @@ -282,9 +264,6 @@ int rte_event_eth_rx_adapter_create_ext(uint8_t id,
> uint8_t dev_id,
>  				void *conf_arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new ethernet Rx event adapter with the specified identifier.
>   * This function uses an internal configuration function that creates an event
>   * port. This default function reconfigures the event device with an @@ -311,9
> +290,6 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
>  				struct rte_event_port_conf *port_config);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Free an event adapter
>   *
>   * @param id
> @@ -327,9 +303,6 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t
> dev_id,  int rte_event_eth_rx_adapter_free(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Add receive queue to an event adapter. After a queue has been
>   * added to the event adapter, the result of the application calling
>   * rte_eth_rx_burst(eth_dev_id, rx_queue_id, ..) is undefined.
> @@ -367,9 +340,6 @@ int rte_event_eth_rx_adapter_queue_add(uint8_t id,
>  			const struct rte_event_eth_rx_adapter_queue_conf
> *conf);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Delete receive queue from an event adapter.
>   *
>   * @param id
> @@ -394,9 +364,6 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id,
> uint16_t eth_dev_id,
>  				       int32_t rx_queue_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Start ethernet Rx event adapter
>   *
>   * @param id
> @@ -413,9 +380,6 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id,
> uint16_t eth_dev_id,  int rte_event_eth_rx_adapter_start(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Stop  ethernet Rx event adapter
>   *
>   * @param id
> @@ -428,9 +392,6 @@ int rte_event_eth_rx_adapter_start(uint8_t id);  int
> rte_event_eth_rx_adapter_stop(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve statistics for an adapter
>   *
>   * @param id
> @@ -447,9 +408,6 @@ int rte_event_eth_rx_adapter_stats_get(uint8_t id,
>  				struct rte_event_eth_rx_adapter_stats *stats);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Reset statistics for an adapter.
>   *
>   * @param id
> @@ -462,9 +420,6 @@ int rte_event_eth_rx_adapter_stats_get(uint8_t id,  int
> rte_event_eth_rx_adapter_stats_reset(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the service ID of an adapter. If the adapter doesn't use
>   * a rte_service function, this function returns -ESRCH.
>   *
> @@ -482,9 +437,6 @@ int rte_event_eth_rx_adapter_stats_reset(uint8_t id);
> int rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Register callback to process Rx packets, this is supported for
>   * SW based packet transfers.
>   * @see rte_event_eth_rx_cb_fn
> @@ -501,7 +453,7 @@ int rte_event_eth_rx_adapter_service_id_get(uint8_t id,
> uint32_t *service_id);
>   *  - 0: Success
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_rx_adapter_cb_register(uint8_t id,
>  				uint16_t eth_dev_id,
>  				rte_event_eth_rx_adapter_cb_fn cb_fn, diff --
> git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> index 67216a305..d02ef57f4 100644
> --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> @@ -904,7 +904,7 @@ txa_service_stop(uint8_t id)  }
> 
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
>  				struct rte_event_port_conf *port_conf)  { @@
> -947,7 +947,7 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
>  				rte_event_eth_tx_adapter_conf_cb conf_cb,
>  				void *conf_arg)
> @@ -989,7 +989,7 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id,
> uint8_t dev_id,  }
> 
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
> {
>  	TXA_CHECK_OR_ERR_RET(id);
> @@ -997,7 +997,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id,
> uint8_t *event_port_id)
>  	return txa_service_event_port_get(id, event_port_id);  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_free(uint8_t id)  {
>  	int ret;
> @@ -1015,7 +1015,7 @@ rte_event_eth_tx_adapter_free(uint8_t id)
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_queue_add(uint8_t id,
>  				uint16_t eth_dev_id,
>  				int32_t queue)
> @@ -1046,7 +1046,7 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_queue_del(uint8_t id,
>  				uint16_t eth_dev_id,
>  				int32_t queue)
> @@ -1076,7 +1076,7 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)  {
>  	TXA_CHECK_OR_ERR_RET(id);
> @@ -1084,7 +1084,7 @@ rte_event_eth_tx_adapter_service_id_get(uint8_t id,
> uint32_t *service_id)
>  	return txa_service_id_get(id, service_id);  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_start(uint8_t id)  {
>  	int ret;
> @@ -1097,7 +1097,7 @@ rte_event_eth_tx_adapter_start(uint8_t id)
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stats_get(uint8_t id,
>  				struct rte_event_eth_tx_adapter_stats *stats)
> { @@ -1130,7 +1130,7 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stats_reset(uint8_t id)  {
>  	int ret;
> @@ -1144,7 +1144,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id)
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stop(uint8_t id)  {
>  	int ret;
> diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> index 2a50656d9..1b5278fdb 100644
> --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> @@ -81,9 +81,6 @@ extern "C" {
>  #include "rte_eventdev.h"
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Adapter configuration structure
>   *
>   * @see rte_event_eth_tx_adapter_create_ext
> @@ -103,9 +100,6 @@ struct rte_event_eth_tx_adapter_conf {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Function type used for adapter configuration callback. The callback is
>   * used to fill in members of the struct rte_event_eth_tx_adapter_conf, this
>   * callback is invoked when creating a RTE service function based @@ -130,9
> +124,6 @@ typedef int (*rte_event_eth_tx_adapter_conf_cb) (uint8_t id,
> uint8_t dev_id,
>  				void *arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * A structure used to retrieve statistics for an ethernet Tx adapter instance.
>   */
>  struct rte_event_eth_tx_adapter_stats { @@ -145,9 +136,6 @@ struct
> rte_event_eth_tx_adapter_stats {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new ethernet Tx adapter with the specified identifier.
>   *
>   * @param id
> @@ -161,14 +149,11 @@ struct rte_event_eth_tx_adapter_stats {
>   *   - 0: Success
>   *   - <0: Error code on failure
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
>  				struct rte_event_port_conf *port_config);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new ethernet Tx adapter with the specified identifier.
>   *
>   * @param id
> @@ -185,15 +170,12 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t
> dev_id,
>   *   - 0: Success
>   *   - <0: Error code on failure
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
>  				rte_event_eth_tx_adapter_conf_cb conf_cb,
>  				void *conf_arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Free an ethernet Tx adapter
>   *
>   * @param id
> @@ -203,13 +185,10 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id,
> uint8_t dev_id,
>   *   - <0: Error code on failure, If the adapter still has Tx queues
>   *      added to it, the function returns -EBUSY.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_free(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Start ethernet Tx adapter
>   *
>   * @param id
> @@ -218,13 +197,10 @@ rte_event_eth_tx_adapter_free(uint8_t id);
>   *  - 0: Success, Adapter started correctly.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_start(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Stop ethernet Tx adapter
>   *
>   * @param id
> @@ -233,13 +209,10 @@ rte_event_eth_tx_adapter_start(uint8_t id);
>   *  - 0: Success.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stop(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Add a Tx queue to the adapter.
>   * A queue value of -1 is used to indicate all
>   * queues within the device.
> @@ -254,15 +227,12 @@ rte_event_eth_tx_adapter_stop(uint8_t id);
>   *  - 0: Success, Queues added successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_queue_add(uint8_t id,
>  				uint16_t eth_dev_id,
>  				int32_t queue);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Delete a Tx queue from the adapter.
>   * A queue value of -1 is used to indicate all
>   * queues within the device, that have been added to this @@ -278,15 +248,12
> @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
>   *  - 0: Success, Queues deleted successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_queue_del(uint8_t id,
>  				uint16_t eth_dev_id,
>  				int32_t queue);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Set Tx queue in the mbuf. This queue is used by the adapter
>   * to transmit the mbuf.
>   *
> @@ -295,16 +262,13 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
>   * @param queue
>   *  Tx queue index.
>   */
> -static __rte_always_inline void __rte_experimental
> +static __rte_always_inline void
>  rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)  {
>  	pkt->hash.txadapter.txq = queue;
>  }
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve Tx queue from the mbuf.
>   *
>   * @param pkt
> @@ -314,16 +278,13 @@ rte_event_eth_tx_adapter_txq_set(struct rte_mbuf
> *pkt, uint16_t queue)
>   *
>   * @see rte_event_eth_tx_adapter_txq_set()
>   */
> -static __rte_always_inline uint16_t __rte_experimental
> +static __rte_always_inline uint16_t
>  rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)  {
>  	return pkt->hash.txadapter.txq;
>  }
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the adapter event port. The adapter creates an event port if
>   * the #RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT is not set in the
>   * ethernet Tx capabilities of the event device.
> @@ -336,7 +297,7 @@ rte_event_eth_tx_adapter_txq_get(struct rte_mbuf
> *pkt)
>   *   - 0: Success.
>   *   - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
> 
>  /**
> @@ -377,7 +338,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id,
> uint8_t *event_port_id);
>   *              one or more events. This error code is only applicable to
>   *              closed systems.
>   */
> -static inline uint16_t __rte_experimental
> +static inline uint16_t
>  rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
>  				uint8_t port_id,
>  				struct rte_event ev[],
> @@ -401,9 +362,6 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,  }
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve statistics for an adapter
>   *
>   * @param id
> @@ -414,14 +372,11 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
>   *  - 0: Success, statistics retrieved successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stats_get(uint8_t id,
>  				struct rte_event_eth_tx_adapter_stats *stats);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Reset statistics for an adapter.
>   *
>   * @param id
> @@ -430,13 +385,10 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
>   *  - 0: Success, statistics reset successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stats_reset(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the service ID of an adapter. If the adapter doesn't use
>   * a rte_service function, this function returns -ESRCH.
>   *
> @@ -449,7 +401,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id);
>   *  - <0: Error code on failure, if the adapter doesn't use a rte_service
>   * function, this function returns -ESRCH.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
> 
>  #ifdef __cplusplus
> diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c
> b/lib/librte_eventdev/rte_event_timer_adapter.c
> index 575da041b..2f7a760ae 100644
> --- a/lib/librte_eventdev/rte_event_timer_adapter.c
> +++ b/lib/librte_eventdev/rte_event_timer_adapter.c
> @@ -117,14 +117,14 @@ default_port_conf_cb(uint16_t id, uint8_t
> event_dev_id, uint8_t *event_port_id,
>  	return ret;
>  }
> 
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf
> *conf)  {
>  	return rte_event_timer_adapter_create_ext(conf,
> default_port_conf_cb,
>  						  NULL);
>  }
> 
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_create_ext(
>  		const struct rte_event_timer_adapter_conf *conf,
>  		rte_event_timer_adapter_port_conf_cb_t conf_cb, @@ -235,7
> +235,7 @@ rte_event_timer_adapter_create_ext(
>  	return NULL;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter
> *adapter,
>  		struct rte_event_timer_adapter_info *adapter_info)  { @@ -
> 253,7 +253,7 @@ rte_event_timer_adapter_get_info(const struct
> rte_event_timer_adapter *adapter,
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
> {
>  	int ret;
> @@ -276,7 +276,7 @@ rte_event_timer_adapter_start(const struct
> rte_event_timer_adapter *adapter)
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
> {
>  	int ret;
> @@ -299,7 +299,7 @@ rte_event_timer_adapter_stop(const struct
> rte_event_timer_adapter *adapter)
>  	return 0;
>  }
> 
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_lookup(uint16_t adapter_id)  {
>  	char name[DATA_MZ_NAME_MAX_LEN];
> @@ -352,7 +352,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id)
>  	return adapter;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)  {
>  	int ret;
> @@ -382,7 +382,7 @@ rte_event_timer_adapter_free(struct
> rte_event_timer_adapter *adapter)
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter
> *adapter,
>  				       uint32_t *service_id)
>  {
> @@ -394,7 +394,7 @@ rte_event_timer_adapter_service_id_get(struct
> rte_event_timer_adapter *adapter,
>  	return adapter->data->service_inited ? 0 : -ESRCH;  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
>  				  struct rte_event_timer_adapter_stats *stats)
> { @@ -406,7 +406,7 @@ rte_event_timer_adapter_stats_get(struct
> rte_event_timer_adapter *adapter,
>  	return adapter->ops->stats_get(adapter, stats);  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter
> *adapter)  {
>  	ADAPTER_VALID_OR_ERR_RET(adapter, -EINVAL); diff --git
> a/lib/librte_eventdev/rte_event_timer_adapter.h
> b/lib/librte_eventdev/rte_event_timer_adapter.h
> index 1b446c392..7f6dc5c29 100644
> --- a/lib/librte_eventdev/rte_event_timer_adapter.h
> +++ b/lib/librte_eventdev/rte_event_timer_adapter.h
> @@ -117,9 +117,6 @@ extern "C" {
>  #include "rte_eventdev.h"
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this enum may change without prior notice
> - *
>   * Timer adapter clock source
>   */
>  enum rte_event_timer_adapter_clk_src {
> @@ -154,9 +151,6 @@ enum rte_event_timer_adapter_clk_src {
>   */
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Timer adapter configuration structure
>   */
>  struct rte_event_timer_adapter_conf {
> @@ -179,9 +173,6 @@ struct rte_event_timer_adapter_conf {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Event timer adapter stats structure
>   */
>  struct rte_event_timer_adapter_stats {
> @@ -200,9 +191,6 @@ struct rte_event_timer_adapter_stats {  struct
> rte_event_timer_adapter;
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Callback function type for producer port creation.
>   */
>  typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id, @@ -
> 211,9 +199,6 @@ typedef int
> (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
>  						      void *conf_arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create an event timer adapter.
>   *
>   * This function must be invoked first before any other function in the API.
> @@ -235,13 +220,10 @@ typedef int
> (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
>   *   before this call, this error code indicates an error in restart following
>   *   an error in reconfiguration, i.e., a combination of the two error codes.
>   */
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf
> *conf);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a timer adapter with the supplied callback.
>   *
>   * This function can be used to have a more granular control over the timer @@
> -265,16 +247,13 @@ rte_event_timer_adapter_create(const struct
> rte_event_timer_adapter_conf *conf);
>   *   - EINVAL: invalid event device identifier specified in config
>   *   - ENOSPC: maximum number of adapters already created
>   */
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_create_ext(
>  		const struct rte_event_timer_adapter_conf *conf,
>  		rte_event_timer_adapter_port_conf_cb_t conf_cb,
>  		void *conf_arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Timer adapter info structure.
>   */
>  struct rte_event_timer_adapter_info {
> @@ -291,9 +270,6 @@ struct rte_event_timer_adapter_info {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the contextual information of an event timer adapter.
>   *
>   * @param adapter
> @@ -313,15 +289,12 @@ struct rte_event_timer_adapter_info {
>   *   struct rte_event_timer_adapter_info
>   *
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_get_info(
>  		const struct rte_event_timer_adapter *adapter,
>  		struct rte_event_timer_adapter_info *adapter_info);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Start a timer adapter.
>   *
>   * The adapter start step is the last one and consists of setting the timer @@ -
> 345,14 +318,11 @@ rte_event_timer_adapter_get_info(
>   *  The eventdev to which the event_timer_adapter is connected needs to
>   *  be started before calling rte_event_timer_adapter_start().
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_start(
>  		const struct rte_event_timer_adapter *adapter);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Stop an event timer adapter.
>   *
>   * The adapter can be restarted with a call to @@ -366,13 +336,10 @@
> rte_event_timer_adapter_start(
>   *   - <0: Error code returned by the driver stop function.
>   *   - -EINVAL if adapter identifier invalid
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stop(const struct rte_event_timer_adapter
> *adapter);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Lookup an event timer adapter using its identifier.
>   *
>   * If an event timer adapter was created in another process with the same @@ -
> 388,13 +355,10 @@ rte_event_timer_adapter_stop(const struct
> rte_event_timer_adapter *adapter);
>   *  Possible rte_errno values include:
>   *   - ENOENT - requested entry not available to return.
>   */
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_lookup(uint16_t adapter_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Free an event timer adapter.
>   *
>   * Destroy an event timer adapter, freeing all resources.
> @@ -412,7 +376,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id);
>   *   - -EBUSY: stop hasn't been called for this adapter yet
>   *   - -EINVAL: adapter id invalid, or adapter invalid
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
> 
>  /**
> @@ -430,14 +394,11 @@ rte_event_timer_adapter_free(struct
> rte_event_timer_adapter *adapter);
>   *   - <0: Error code on failure
>   *   - -ESRCH: the adapter does not require a service to operate
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter
> *adapter,
>  				       uint32_t *service_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve statistics for an event timer adapter instance.
>   *
>   * @param adapter
> @@ -449,14 +410,11 @@ rte_event_timer_adapter_service_id_get(struct
> rte_event_timer_adapter *adapter,
>   *   - 0: Successfully retrieved.
>   *   - <0: Failure; error code returned.
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
>  		struct rte_event_timer_adapter_stats *stats);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Reset statistics for an event timer adapter instance.
>   *
>   * @param adapter
> @@ -466,13 +424,10 @@ rte_event_timer_adapter_stats_get(struct
> rte_event_timer_adapter *adapter,
>   *   - 0: Successfully reset;
>   *   - <0: Failure; error code returned.
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter
> *adapter);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Event timer state.
>   */
>  enum rte_event_timer_state {
> @@ -493,9 +448,6 @@ enum rte_event_timer_state {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * The generic *rte_event_timer* structure to hold the event timer attributes
>   * for arm and cancel operations.
>   */
> @@ -588,9 +540,6 @@ struct rte_event_timer_adapter {  } while (0)
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Arm a burst of event timers with separate expiration timeout tick for each
>   * event timer.
>   *
> @@ -621,7 +570,7 @@ struct rte_event_timer_adapter {
>   *   - EAGAIN Specified timer adapter is not running
>   *   - EALREADY A timer was encountered that was already armed
>   */
> -static inline uint16_t __rte_experimental
> +static inline uint16_t
>  rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
>  			  struct rte_event_timer **evtims,
>  			  uint16_t nb_evtims)
> @@ -634,9 +583,6 @@ rte_event_timer_arm_burst(const struct
> rte_event_timer_adapter *adapter,  }
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Arm a burst of event timers with same expiration timeout tick.
>   *
>   * Provides the same functionality as ``rte_event_timer_arm_burst()``, except
> @@ -665,7 +611,7 @@ rte_event_timer_arm_burst(const struct
> rte_event_timer_adapter *adapter,
>   *   - EAGAIN Specified event timer adapter is not running
>   *   - EALREADY A timer was encountered that was already armed
>   */
> -static inline uint16_t __rte_experimental
> +static inline uint16_t
>  rte_event_timer_arm_tmo_tick_burst(
>  			const struct rte_event_timer_adapter *adapter,
>  			struct rte_event_timer **evtims,
> @@ -681,9 +627,6 @@ rte_event_timer_arm_tmo_tick_burst(
>  }
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Cancel a burst of event timers from being scheduled to the event device.
>   *
>   * @param adapter
> @@ -703,7 +646,7 @@ rte_event_timer_arm_tmo_tick_burst(
>   *   - EAGAIN Specified timer adapter is not running
>   *   - EALREADY  A timer was encountered that was already canceled
>   */
> -static inline uint16_t __rte_experimental
> +static inline uint16_t
>  rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
>  			     struct rte_event_timer **evtims,
>  			     uint16_t nb_evtims)
> diff --git a/lib/librte_eventdev/rte_eventdev.c
> b/lib/librte_eventdev/rte_eventdev.c
> index 3bd571a87..cc3199fb6 100644
> --- a/lib/librte_eventdev/rte_eventdev.c
> +++ b/lib/librte_eventdev/rte_eventdev.c
> @@ -129,7 +129,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id,
> uint16_t eth_port_id,
>  				: 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)  {
>  	struct rte_eventdev *dev;
> @@ -151,7 +151,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id,
> uint32_t *caps)
>  				: 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
>  				  uint32_t *caps)
>  {
> @@ -174,7 +174,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id,
> uint8_t cdev_id,
>  		(dev, cdev, caps) : -ENOTSUP;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
>  				uint32_t *caps)
>  {
> @@ -1004,7 +1004,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t
> port_id,
>  	return diag;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id)  {
>  	struct rte_eventdev *dev;
> diff --git a/lib/librte_eventdev/rte_eventdev.h
> b/lib/librte_eventdev/rte_eventdev.h
> index ef10a855d..62edc09a4 100644
> --- a/lib/librte_eventdev/rte_eventdev.h
> +++ b/lib/librte_eventdev/rte_eventdev.h
> @@ -1131,7 +1131,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id,
> uint16_t eth_port_id,
>   *   - 0: Success, driver provided event timer adapter capabilities.
>   *   - <0: Error code returned by the driver function.
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
> 
>  /* Crypto adapter capability bitmap flag */ @@ -1160,9 +1160,6 @@
> rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
>   */
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the event device's crypto adapter capabilities for the
>   * specified cryptodev device
>   *
> @@ -1182,7 +1179,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id,
> uint32_t *caps);
>   *   - <0: Error code returned by the driver function.
>   *
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
>  				  uint32_t *caps);
> 
> @@ -1208,7 +1205,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id,
> uint8_t cdev_id,
>   *   - <0: Error code returned by the driver function.
>   *
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
>  				uint32_t *caps);
> 
> @@ -1726,9 +1723,6 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t
> port_id,
>  		      uint8_t queues[], uint16_t nb_unlinks);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Returns the number of unlinks in progress.
>   *
>   * This function provides the application with a method to detect when an @@ -
> 1749,7 +1743,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
>   * A negative return value indicates an error, -EINVAL indicates an invalid
>   * parameter passed for *dev_id* or *port_id*.
>   */
> -int __rte_experimental
> +int
>  rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id);
> 
>  /**
> diff --git a/lib/librte_eventdev/rte_eventdev_version.map
> b/lib/librte_eventdev/rte_eventdev_version.map
> index d558d7d5f..88c3ce513 100644
> --- a/lib/librte_eventdev/rte_eventdev_version.map
> +++ b/lib/librte_eventdev/rte_eventdev_version.map
> @@ -80,7 +80,7 @@ DPDK_18.05 {
>  	rte_event_dev_stop_flush_callback_register;
>  } DPDK_18.02;
> 
> -EXPERIMENTAL {
> +DPDK_19.05 {
>  	global:
> 
>  	rte_event_crypto_adapter_caps_get;
> @@ -123,4 +123,4 @@ EXPERIMENTAL {
>  	rte_event_timer_arm_burst;
>  	rte_event_timer_arm_tmo_tick_burst;
>  	rte_event_timer_cancel_burst;
> -};
> +} DPDK_18.05;
> --
> 2.21.0

Acked-by: Abhinandan Gujjar <Abhinandan.gujjar@intel.com>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
  2019-04-21 12:44   ` Gujjar, Abhinandan S
@ 2019-04-21 12:44     ` Gujjar, Abhinandan S
  2019-04-22 11:15     ` Thomas Monjalon
  1 sibling, 0 replies; 16+ messages in thread
From: Gujjar, Abhinandan S @ 2019-04-21 12:44 UTC (permalink / raw)
  To: jerinj, dev, Thomas Monjalon, Mattias Rönnblom, Van Haaren,
	Harry, Rao, Nikhil, Carrillo, Erik G
  Cc: pbhagavatula, hemant.agrawal, nipun.gupta, Ma, Liang J

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 53441 bytes --]



> -----Original Message-----
> From: jerinj@marvell.com <jerinj@marvell.com>
> Sent: Friday, April 19, 2019 5:41 PM
> To: dev@dpdk.org; Thomas Monjalon <thomas@monjalon.net>; Jerin Jacob
> <jerinj@marvell.com>; Mattias Rönnblom <mattias.ronnblom@ericsson.com>;
> Van Haaren, Harry <harry.van.haaren@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>; Carrillo,
> Erik G <erik.g.carrillo@intel.com>
> Cc: pbhagavatula@marvell.com; hemant.agrawal@nxp.com;
> nipun.gupta@nxp.com; Ma, Liang J <liang.j.ma@intel.com>
> Subject: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
> 
> From: Jerin Jacob <jerinj@marvell.com>
> 
> Promote the adapter functions and rte_event_port_unlinks_in_progress()
> as stable as it's been added for a while now and multiple drivers and test
> application like test-eventdev has been tested using the adapter APIs.
> 
> Cc: nikhil.rao@intel.com
> Cc: erik.g.carrillo@intel.com
> Cc: abhinandan.gujjar@intel.com
> Cc: pbhagavatula@marvell.com
> Cc: hemant.agrawal@nxp.com
> Cc: nipun.gupta@nxp.com
> Cc: harry.van.haaren@intel.com
> Cc: mattias.ronnblom@ericsson.com
> Cc: liang.j.ma@intel.com
> 
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
> 
> allow experimental api still set to true for following drivers.
> 
> drivers/event/sw - due to usage of rte_service_may_be_active() API
> drivers/event/dpaa[2] - due to usage of rte_mem_iova2virt() API
> 
> 
> v2:
> - Remove  @warning  EXPERIMENTAL from API(Erik)
> 
> ---
>  MAINTAINERS                                   |  8 +-
>  app/test-eventdev/Makefile                    |  1 -
>  app/test-eventdev/meson.build                 |  1 -
>  drivers/event/dsw/Makefile                    |  1 -
>  drivers/event/dsw/meson.build                 |  1 -
>  drivers/event/octeontx/Makefile               |  1 -
>  drivers/event/octeontx/meson.build            |  1 -
>  examples/eventdev_pipeline/Makefile           |  2 -
>  examples/eventdev_pipeline/meson.build        |  1 -
>  .../rte_event_crypto_adapter.c                | 22 ++---
>  .../rte_event_crypto_adapter.h                | 73 +++-------------
>  .../rte_event_eth_rx_adapter.h                | 50 +----------
>  .../rte_event_eth_tx_adapter.c                | 22 ++---
>  .../rte_event_eth_tx_adapter.h                | 76 ++++-------------
>  lib/librte_eventdev/rte_event_timer_adapter.c | 20 ++---
> lib/librte_eventdev/rte_event_timer_adapter.h | 83 +++----------------
>  lib/librte_eventdev/rte_eventdev.c            |  8 +-
>  lib/librte_eventdev/rte_eventdev.h            | 14 +---
>  lib/librte_eventdev/rte_eventdev_version.map  |  4 +-
>  19 files changed, 85 insertions(+), 304 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a08583471..9c14f7e19 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -398,28 +398,28 @@ F: lib/librte_eventdev/
>  F: drivers/event/skeleton/
>  F: app/test/test_eventdev.c
> 
> -Eventdev Ethdev Rx Adapter API - EXPERIMENTAL
> +Eventdev Ethdev Rx Adapter API
>  M: Nikhil Rao <nikhil.rao@intel.com>
>  T: git://dpdk.org/next/dpdk-next-eventdev
>  F: lib/librte_eventdev/*eth_rx_adapter*
>  F: app/test/test_event_eth_rx_adapter.c
>  F: doc/guides/prog_guide/event_ethernet_rx_adapter.rst
> 
> -Eventdev Ethdev Tx Adapter API - EXPERIMENTAL
> +Eventdev Ethdev Tx Adapter API
>  M: Nikhil Rao <nikhil.rao@intel.com>
>  T: git://dpdk.org/next/dpdk-next-eventdev
>  F: lib/librte_eventdev/*eth_tx_adapter*
>  F: app/test/test_event_eth_tx_adapter.c
>  F: doc/guides/prog_guide/event_ethernet_tx_adapter.rst
> 
> -Eventdev Timer Adapter API - EXPERIMENTAL
> +Eventdev Timer Adapter API
>  M: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
>  T: git://dpdk.org/next/dpdk-next-eventdev
>  F: lib/librte_eventdev/*timer_adapter*
>  F: app/test/test_event_timer_adapter.c
>  F: doc/guides/prog_guide/event_timer_adapter.rst
> 
> -Eventdev Crypto Adapter API - EXPERIMENTAL
> +Eventdev Crypto Adapter API
>  M: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
>  T: git://dpdk.org/next/dpdk-next-eventdev
>  F: lib/librte_eventdev/*crypto_adapter*
> diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile index
> cb659110e..e600e21c4 100644
> --- a/app/test-eventdev/Makefile
> +++ b/app/test-eventdev/Makefile
> @@ -6,7 +6,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
> 
>  APP = dpdk-test-eventdev
> 
> -CFLAGS += -DALLOW_EXPERIMENTAL_API
>  CFLAGS += -O3
>  CFLAGS += $(WERROR_FLAGS)
> 
> diff --git a/app/test-eventdev/meson.build b/app/test-eventdev/meson.build
> index a81dcd131..7ff2b786c 100644
> --- a/app/test-eventdev/meson.build
> +++ b/app/test-eventdev/meson.build
> @@ -1,7 +1,6 @@
>  # SPDX-License-Identifier: BSD-3-Clause  # Copyright(c) 2017 Cavium, Inc
> 
> -allow_experimental_apis = true
>  sources = files('evt_main.c',
>  		'evt_options.c',
>  		'evt_test.c',
> diff --git a/drivers/event/dsw/Makefile b/drivers/event/dsw/Makefile index
> 490ed0b98..922fe2e42 100644
> --- a/drivers/event/dsw/Makefile
> +++ b/drivers/event/dsw/Makefile
> @@ -5,7 +5,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
> 
>  LIB = librte_pmd_dsw_event.a
> 
> -CFLAGS += -DALLOW_EXPERIMENTAL_API
>  CFLAGS += -O3
>  CFLAGS += $(WERROR_FLAGS)
>  ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
> diff --git a/drivers/event/dsw/meson.build b/drivers/event/dsw/meson.build
> index a6b7bfa59..a3d09eef3 100644
> --- a/drivers/event/dsw/meson.build
> +++ b/drivers/event/dsw/meson.build
> @@ -1,6 +1,5 @@
>  # SPDX-License-Identifier: BSD-3-Clause  # Copyright(c) 2018 Ericsson AB
> 
> -allow_experimental_apis = true
>  deps += ['bus_vdev']
>  sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c') diff --git
> a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile index
> 2e07890b9..2c92ccb35 100644
> --- a/drivers/event/octeontx/Makefile
> +++ b/drivers/event/octeontx/Makefile
> @@ -13,7 +13,6 @@ CFLAGS += $(WERROR_FLAGS)  CFLAGS += -
> I$(RTE_SDK)/drivers/common/octeontx/
>  CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
>  CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
> -CFLAGS += -DALLOW_EXPERIMENTAL_API
> 
>  LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
> LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs diff --git
> a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build
> index 041855330..2b74bb62d 100644
> --- a/drivers/event/octeontx/meson.build
> +++ b/drivers/event/octeontx/meson.build
> @@ -10,5 +10,4 @@ sources = files('ssovf_worker.c',
>  		'timvf_probe.c'
>  )
> 
> -allow_experimental_apis = true
>  deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev',
> 'pmd_octeontx'] diff --git a/examples/eventdev_pipeline/Makefile
> b/examples/eventdev_pipeline/Makefile
> index c34779086..0b0d1ade9 100644
> --- a/examples/eventdev_pipeline/Makefile
> +++ b/examples/eventdev_pipeline/Makefile
> @@ -25,8 +25,6 @@ CFLAGS += -O3 $(shell pkg-config --cflags libdpdk)
> LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk)  LDFLAGS_STATIC = -Wl,-
> Bstatic $(shell pkg-config --static --libs libdpdk)
> 
> -CFLAGS += -DALLOW_EXPERIMENTAL_API
> -
>  build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build
>  	$(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED)
> 
> diff --git a/examples/eventdev_pipeline/meson.build
> b/examples/eventdev_pipeline/meson.build
> index 0fc916b05..a54c35aa7 100644
> --- a/examples/eventdev_pipeline/meson.build
> +++ b/examples/eventdev_pipeline/meson.build
> @@ -7,7 +7,6 @@
>  # DPDK instance, use 'make'
> 
>  deps += 'eventdev'
> -allow_experimental_apis = true
>  sources = files(
>  	'main.c',
>  	'pipeline_worker_generic.c',
> diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c
> b/lib/librte_eventdev/rte_event_crypto_adapter.c
> index 11b28ca9b..9e99cf475 100644
> --- a/lib/librte_eventdev/rte_event_crypto_adapter.c
> +++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
> @@ -192,7 +192,7 @@ eca_default_config_cb(uint8_t id, uint8_t dev_id,
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
>  				rte_event_crypto_adapter_conf_cb conf_cb,
>  				enum rte_event_crypto_adapter_mode mode,
> @@ -268,7 +268,7 @@ rte_event_crypto_adapter_create_ext(uint8_t id,
> uint8_t dev_id,  }
> 
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
>  				struct rte_event_port_conf *port_config,
>  				enum rte_event_crypto_adapter_mode mode)
> @@ -294,7 +294,7 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t
> dev_id,
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_free(uint8_t id)  {
>  	struct rte_event_crypto_adapter *adapter; @@ -760,7 +760,7 @@
> eca_add_queue_pair(struct rte_event_crypto_adapter *adapter,
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_queue_pair_add(uint8_t id,
>  			uint8_t cdev_id,
>  			int32_t queue_pair_id,
> @@ -875,7 +875,7 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
>  					int32_t queue_pair_id)
>  {
> @@ -1002,7 +1002,7 @@ eca_adapter_ctrl(uint8_t id, int start)
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_start(uint8_t id)  {
>  	struct rte_event_crypto_adapter *adapter; @@ -1015,13 +1015,13 @@
> rte_event_crypto_adapter_start(uint8_t id)
>  	return eca_adapter_ctrl(id, 1);
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stop(uint8_t id)  {
>  	return eca_adapter_ctrl(id, 0);
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stats_get(uint8_t id,
>  				struct rte_event_crypto_adapter_stats *stats)
> { @@ -1066,7 +1066,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stats_reset(uint8_t id)  {
>  	struct rte_event_crypto_adapter *adapter; @@ -1094,7 +1094,7 @@
> rte_event_crypto_adapter_stats_reset(uint8_t id)
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)  {
>  	struct rte_event_crypto_adapter *adapter; @@ -1111,7 +1111,7 @@
> rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id)
>  	return adapter->service_inited ? 0 : -ESRCH;  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
> {
>  	struct rte_event_crypto_adapter *adapter; diff --git
> a/lib/librte_eventdev/rte_event_crypto_adapter.h
> b/lib/librte_eventdev/rte_event_crypto_adapter.h
> index a7419e91c..528d1d9b2 100644
> --- a/lib/librte_eventdev/rte_event_crypto_adapter.h
> +++ b/lib/librte_eventdev/rte_event_crypto_adapter.h
> @@ -173,9 +173,6 @@ extern "C" {
>  #include "rte_eventdev.h"
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this enum may change without prior notice
> - *
>   * Crypto event adapter mode
>   */
>  enum rte_event_crypto_adapter_mode {
> @@ -198,9 +195,6 @@ enum rte_event_crypto_adapter_mode {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Crypto event request structure will be filled by application to
>   * provide event request information to the adapter.
>   */
> @@ -219,9 +213,6 @@ struct rte_event_crypto_request {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Crypto event metadata structure will be filled by application
>   * to provide crypto request and event response information.
>   *
> @@ -244,9 +235,6 @@ union rte_event_crypto_metadata {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Adapter configuration structure that the adapter configuration callback
>   * function is expected to fill out
>   * @see rte_event_crypto_adapter_conf_cb @@ -265,9 +253,6 @@ struct
> rte_event_crypto_adapter_conf {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Function type used for adapter configuration callback. The callback is
>   * used to fill in members of the struct rte_event_crypto_adapter_conf, this
>   * callback is invoked when creating a SW service for packet transfer from @@ -
> 293,9 +278,6 @@ typedef int (*rte_event_crypto_adapter_conf_cb) (uint8_t id,
> uint8_t dev_id,
>  			void *arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * A structure used to retrieve statistics for an event crypto adapter
>   * instance.
>   */
> @@ -320,9 +302,6 @@ struct rte_event_crypto_adapter_stats {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new event crypto adapter with the specified identifier.
>   *
>   * @param id
> @@ -347,16 +326,13 @@ struct rte_event_crypto_adapter_stats {
>   *   - 0: Success
>   *   - <0: Error code on failure
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
>  				    rte_event_crypto_adapter_conf_cb conf_cb,
>  				    enum rte_event_crypto_adapter_mode
> mode,
>  				    void *conf_arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new event crypto adapter with the specified identifier.
>   * This function uses an internal configuration function that creates an event
>   * port. This default function reconfigures the event device with an @@ -383,15
> +359,12 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
>   *   - 0: Success
>   *   - <0: Error code on failure
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_create(uint8_t id, uint8_t dev_id,
>  				struct rte_event_port_conf *port_config,
>  				enum rte_event_crypto_adapter_mode mode);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Free an event crypto adapter
>   *
>   * @param id
> @@ -402,13 +375,10 @@ rte_event_crypto_adapter_create(uint8_t id, uint8_t
> dev_id,
>   *   - <0: Error code on failure, If the adapter still has queue pairs
>   *      added to it, the function returns -EBUSY.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_free(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Add a queue pair to an event crypto adapter.
>   *
>   * @param id
> @@ -430,16 +400,13 @@ rte_event_crypto_adapter_free(uint8_t id);
>   *  - 0: Success, queue pair added correctly.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_queue_pair_add(uint8_t id,
>  			uint8_t cdev_id,
>  			int32_t queue_pair_id,
>  			const struct rte_event *event);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Delete a queue pair from an event crypto adapter.
>   *
>   * @param id
> @@ -455,14 +422,11 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t
> id,
>   *  - 0: Success, queue pair deleted successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
>  					int32_t queue_pair_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Start event crypto adapter
>   *
>   * @param id
> @@ -477,13 +441,10 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t
> id, uint8_t cdev_id,
>   *  The eventdev to which the event_crypto_adapter is connected needs to
>   *  be started before calling rte_event_crypto_adapter_start().
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_start(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Stop event crypto adapter
>   *
>   * @param id
> @@ -493,13 +454,10 @@ rte_event_crypto_adapter_start(uint8_t id);
>   *  - 0: Success, adapter stopped successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stop(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve statistics for an adapter
>   *
>   * @param id
> @@ -512,14 +470,11 @@ rte_event_crypto_adapter_stop(uint8_t id);
>   *  - 0: Success, retrieved successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stats_get(uint8_t id,
>  				struct rte_event_crypto_adapter_stats *stats);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Reset statistics for an adapter.
>   *
>   * @param id
> @@ -529,13 +484,10 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
>   *  - 0: Success, statistics reset successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_stats_reset(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the service ID of an adapter. If the adapter doesn't use
>   * a rte_service function, this function returns -ESRCH.
>   *
> @@ -550,13 +502,10 @@ rte_event_crypto_adapter_stats_reset(uint8_t id);
>   *  - <0: Error code on failure, if the adapter doesn't use a rte_service
>   * function, this function returns -ESRCH.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_service_id_get(uint8_t id, uint32_t *service_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the event port of an adapter.
>   *
>   * @param id
> @@ -570,7 +519,7 @@ rte_event_crypto_adapter_service_id_get(uint8_t id,
> uint32_t *service_id);
>   *  - 0: Success
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
> 
>  #ifdef __cplusplus
> diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> index 2314b93f6..cf23cdef6 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> @@ -97,9 +97,6 @@ extern "C" {
>   */
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Adapter configuration structure that the adapter configuration callback
>   * function is expected to fill out
>   * @see rte_event_eth_rx_adapter_conf_cb @@ -117,9 +114,6 @@ struct
> rte_event_eth_rx_adapter_conf {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Function type used for adapter configuration callback. The callback is
>   * used to fill in members of the struct rte_event_eth_rx_adapter_conf, this
>   * callback is invoked when creating a SW service for packet transfer from @@ -
> 145,9 +139,6 @@ typedef int (*rte_event_eth_rx_adapter_conf_cb) (uint8_t id,
> uint8_t dev_id,
>  			void *arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Rx queue configuration structure
>   */
>  struct rte_event_eth_rx_adapter_queue_conf { @@ -182,9 +173,6 @@ struct
> rte_event_eth_rx_adapter_queue_conf {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * A structure used to retrieve statistics for an eth rx adapter instance.
>   */
>  struct rte_event_eth_rx_adapter_stats { @@ -213,9 +201,6 @@ struct
> rte_event_eth_rx_adapter_stats {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Callback function invoked by the SW adapter before it continues
>   * to process packets. The callback is passed the size of the enqueue
>   * buffer in the SW adapter and the occupancy of the buffer. The @@ -254,9
> +239,6 @@ typedef uint16_t (*rte_event_eth_rx_adapter_cb_fn)(uint16_t
> eth_dev_id,
>  						struct rte_mbuf **enq_buf);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new ethernet Rx event adapter with the specified identifier.
>   *
>   * @param id
> @@ -282,9 +264,6 @@ int rte_event_eth_rx_adapter_create_ext(uint8_t id,
> uint8_t dev_id,
>  				void *conf_arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new ethernet Rx event adapter with the specified identifier.
>   * This function uses an internal configuration function that creates an event
>   * port. This default function reconfigures the event device with an @@ -311,9
> +290,6 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
>  				struct rte_event_port_conf *port_config);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Free an event adapter
>   *
>   * @param id
> @@ -327,9 +303,6 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t
> dev_id,  int rte_event_eth_rx_adapter_free(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Add receive queue to an event adapter. After a queue has been
>   * added to the event adapter, the result of the application calling
>   * rte_eth_rx_burst(eth_dev_id, rx_queue_id, ..) is undefined.
> @@ -367,9 +340,6 @@ int rte_event_eth_rx_adapter_queue_add(uint8_t id,
>  			const struct rte_event_eth_rx_adapter_queue_conf
> *conf);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Delete receive queue from an event adapter.
>   *
>   * @param id
> @@ -394,9 +364,6 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id,
> uint16_t eth_dev_id,
>  				       int32_t rx_queue_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Start ethernet Rx event adapter
>   *
>   * @param id
> @@ -413,9 +380,6 @@ int rte_event_eth_rx_adapter_queue_del(uint8_t id,
> uint16_t eth_dev_id,  int rte_event_eth_rx_adapter_start(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Stop  ethernet Rx event adapter
>   *
>   * @param id
> @@ -428,9 +392,6 @@ int rte_event_eth_rx_adapter_start(uint8_t id);  int
> rte_event_eth_rx_adapter_stop(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve statistics for an adapter
>   *
>   * @param id
> @@ -447,9 +408,6 @@ int rte_event_eth_rx_adapter_stats_get(uint8_t id,
>  				struct rte_event_eth_rx_adapter_stats *stats);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Reset statistics for an adapter.
>   *
>   * @param id
> @@ -462,9 +420,6 @@ int rte_event_eth_rx_adapter_stats_get(uint8_t id,  int
> rte_event_eth_rx_adapter_stats_reset(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the service ID of an adapter. If the adapter doesn't use
>   * a rte_service function, this function returns -ESRCH.
>   *
> @@ -482,9 +437,6 @@ int rte_event_eth_rx_adapter_stats_reset(uint8_t id);
> int rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Register callback to process Rx packets, this is supported for
>   * SW based packet transfers.
>   * @see rte_event_eth_rx_cb_fn
> @@ -501,7 +453,7 @@ int rte_event_eth_rx_adapter_service_id_get(uint8_t id,
> uint32_t *service_id);
>   *  - 0: Success
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_rx_adapter_cb_register(uint8_t id,
>  				uint16_t eth_dev_id,
>  				rte_event_eth_rx_adapter_cb_fn cb_fn, diff --
> git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> index 67216a305..d02ef57f4 100644
> --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
> @@ -904,7 +904,7 @@ txa_service_stop(uint8_t id)  }
> 
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
>  				struct rte_event_port_conf *port_conf)  { @@
> -947,7 +947,7 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
>  				rte_event_eth_tx_adapter_conf_cb conf_cb,
>  				void *conf_arg)
> @@ -989,7 +989,7 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id,
> uint8_t dev_id,  }
> 
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
> {
>  	TXA_CHECK_OR_ERR_RET(id);
> @@ -997,7 +997,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id,
> uint8_t *event_port_id)
>  	return txa_service_event_port_get(id, event_port_id);  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_free(uint8_t id)  {
>  	int ret;
> @@ -1015,7 +1015,7 @@ rte_event_eth_tx_adapter_free(uint8_t id)
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_queue_add(uint8_t id,
>  				uint16_t eth_dev_id,
>  				int32_t queue)
> @@ -1046,7 +1046,7 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_queue_del(uint8_t id,
>  				uint16_t eth_dev_id,
>  				int32_t queue)
> @@ -1076,7 +1076,7 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id)  {
>  	TXA_CHECK_OR_ERR_RET(id);
> @@ -1084,7 +1084,7 @@ rte_event_eth_tx_adapter_service_id_get(uint8_t id,
> uint32_t *service_id)
>  	return txa_service_id_get(id, service_id);  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_start(uint8_t id)  {
>  	int ret;
> @@ -1097,7 +1097,7 @@ rte_event_eth_tx_adapter_start(uint8_t id)
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stats_get(uint8_t id,
>  				struct rte_event_eth_tx_adapter_stats *stats)
> { @@ -1130,7 +1130,7 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stats_reset(uint8_t id)  {
>  	int ret;
> @@ -1144,7 +1144,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id)
>  	return ret;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stop(uint8_t id)  {
>  	int ret;
> diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> index 2a50656d9..1b5278fdb 100644
> --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> @@ -81,9 +81,6 @@ extern "C" {
>  #include "rte_eventdev.h"
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Adapter configuration structure
>   *
>   * @see rte_event_eth_tx_adapter_create_ext
> @@ -103,9 +100,6 @@ struct rte_event_eth_tx_adapter_conf {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Function type used for adapter configuration callback. The callback is
>   * used to fill in members of the struct rte_event_eth_tx_adapter_conf, this
>   * callback is invoked when creating a RTE service function based @@ -130,9
> +124,6 @@ typedef int (*rte_event_eth_tx_adapter_conf_cb) (uint8_t id,
> uint8_t dev_id,
>  				void *arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * A structure used to retrieve statistics for an ethernet Tx adapter instance.
>   */
>  struct rte_event_eth_tx_adapter_stats { @@ -145,9 +136,6 @@ struct
> rte_event_eth_tx_adapter_stats {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new ethernet Tx adapter with the specified identifier.
>   *
>   * @param id
> @@ -161,14 +149,11 @@ struct rte_event_eth_tx_adapter_stats {
>   *   - 0: Success
>   *   - <0: Error code on failure
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
>  				struct rte_event_port_conf *port_config);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a new ethernet Tx adapter with the specified identifier.
>   *
>   * @param id
> @@ -185,15 +170,12 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t
> dev_id,
>   *   - 0: Success
>   *   - <0: Error code on failure
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
>  				rte_event_eth_tx_adapter_conf_cb conf_cb,
>  				void *conf_arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Free an ethernet Tx adapter
>   *
>   * @param id
> @@ -203,13 +185,10 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id,
> uint8_t dev_id,
>   *   - <0: Error code on failure, If the adapter still has Tx queues
>   *      added to it, the function returns -EBUSY.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_free(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Start ethernet Tx adapter
>   *
>   * @param id
> @@ -218,13 +197,10 @@ rte_event_eth_tx_adapter_free(uint8_t id);
>   *  - 0: Success, Adapter started correctly.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_start(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Stop ethernet Tx adapter
>   *
>   * @param id
> @@ -233,13 +209,10 @@ rte_event_eth_tx_adapter_start(uint8_t id);
>   *  - 0: Success.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stop(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Add a Tx queue to the adapter.
>   * A queue value of -1 is used to indicate all
>   * queues within the device.
> @@ -254,15 +227,12 @@ rte_event_eth_tx_adapter_stop(uint8_t id);
>   *  - 0: Success, Queues added successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_queue_add(uint8_t id,
>  				uint16_t eth_dev_id,
>  				int32_t queue);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Delete a Tx queue from the adapter.
>   * A queue value of -1 is used to indicate all
>   * queues within the device, that have been added to this @@ -278,15 +248,12
> @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
>   *  - 0: Success, Queues deleted successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_queue_del(uint8_t id,
>  				uint16_t eth_dev_id,
>  				int32_t queue);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Set Tx queue in the mbuf. This queue is used by the adapter
>   * to transmit the mbuf.
>   *
> @@ -295,16 +262,13 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
>   * @param queue
>   *  Tx queue index.
>   */
> -static __rte_always_inline void __rte_experimental
> +static __rte_always_inline void
>  rte_event_eth_tx_adapter_txq_set(struct rte_mbuf *pkt, uint16_t queue)  {
>  	pkt->hash.txadapter.txq = queue;
>  }
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve Tx queue from the mbuf.
>   *
>   * @param pkt
> @@ -314,16 +278,13 @@ rte_event_eth_tx_adapter_txq_set(struct rte_mbuf
> *pkt, uint16_t queue)
>   *
>   * @see rte_event_eth_tx_adapter_txq_set()
>   */
> -static __rte_always_inline uint16_t __rte_experimental
> +static __rte_always_inline uint16_t
>  rte_event_eth_tx_adapter_txq_get(struct rte_mbuf *pkt)  {
>  	return pkt->hash.txadapter.txq;
>  }
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the adapter event port. The adapter creates an event port if
>   * the #RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT is not set in the
>   * ethernet Tx capabilities of the event device.
> @@ -336,7 +297,7 @@ rte_event_eth_tx_adapter_txq_get(struct rte_mbuf
> *pkt)
>   *   - 0: Success.
>   *   - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
> 
>  /**
> @@ -377,7 +338,7 @@ rte_event_eth_tx_adapter_event_port_get(uint8_t id,
> uint8_t *event_port_id);
>   *              one or more events. This error code is only applicable to
>   *              closed systems.
>   */
> -static inline uint16_t __rte_experimental
> +static inline uint16_t
>  rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
>  				uint8_t port_id,
>  				struct rte_event ev[],
> @@ -401,9 +362,6 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,  }
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve statistics for an adapter
>   *
>   * @param id
> @@ -414,14 +372,11 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
>   *  - 0: Success, statistics retrieved successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stats_get(uint8_t id,
>  				struct rte_event_eth_tx_adapter_stats *stats);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Reset statistics for an adapter.
>   *
>   * @param id
> @@ -430,13 +385,10 @@ rte_event_eth_tx_adapter_stats_get(uint8_t id,
>   *  - 0: Success, statistics reset successfully.
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_stats_reset(uint8_t id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the service ID of an adapter. If the adapter doesn't use
>   * a rte_service function, this function returns -ESRCH.
>   *
> @@ -449,7 +401,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id);
>   *  - <0: Error code on failure, if the adapter doesn't use a rte_service
>   * function, this function returns -ESRCH.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
> 
>  #ifdef __cplusplus
> diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c
> b/lib/librte_eventdev/rte_event_timer_adapter.c
> index 575da041b..2f7a760ae 100644
> --- a/lib/librte_eventdev/rte_event_timer_adapter.c
> +++ b/lib/librte_eventdev/rte_event_timer_adapter.c
> @@ -117,14 +117,14 @@ default_port_conf_cb(uint16_t id, uint8_t
> event_dev_id, uint8_t *event_port_id,
>  	return ret;
>  }
> 
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf
> *conf)  {
>  	return rte_event_timer_adapter_create_ext(conf,
> default_port_conf_cb,
>  						  NULL);
>  }
> 
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_create_ext(
>  		const struct rte_event_timer_adapter_conf *conf,
>  		rte_event_timer_adapter_port_conf_cb_t conf_cb, @@ -235,7
> +235,7 @@ rte_event_timer_adapter_create_ext(
>  	return NULL;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_get_info(const struct rte_event_timer_adapter
> *adapter,
>  		struct rte_event_timer_adapter_info *adapter_info)  { @@ -
> 253,7 +253,7 @@ rte_event_timer_adapter_get_info(const struct
> rte_event_timer_adapter *adapter,
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
> {
>  	int ret;
> @@ -276,7 +276,7 @@ rte_event_timer_adapter_start(const struct
> rte_event_timer_adapter *adapter)
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
> {
>  	int ret;
> @@ -299,7 +299,7 @@ rte_event_timer_adapter_stop(const struct
> rte_event_timer_adapter *adapter)
>  	return 0;
>  }
> 
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_lookup(uint16_t adapter_id)  {
>  	char name[DATA_MZ_NAME_MAX_LEN];
> @@ -352,7 +352,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id)
>  	return adapter;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)  {
>  	int ret;
> @@ -382,7 +382,7 @@ rte_event_timer_adapter_free(struct
> rte_event_timer_adapter *adapter)
>  	return 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter
> *adapter,
>  				       uint32_t *service_id)
>  {
> @@ -394,7 +394,7 @@ rte_event_timer_adapter_service_id_get(struct
> rte_event_timer_adapter *adapter,
>  	return adapter->data->service_inited ? 0 : -ESRCH;  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
>  				  struct rte_event_timer_adapter_stats *stats)
> { @@ -406,7 +406,7 @@ rte_event_timer_adapter_stats_get(struct
> rte_event_timer_adapter *adapter,
>  	return adapter->ops->stats_get(adapter, stats);  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter
> *adapter)  {
>  	ADAPTER_VALID_OR_ERR_RET(adapter, -EINVAL); diff --git
> a/lib/librte_eventdev/rte_event_timer_adapter.h
> b/lib/librte_eventdev/rte_event_timer_adapter.h
> index 1b446c392..7f6dc5c29 100644
> --- a/lib/librte_eventdev/rte_event_timer_adapter.h
> +++ b/lib/librte_eventdev/rte_event_timer_adapter.h
> @@ -117,9 +117,6 @@ extern "C" {
>  #include "rte_eventdev.h"
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this enum may change without prior notice
> - *
>   * Timer adapter clock source
>   */
>  enum rte_event_timer_adapter_clk_src {
> @@ -154,9 +151,6 @@ enum rte_event_timer_adapter_clk_src {
>   */
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Timer adapter configuration structure
>   */
>  struct rte_event_timer_adapter_conf {
> @@ -179,9 +173,6 @@ struct rte_event_timer_adapter_conf {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Event timer adapter stats structure
>   */
>  struct rte_event_timer_adapter_stats {
> @@ -200,9 +191,6 @@ struct rte_event_timer_adapter_stats {  struct
> rte_event_timer_adapter;
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Callback function type for producer port creation.
>   */
>  typedef int (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id, @@ -
> 211,9 +199,6 @@ typedef int
> (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
>  						      void *conf_arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create an event timer adapter.
>   *
>   * This function must be invoked first before any other function in the API.
> @@ -235,13 +220,10 @@ typedef int
> (*rte_event_timer_adapter_port_conf_cb_t)(uint16_t id,
>   *   before this call, this error code indicates an error in restart following
>   *   an error in reconfiguration, i.e., a combination of the two error codes.
>   */
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_create(const struct rte_event_timer_adapter_conf
> *conf);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Create a timer adapter with the supplied callback.
>   *
>   * This function can be used to have a more granular control over the timer @@
> -265,16 +247,13 @@ rte_event_timer_adapter_create(const struct
> rte_event_timer_adapter_conf *conf);
>   *   - EINVAL: invalid event device identifier specified in config
>   *   - ENOSPC: maximum number of adapters already created
>   */
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_create_ext(
>  		const struct rte_event_timer_adapter_conf *conf,
>  		rte_event_timer_adapter_port_conf_cb_t conf_cb,
>  		void *conf_arg);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Timer adapter info structure.
>   */
>  struct rte_event_timer_adapter_info {
> @@ -291,9 +270,6 @@ struct rte_event_timer_adapter_info {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the contextual information of an event timer adapter.
>   *
>   * @param adapter
> @@ -313,15 +289,12 @@ struct rte_event_timer_adapter_info {
>   *   struct rte_event_timer_adapter_info
>   *
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_get_info(
>  		const struct rte_event_timer_adapter *adapter,
>  		struct rte_event_timer_adapter_info *adapter_info);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Start a timer adapter.
>   *
>   * The adapter start step is the last one and consists of setting the timer @@ -
> 345,14 +318,11 @@ rte_event_timer_adapter_get_info(
>   *  The eventdev to which the event_timer_adapter is connected needs to
>   *  be started before calling rte_event_timer_adapter_start().
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_start(
>  		const struct rte_event_timer_adapter *adapter);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Stop an event timer adapter.
>   *
>   * The adapter can be restarted with a call to @@ -366,13 +336,10 @@
> rte_event_timer_adapter_start(
>   *   - <0: Error code returned by the driver stop function.
>   *   - -EINVAL if adapter identifier invalid
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stop(const struct rte_event_timer_adapter
> *adapter);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Lookup an event timer adapter using its identifier.
>   *
>   * If an event timer adapter was created in another process with the same @@ -
> 388,13 +355,10 @@ rte_event_timer_adapter_stop(const struct
> rte_event_timer_adapter *adapter);
>   *  Possible rte_errno values include:
>   *   - ENOENT - requested entry not available to return.
>   */
> -struct rte_event_timer_adapter * __rte_experimental
> +struct rte_event_timer_adapter *
>  rte_event_timer_adapter_lookup(uint16_t adapter_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Free an event timer adapter.
>   *
>   * Destroy an event timer adapter, freeing all resources.
> @@ -412,7 +376,7 @@ rte_event_timer_adapter_lookup(uint16_t adapter_id);
>   *   - -EBUSY: stop hasn't been called for this adapter yet
>   *   - -EINVAL: adapter id invalid, or adapter invalid
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter);
> 
>  /**
> @@ -430,14 +394,11 @@ rte_event_timer_adapter_free(struct
> rte_event_timer_adapter *adapter);
>   *   - <0: Error code on failure
>   *   - -ESRCH: the adapter does not require a service to operate
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_service_id_get(struct rte_event_timer_adapter
> *adapter,
>  				       uint32_t *service_id);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve statistics for an event timer adapter instance.
>   *
>   * @param adapter
> @@ -449,14 +410,11 @@ rte_event_timer_adapter_service_id_get(struct
> rte_event_timer_adapter *adapter,
>   *   - 0: Successfully retrieved.
>   *   - <0: Failure; error code returned.
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stats_get(struct rte_event_timer_adapter *adapter,
>  		struct rte_event_timer_adapter_stats *stats);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Reset statistics for an event timer adapter instance.
>   *
>   * @param adapter
> @@ -466,13 +424,10 @@ rte_event_timer_adapter_stats_get(struct
> rte_event_timer_adapter *adapter,
>   *   - 0: Successfully reset;
>   *   - <0: Failure; error code returned.
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter
> *adapter);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * Event timer state.
>   */
>  enum rte_event_timer_state {
> @@ -493,9 +448,6 @@ enum rte_event_timer_state {  };
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this structure may change without prior notice
> - *
>   * The generic *rte_event_timer* structure to hold the event timer attributes
>   * for arm and cancel operations.
>   */
> @@ -588,9 +540,6 @@ struct rte_event_timer_adapter {  } while (0)
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Arm a burst of event timers with separate expiration timeout tick for each
>   * event timer.
>   *
> @@ -621,7 +570,7 @@ struct rte_event_timer_adapter {
>   *   - EAGAIN Specified timer adapter is not running
>   *   - EALREADY A timer was encountered that was already armed
>   */
> -static inline uint16_t __rte_experimental
> +static inline uint16_t
>  rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
>  			  struct rte_event_timer **evtims,
>  			  uint16_t nb_evtims)
> @@ -634,9 +583,6 @@ rte_event_timer_arm_burst(const struct
> rte_event_timer_adapter *adapter,  }
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Arm a burst of event timers with same expiration timeout tick.
>   *
>   * Provides the same functionality as ``rte_event_timer_arm_burst()``, except
> @@ -665,7 +611,7 @@ rte_event_timer_arm_burst(const struct
> rte_event_timer_adapter *adapter,
>   *   - EAGAIN Specified event timer adapter is not running
>   *   - EALREADY A timer was encountered that was already armed
>   */
> -static inline uint16_t __rte_experimental
> +static inline uint16_t
>  rte_event_timer_arm_tmo_tick_burst(
>  			const struct rte_event_timer_adapter *adapter,
>  			struct rte_event_timer **evtims,
> @@ -681,9 +627,6 @@ rte_event_timer_arm_tmo_tick_burst(
>  }
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Cancel a burst of event timers from being scheduled to the event device.
>   *
>   * @param adapter
> @@ -703,7 +646,7 @@ rte_event_timer_arm_tmo_tick_burst(
>   *   - EAGAIN Specified timer adapter is not running
>   *   - EALREADY  A timer was encountered that was already canceled
>   */
> -static inline uint16_t __rte_experimental
> +static inline uint16_t
>  rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
>  			     struct rte_event_timer **evtims,
>  			     uint16_t nb_evtims)
> diff --git a/lib/librte_eventdev/rte_eventdev.c
> b/lib/librte_eventdev/rte_eventdev.c
> index 3bd571a87..cc3199fb6 100644
> --- a/lib/librte_eventdev/rte_eventdev.c
> +++ b/lib/librte_eventdev/rte_eventdev.c
> @@ -129,7 +129,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id,
> uint16_t eth_port_id,
>  				: 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps)  {
>  	struct rte_eventdev *dev;
> @@ -151,7 +151,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id,
> uint32_t *caps)
>  				: 0;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
>  				  uint32_t *caps)
>  {
> @@ -174,7 +174,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id,
> uint8_t cdev_id,
>  		(dev, cdev, caps) : -ENOTSUP;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
>  				uint32_t *caps)
>  {
> @@ -1004,7 +1004,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t
> port_id,
>  	return diag;
>  }
> 
> -int __rte_experimental
> +int
>  rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id)  {
>  	struct rte_eventdev *dev;
> diff --git a/lib/librte_eventdev/rte_eventdev.h
> b/lib/librte_eventdev/rte_eventdev.h
> index ef10a855d..62edc09a4 100644
> --- a/lib/librte_eventdev/rte_eventdev.h
> +++ b/lib/librte_eventdev/rte_eventdev.h
> @@ -1131,7 +1131,7 @@ rte_event_eth_rx_adapter_caps_get(uint8_t dev_id,
> uint16_t eth_port_id,
>   *   - 0: Success, driver provided event timer adapter capabilities.
>   *   - <0: Error code returned by the driver function.
>   */
> -int __rte_experimental
> +int
>  rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
> 
>  /* Crypto adapter capability bitmap flag */ @@ -1160,9 +1160,6 @@
> rte_event_timer_adapter_caps_get(uint8_t dev_id, uint32_t *caps);
>   */
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Retrieve the event device's crypto adapter capabilities for the
>   * specified cryptodev device
>   *
> @@ -1182,7 +1179,7 @@ rte_event_timer_adapter_caps_get(uint8_t dev_id,
> uint32_t *caps);
>   *   - <0: Error code returned by the driver function.
>   *
>   */
> -int __rte_experimental
> +int
>  rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
>  				  uint32_t *caps);
> 
> @@ -1208,7 +1205,7 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id,
> uint8_t cdev_id,
>   *   - <0: Error code returned by the driver function.
>   *
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
>  				uint32_t *caps);
> 
> @@ -1726,9 +1723,6 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t
> port_id,
>  		      uint8_t queues[], uint16_t nb_unlinks);
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Returns the number of unlinks in progress.
>   *
>   * This function provides the application with a method to detect when an @@ -
> 1749,7 +1743,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
>   * A negative return value indicates an error, -EINVAL indicates an invalid
>   * parameter passed for *dev_id* or *port_id*.
>   */
> -int __rte_experimental
> +int
>  rte_event_port_unlinks_in_progress(uint8_t dev_id, uint8_t port_id);
> 
>  /**
> diff --git a/lib/librte_eventdev/rte_eventdev_version.map
> b/lib/librte_eventdev/rte_eventdev_version.map
> index d558d7d5f..88c3ce513 100644
> --- a/lib/librte_eventdev/rte_eventdev_version.map
> +++ b/lib/librte_eventdev/rte_eventdev_version.map
> @@ -80,7 +80,7 @@ DPDK_18.05 {
>  	rte_event_dev_stop_flush_callback_register;
>  } DPDK_18.02;
> 
> -EXPERIMENTAL {
> +DPDK_19.05 {
>  	global:
> 
>  	rte_event_crypto_adapter_caps_get;
> @@ -123,4 +123,4 @@ EXPERIMENTAL {
>  	rte_event_timer_arm_burst;
>  	rte_event_timer_arm_tmo_tick_burst;
>  	rte_event_timer_cancel_burst;
> -};
> +} DPDK_18.05;
> --
> 2.21.0

Acked-by: Abhinandan Gujjar <Abhinandan.gujjar@intel.com>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
  2019-04-21 12:44   ` Gujjar, Abhinandan S
  2019-04-21 12:44     ` Gujjar, Abhinandan S
@ 2019-04-22 11:15     ` Thomas Monjalon
  2019-04-22 11:15       ` Thomas Monjalon
  1 sibling, 1 reply; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-22 11:15 UTC (permalink / raw)
  To: jerinj
  Cc: dev, Gujjar, Abhinandan S, Mattias Rönnblom, Van Haaren,
	Harry, Rao, Nikhil, Carrillo, Erik G, pbhagavatula,
	hemant.agrawal, nipun.gupta, Ma, Liang J

> > Promote the adapter functions and rte_event_port_unlinks_in_progress()
> > as stable as it's been added for a while now and multiple drivers and test
> > application like test-eventdev has been tested using the adapter APIs.
> > 
> > Cc: nikhil.rao@intel.com
> > Cc: erik.g.carrillo@intel.com
> > Cc: abhinandan.gujjar@intel.com
> > Cc: pbhagavatula@marvell.com
> > Cc: hemant.agrawal@nxp.com
> > Cc: nipun.gupta@nxp.com
> > Cc: harry.van.haaren@intel.com
> > Cc: mattias.ronnblom@ericsson.com
> > Cc: liang.j.ma@intel.com
> > 
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> Acked-by: Abhinandan Gujjar <Abhinandan.gujjar@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>

Applied, thanks

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
  2019-04-22 11:15     ` Thomas Monjalon
@ 2019-04-22 11:15       ` Thomas Monjalon
  0 siblings, 0 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-22 11:15 UTC (permalink / raw)
  To: jerinj
  Cc: dev, Gujjar, Abhinandan S, Mattias Rönnblom, Van Haaren,
	Harry, Rao, Nikhil, Carrillo, Erik G, pbhagavatula,
	hemant.agrawal, nipun.gupta, Ma, Liang J

> > Promote the adapter functions and rte_event_port_unlinks_in_progress()
> > as stable as it's been added for a while now and multiple drivers and test
> > application like test-eventdev has been tested using the adapter APIs.
> > 
> > Cc: nikhil.rao@intel.com
> > Cc: erik.g.carrillo@intel.com
> > Cc: abhinandan.gujjar@intel.com
> > Cc: pbhagavatula@marvell.com
> > Cc: hemant.agrawal@nxp.com
> > Cc: nipun.gupta@nxp.com
> > Cc: harry.van.haaren@intel.com
> > Cc: mattias.ronnblom@ericsson.com
> > Cc: liang.j.ma@intel.com
> > 
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> Acked-by: Abhinandan Gujjar <Abhinandan.gujjar@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>

Applied, thanks



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
  2019-04-19 12:10 ` [dpdk-dev] [PATCH v2] " jerinj
  2019-04-19 12:10   ` jerinj
  2019-04-21 12:44   ` Gujjar, Abhinandan S
@ 2019-04-22 11:32   ` Rao, Nikhil
  2019-04-22 11:32     ` Rao, Nikhil
  2019-04-22 12:48     ` Thomas Monjalon
  2 siblings, 2 replies; 16+ messages in thread
From: Rao, Nikhil @ 2019-04-22 11:32 UTC (permalink / raw)
  To: jerinj, dev, Thomas Monjalon, Mattias Rönnblom, Van Haaren,
	Harry, Gujjar, Abhinandan S, Carrillo, Erik G
  Cc: pbhagavatula, hemant.agrawal, nipun.gupta, Ma, Liang J



> -----Original Message-----
> From: jerinj@marvell.com [mailto:jerinj@marvell.com]
> Sent: Friday, April 19, 2019 5:41 PM
> To: dev@dpdk.org; Thomas Monjalon <thomas@monjalon.net>; Jerin Jacob
> <jerinj@marvell.com>; Mattias Rönnblom
> <mattias.ronnblom@ericsson.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>;
> Carrillo, Erik G <erik.g.carrillo@intel.com>
> Cc: pbhagavatula@marvell.com; hemant.agrawal@nxp.com;
> nipun.gupta@nxp.com; Ma, Liang J <liang.j.ma@intel.com>
> Subject: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as
> stable
> 
> From: Jerin Jacob <jerinj@marvell.com>
> 
> Promote the adapter functions and rte_event_port_unlinks_in_progress()
> as stable as it's been added for a while now and multiple drivers and test
> application like test-eventdev has been tested using the adapter APIs.
> 
> Cc: nikhil.rao@intel.com
> Cc: erik.g.carrillo@intel.com
> Cc: abhinandan.gujjar@intel.com
> Cc: pbhagavatula@marvell.com
> Cc: hemant.agrawal@nxp.com
> Cc: nipun.gupta@nxp.com
> Cc: harry.van.haaren@intel.com
> Cc: mattias.ronnblom@ericsson.com
> Cc: liang.j.ma@intel.com
> 
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
> 
> allow experimental api still set to true for following drivers.
> 
> drivers/event/sw - due to usage of rte_service_may_be_active() API
> drivers/event/dpaa[2] - due to usage of rte_mem_iova2virt() API
> 
> 
> v2:
> - Remove  @warning  EXPERIMENTAL from API(Erik)
> 
> ---
>  MAINTAINERS                                   |  8 +-
>  app/test-eventdev/Makefile                    |  1 -
>  app/test-eventdev/meson.build                 |  1 -
>  drivers/event/dsw/Makefile                    |  1 -
>  drivers/event/dsw/meson.build                 |  1 -
>  drivers/event/octeontx/Makefile               |  1 -
>  drivers/event/octeontx/meson.build            |  1 -
>  examples/eventdev_pipeline/Makefile           |  2 -
>  examples/eventdev_pipeline/meson.build        |  1 -
>  .../rte_event_crypto_adapter.c                | 22 ++---
>  .../rte_event_crypto_adapter.h                | 73 +++-------------
>  .../rte_event_eth_rx_adapter.h                | 50 +----------
>  .../rte_event_eth_tx_adapter.c                | 22 ++---
>  .../rte_event_eth_tx_adapter.h                | 76 ++++-------------
>  lib/librte_eventdev/rte_event_timer_adapter.c | 20 ++---
> lib/librte_eventdev/rte_event_timer_adapter.h | 83 +++----------------
>  lib/librte_eventdev/rte_eventdev.c            |  8 +-
>  lib/librte_eventdev/rte_eventdev.h            | 14 +---
>  lib/librte_eventdev/rte_eventdev_version.map  |  4 +-
>  19 files changed, 85 insertions(+), 304 deletions(-)
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Register callback to process Rx packets, this is supported for
>   * SW based packet transfers.
>   * @see rte_event_eth_rx_cb_fn
> @@ -501,7 +453,7 @@ int
> rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
>   *  - 0: Success
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_rx_adapter_cb_register(uint8_t id,
>  				uint16_t eth_dev_id,
>  				rte_event_eth_rx_adapter_cb_fn cb_fn, 

Sorry for the delay in reply, I would like to retain the rte_event_eth_rx_adapter_cb_register() function as experimental. 
I will be posting a patch for this function to accept events instead of mbufs.

Since Thomas just applied the patch, should I be posting a new patch that reverts the lines above ?

Nikhil

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
  2019-04-22 11:32   ` Rao, Nikhil
@ 2019-04-22 11:32     ` Rao, Nikhil
  2019-04-22 12:48     ` Thomas Monjalon
  1 sibling, 0 replies; 16+ messages in thread
From: Rao, Nikhil @ 2019-04-22 11:32 UTC (permalink / raw)
  To: jerinj, dev, Thomas Monjalon, Mattias Rönnblom, Van Haaren,
	Harry, Gujjar, Abhinandan S, Carrillo, Erik G
  Cc: pbhagavatula, hemant.agrawal, nipun.gupta, Ma, Liang J

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 3693 bytes --]



> -----Original Message-----
> From: jerinj@marvell.com [mailto:jerinj@marvell.com]
> Sent: Friday, April 19, 2019 5:41 PM
> To: dev@dpdk.org; Thomas Monjalon <thomas@monjalon.net>; Jerin Jacob
> <jerinj@marvell.com>; Mattias Rönnblom
> <mattias.ronnblom@ericsson.com>; Van Haaren, Harry
> <harry.van.haaren@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Rao, Nikhil <nikhil.rao@intel.com>;
> Carrillo, Erik G <erik.g.carrillo@intel.com>
> Cc: pbhagavatula@marvell.com; hemant.agrawal@nxp.com;
> nipun.gupta@nxp.com; Ma, Liang J <liang.j.ma@intel.com>
> Subject: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as
> stable
> 
> From: Jerin Jacob <jerinj@marvell.com>
> 
> Promote the adapter functions and rte_event_port_unlinks_in_progress()
> as stable as it's been added for a while now and multiple drivers and test
> application like test-eventdev has been tested using the adapter APIs.
> 
> Cc: nikhil.rao@intel.com
> Cc: erik.g.carrillo@intel.com
> Cc: abhinandan.gujjar@intel.com
> Cc: pbhagavatula@marvell.com
> Cc: hemant.agrawal@nxp.com
> Cc: nipun.gupta@nxp.com
> Cc: harry.van.haaren@intel.com
> Cc: mattias.ronnblom@ericsson.com
> Cc: liang.j.ma@intel.com
> 
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
> 
> allow experimental api still set to true for following drivers.
> 
> drivers/event/sw - due to usage of rte_service_may_be_active() API
> drivers/event/dpaa[2] - due to usage of rte_mem_iova2virt() API
> 
> 
> v2:
> - Remove  @warning  EXPERIMENTAL from API(Erik)
> 
> ---
>  MAINTAINERS                                   |  8 +-
>  app/test-eventdev/Makefile                    |  1 -
>  app/test-eventdev/meson.build                 |  1 -
>  drivers/event/dsw/Makefile                    |  1 -
>  drivers/event/dsw/meson.build                 |  1 -
>  drivers/event/octeontx/Makefile               |  1 -
>  drivers/event/octeontx/meson.build            |  1 -
>  examples/eventdev_pipeline/Makefile           |  2 -
>  examples/eventdev_pipeline/meson.build        |  1 -
>  .../rte_event_crypto_adapter.c                | 22 ++---
>  .../rte_event_crypto_adapter.h                | 73 +++-------------
>  .../rte_event_eth_rx_adapter.h                | 50 +----------
>  .../rte_event_eth_tx_adapter.c                | 22 ++---
>  .../rte_event_eth_tx_adapter.h                | 76 ++++-------------
>  lib/librte_eventdev/rte_event_timer_adapter.c | 20 ++---
> lib/librte_eventdev/rte_event_timer_adapter.h | 83 +++----------------
>  lib/librte_eventdev/rte_eventdev.c            |  8 +-
>  lib/librte_eventdev/rte_eventdev.h            | 14 +---
>  lib/librte_eventdev/rte_eventdev_version.map  |  4 +-
>  19 files changed, 85 insertions(+), 304 deletions(-)
> 
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Register callback to process Rx packets, this is supported for
>   * SW based packet transfers.
>   * @see rte_event_eth_rx_cb_fn
> @@ -501,7 +453,7 @@ int
> rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
>   *  - 0: Success
>   *  - <0: Error code on failure.
>   */
> -int __rte_experimental
> +int
>  rte_event_eth_rx_adapter_cb_register(uint8_t id,
>  				uint16_t eth_dev_id,
>  				rte_event_eth_rx_adapter_cb_fn cb_fn, 

Sorry for the delay in reply, I would like to retain the rte_event_eth_rx_adapter_cb_register() function as experimental. 
I will be posting a patch for this function to accept events instead of mbufs.

Since Thomas just applied the patch, should I be posting a new patch that reverts the lines above ?

Nikhil

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
  2019-04-22 11:32   ` Rao, Nikhil
  2019-04-22 11:32     ` Rao, Nikhil
@ 2019-04-22 12:48     ` Thomas Monjalon
  2019-04-22 12:48       ` Thomas Monjalon
  1 sibling, 1 reply; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-22 12:48 UTC (permalink / raw)
  To: Rao, Nikhil
  Cc: jerinj, dev, Mattias Rönnblom, Van Haaren, Harry, Gujjar,
	Abhinandan S, Carrillo, Erik G, pbhagavatula, hemant.agrawal,
	nipun.gupta, Ma, Liang J

> > Promote the adapter functions and rte_event_port_unlinks_in_progress()
> > as stable as it's been added for a while now and multiple drivers and test
> > application like test-eventdev has been tested using the adapter APIs.
> > 
> > Cc: nikhil.rao@intel.com
> > Cc: erik.g.carrillo@intel.com
> > Cc: abhinandan.gujjar@intel.com
> > Cc: pbhagavatula@marvell.com
> > Cc: hemant.agrawal@nxp.com
> > Cc: nipun.gupta@nxp.com
> > Cc: harry.van.haaren@intel.com
> > Cc: mattias.ronnblom@ericsson.com
> > Cc: liang.j.ma@intel.com
> > 
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> >  /**
> > - * @warning
> > - * @b EXPERIMENTAL: this API may change without prior notice
> > - *
> >   * Register callback to process Rx packets, this is supported for
> >   * SW based packet transfers.
> >   * @see rte_event_eth_rx_cb_fn
> > @@ -501,7 +453,7 @@ int
> > rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
> >   *  - 0: Success
> >   *  - <0: Error code on failure.
> >   */
> > -int __rte_experimental
> > +int
> >  rte_event_eth_rx_adapter_cb_register(uint8_t id,
> >  				uint16_t eth_dev_id,
> >  				rte_event_eth_rx_adapter_cb_fn cb_fn, 
> 
> Sorry for the delay in reply, I would like to retain the rte_event_eth_rx_adapter_cb_register() function as experimental. 
> I will be posting a patch for this function to accept events instead of mbufs.
> 
> Since Thomas just applied the patch, should I be posting a new patch that reverts the lines above ?

Sorry I hesitated to wait more for your feedback.
Guessing the right time to apply a patch is a difficult heuristic :)
Yes please send a patch to revert for this function.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [dpdk-dev] [PATCH v2] eventdev: promote adapter functions as stable
  2019-04-22 12:48     ` Thomas Monjalon
@ 2019-04-22 12:48       ` Thomas Monjalon
  0 siblings, 0 replies; 16+ messages in thread
From: Thomas Monjalon @ 2019-04-22 12:48 UTC (permalink / raw)
  To: Rao, Nikhil
  Cc: jerinj, dev, Mattias Rönnblom, Van Haaren, Harry, Gujjar,
	Abhinandan S, Carrillo, Erik G, pbhagavatula, hemant.agrawal,
	nipun.gupta, Ma, Liang J

> > Promote the adapter functions and rte_event_port_unlinks_in_progress()
> > as stable as it's been added for a while now and multiple drivers and test
> > application like test-eventdev has been tested using the adapter APIs.
> > 
> > Cc: nikhil.rao@intel.com
> > Cc: erik.g.carrillo@intel.com
> > Cc: abhinandan.gujjar@intel.com
> > Cc: pbhagavatula@marvell.com
> > Cc: hemant.agrawal@nxp.com
> > Cc: nipun.gupta@nxp.com
> > Cc: harry.van.haaren@intel.com
> > Cc: mattias.ronnblom@ericsson.com
> > Cc: liang.j.ma@intel.com
> > 
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> >  /**
> > - * @warning
> > - * @b EXPERIMENTAL: this API may change without prior notice
> > - *
> >   * Register callback to process Rx packets, this is supported for
> >   * SW based packet transfers.
> >   * @see rte_event_eth_rx_cb_fn
> > @@ -501,7 +453,7 @@ int
> > rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id);
> >   *  - 0: Success
> >   *  - <0: Error code on failure.
> >   */
> > -int __rte_experimental
> > +int
> >  rte_event_eth_rx_adapter_cb_register(uint8_t id,
> >  				uint16_t eth_dev_id,
> >  				rte_event_eth_rx_adapter_cb_fn cb_fn, 
> 
> Sorry for the delay in reply, I would like to retain the rte_event_eth_rx_adapter_cb_register() function as experimental. 
> I will be posting a patch for this function to accept events instead of mbufs.
> 
> Since Thomas just applied the patch, should I be posting a new patch that reverts the lines above ?

Sorry I hesitated to wait more for your feedback.
Guessing the right time to apply a patch is a difficult heuristic :)
Yes please send a patch to revert for this function.




^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-04-22 12:48 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-18 12:05 [dpdk-dev] [PATCH] eventdev: promote adapter functions as stable jerinj
2019-04-18 12:05 ` jerinj
2019-04-18 21:47 ` Carrillo, Erik G
2019-04-18 21:47   ` Carrillo, Erik G
2019-04-19 10:53   ` Jerin Jacob Kollanukkaran
2019-04-19 10:53     ` Jerin Jacob Kollanukkaran
2019-04-19 12:10 ` [dpdk-dev] [PATCH v2] " jerinj
2019-04-19 12:10   ` jerinj
2019-04-21 12:44   ` Gujjar, Abhinandan S
2019-04-21 12:44     ` Gujjar, Abhinandan S
2019-04-22 11:15     ` Thomas Monjalon
2019-04-22 11:15       ` Thomas Monjalon
2019-04-22 11:32   ` Rao, Nikhil
2019-04-22 11:32     ` Rao, Nikhil
2019-04-22 12:48     ` Thomas Monjalon
2019-04-22 12:48       ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).