summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <stephen@networkplumber.org>2023-10-23 19:54:10 -0700
committerDavid Marchand <david.marchand@redhat.com>2023-11-13 16:46:33 +0100
commit4d6f50c48fb929619757d0d9f81729c2a673d78c (patch)
treee8f4789cd87cd93baa224da51afeb2cd144b3ee8
parente00375c3f33256d6d3abe3b193e54ff902f20c7c (diff)
dmadev: promote API as stable
These were added in 20.11 time now to remove experimental flag. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
-rw-r--r--MAINTAINERS2
-rw-r--r--lib/dmadev/rte_dmadev.h86
-rw-r--r--lib/dmadev/version.map2
3 files changed, 2 insertions, 88 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 4517fe6e80..f83333c453 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -484,7 +484,7 @@ F: doc/guides/prog_guide/mldev.rst
F: app/test-mldev/
F: doc/guides/tools/testmldev.rst
-DMA device API - EXPERIMENTAL
+DMA device API
M: Chengwen Feng <fengchengwen@huawei.com>
F: lib/dmadev/
F: drivers/dma/skeleton/
diff --git a/lib/dmadev/rte_dmadev.h b/lib/dmadev/rte_dmadev.h
index 493263a5d6..450b81c307 100644
--- a/lib/dmadev/rte_dmadev.h
+++ b/lib/dmadev/rte_dmadev.h
@@ -148,7 +148,6 @@
#include <rte_bitops.h>
#include <rte_common.h>
-#include <rte_compat.h>
#ifdef __cplusplus
extern "C" {
@@ -158,9 +157,6 @@ extern "C" {
#define RTE_DMADEV_DEFAULT_MAX 64
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Configure the maximum number of dmadevs.
* @note This function can be invoked before the primary process rte_eal_init()
* to change the maximum number of dmadevs. If not invoked, the maximum number
@@ -172,13 +168,9 @@ extern "C" {
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_dma_dev_max(size_t dev_max);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Get the device identifier for the named DMA device.
*
* @param name
@@ -188,13 +180,9 @@ int rte_dma_dev_max(size_t dev_max);
* Returns DMA device identifier on success.
* - <0: Failure to find named DMA device.
*/
-__rte_experimental
int rte_dma_get_dev_id_by_name(const char *name);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Check whether the dev_id is valid.
*
* @param dev_id
@@ -203,20 +191,15 @@ int rte_dma_get_dev_id_by_name(const char *name);
* @return
* - If the device index is valid (true) or not (false).
*/
-__rte_experimental
bool rte_dma_is_valid(int16_t dev_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Get the total number of DMA devices that have been successfully
* initialised.
*
* @return
* The total number of usable DMA devices.
*/
-__rte_experimental
uint16_t rte_dma_count_avail(void);
/**
@@ -227,7 +210,6 @@ uint16_t rte_dma_count_avail(void);
* @return
* Next valid dmadev, UINT16_MAX if there is none.
*/
-__rte_experimental
int16_t rte_dma_next_dev(int16_t start_dev_id);
/** Utility macro to iterate over all available dmadevs */
@@ -318,9 +300,6 @@ struct rte_dma_info {
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Retrieve information of a DMA device.
*
* @param dev_id
@@ -332,7 +311,6 @@ struct rte_dma_info {
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_dma_info_get(int16_t dev_id, struct rte_dma_info *dev_info);
/**
@@ -357,9 +335,6 @@ struct rte_dma_conf {
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Configure a DMA device.
*
* This function must be invoked first before any other function in the
@@ -375,13 +350,9 @@ struct rte_dma_conf {
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_dma_configure(int16_t dev_id, const struct rte_dma_conf *dev_conf);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Start a DMA device.
*
* The device start step is the last one and consists of setting the DMA
@@ -393,13 +364,9 @@ int rte_dma_configure(int16_t dev_id, const struct rte_dma_conf *dev_conf);
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_dma_start(int16_t dev_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Stop a DMA device.
*
* The device can be restarted with a call to rte_dma_start().
@@ -410,13 +377,9 @@ int rte_dma_start(int16_t dev_id);
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_dma_stop(int16_t dev_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Close a DMA device.
*
* The device cannot be restarted after this call.
@@ -427,7 +390,6 @@ int rte_dma_stop(int16_t dev_id);
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_dma_close(int16_t dev_id);
/**
@@ -620,9 +582,6 @@ struct rte_dma_vchan_conf {
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Allocate and set up a virtual DMA channel.
*
* @param dev_id
@@ -637,7 +596,6 @@ struct rte_dma_vchan_conf {
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_dma_vchan_setup(int16_t dev_id, uint16_t vchan,
const struct rte_dma_vchan_conf *conf);
@@ -666,9 +624,6 @@ struct rte_dma_stats {
#define RTE_DMA_ALL_VCHAN 0xFFFFu
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Retrieve basic statistics of a or all virtual DMA channel(s).
*
* @param dev_id
@@ -683,14 +638,10 @@ struct rte_dma_stats {
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_dma_stats_get(int16_t dev_id, uint16_t vchan,
struct rte_dma_stats *stats);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Reset basic statistics of a or all virtual DMA channel(s).
*
* @param dev_id
@@ -702,7 +653,6 @@ int rte_dma_stats_get(int16_t dev_id, uint16_t vchan,
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_dma_stats_reset(int16_t dev_id, uint16_t vchan);
/**
@@ -718,9 +668,6 @@ enum rte_dma_vchan_status {
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Determine if all jobs have completed on a device channel.
* This function is primarily designed for testing use, as it allows a process to check if
* all jobs are completed, without actually gathering completions from those jobs.
@@ -735,14 +682,10 @@ enum rte_dma_vchan_status {
* 0 - call completed successfully
* < 0 - error code indicating there was a problem calling the API
*/
-__rte_experimental
int
rte_dma_vchan_status(int16_t dev_id, uint16_t vchan, enum rte_dma_vchan_status *status);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Dump DMA device info.
*
* @param dev_id
@@ -753,7 +696,6 @@ rte_dma_vchan_status(int16_t dev_id, uint16_t vchan, enum rte_dma_vchan_status *
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
int rte_dma_dump(int16_t dev_id, FILE *f);
/**
@@ -864,9 +806,6 @@ struct rte_dma_sge {
/**@}*/
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Enqueue a copy operation onto the virtual DMA channel.
*
* This queues up a copy operation to be performed by hardware, if the 'flags'
@@ -892,7 +831,6 @@ struct rte_dma_sge {
* - -ENOSPC: if no space left to enqueue.
* - other values < 0 on failure.
*/
-__rte_experimental
static inline int
rte_dma_copy(int16_t dev_id, uint16_t vchan, rte_iova_t src, rte_iova_t dst,
uint32_t length, uint64_t flags)
@@ -910,9 +848,6 @@ rte_dma_copy(int16_t dev_id, uint16_t vchan, rte_iova_t src, rte_iova_t dst,
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Enqueue a scatter-gather list copy operation onto the virtual DMA channel.
*
* This queues up a scatter-gather list copy operation to be performed by
@@ -942,7 +877,6 @@ rte_dma_copy(int16_t dev_id, uint16_t vchan, rte_iova_t src, rte_iova_t dst,
* - -ENOSPC: if no space left to enqueue.
* - other values < 0 on failure.
*/
-__rte_experimental
static inline int
rte_dma_copy_sg(int16_t dev_id, uint16_t vchan, struct rte_dma_sge *src,
struct rte_dma_sge *dst, uint16_t nb_src, uint16_t nb_dst,
@@ -963,9 +897,6 @@ rte_dma_copy_sg(int16_t dev_id, uint16_t vchan, struct rte_dma_sge *src,
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Enqueue a fill operation onto the virtual DMA channel.
*
* This queues up a fill operation to be performed by hardware, if the 'flags'
@@ -991,7 +922,6 @@ rte_dma_copy_sg(int16_t dev_id, uint16_t vchan, struct rte_dma_sge *src,
* - -ENOSPC: if no space left to enqueue.
* - other values < 0 on failure.
*/
-__rte_experimental
static inline int
rte_dma_fill(int16_t dev_id, uint16_t vchan, uint64_t pattern,
rte_iova_t dst, uint32_t length, uint64_t flags)
@@ -1010,9 +940,6 @@ rte_dma_fill(int16_t dev_id, uint16_t vchan, uint64_t pattern,
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Trigger hardware to begin performing enqueued operations.
*
* Writes the "doorbell" to the hardware to trigger it
@@ -1026,7 +953,6 @@ rte_dma_fill(int16_t dev_id, uint16_t vchan, uint64_t pattern,
* @return
* 0 on success. Otherwise negative value is returned.
*/
-__rte_experimental
static inline int
rte_dma_submit(int16_t dev_id, uint16_t vchan)
{
@@ -1043,9 +969,6 @@ rte_dma_submit(int16_t dev_id, uint16_t vchan)
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Return the number of operations that have been successfully completed.
* Once an operation has been reported as completed, the results of that
* operation will be visible to all cores on the system.
@@ -1067,7 +990,6 @@ rte_dma_submit(int16_t dev_id, uint16_t vchan)
* The number of operations that successfully completed. This return value
* must be less than or equal to the value of nb_cpls.
*/
-__rte_experimental
static inline uint16_t
rte_dma_completed(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls,
uint16_t *last_idx, bool *has_error)
@@ -1102,9 +1024,6 @@ rte_dma_completed(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls,
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Return the number of operations that have been completed, and the operations
* result may succeed or fail.
* Once an operation has been reported as completed successfully, the results of that
@@ -1130,7 +1049,6 @@ rte_dma_completed(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls,
* If this number is greater than zero (assuming n), then n values in the
* status array are also set.
*/
-__rte_experimental
static inline uint16_t
rte_dma_completed_status(int16_t dev_id, uint16_t vchan,
const uint16_t nb_cpls, uint16_t *last_idx,
@@ -1154,9 +1072,6 @@ rte_dma_completed_status(int16_t dev_id, uint16_t vchan,
}
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Check remaining capacity in descriptor ring for the current burst.
*
* @param dev_id
@@ -1168,7 +1083,6 @@ rte_dma_completed_status(int16_t dev_id, uint16_t vchan,
* - Remaining space in the descriptor ring for the current burst.
* - 0 on error
*/
-__rte_experimental
static inline uint16_t
rte_dma_burst_capacity(int16_t dev_id, uint16_t vchan)
{
diff --git a/lib/dmadev/version.map b/lib/dmadev/version.map
index 7031d6b335..2a3736514c 100644
--- a/lib/dmadev/version.map
+++ b/lib/dmadev/version.map
@@ -1,4 +1,4 @@
-EXPERIMENTAL {
+DPDK_24 {
global:
rte_dma_close;