@@ -483,7 +483,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/
@@ -158,9 +158,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 +169,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 +181,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 +192,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 +211,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 +301,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 +312,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 +336,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 +351,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 +365,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 +378,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 +391,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 +583,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 +597,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 +625,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 +639,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 +654,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 +669,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 +683,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 +697,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 +807,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 +832,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 +849,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 +878,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 +898,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 +923,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 +941,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 +954,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 +970,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 +991,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 +1025,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 +1050,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 +1073,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 +1084,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)
{
@@ -1,4 +1,4 @@
-EXPERIMENTAL {
+DPDK_24 {
global:
rte_dma_close;