[PATCH] lib/dmadev: get DMA device using device ID
fengchengwen
fengchengwen at huawei.com
Sat Dec 9 08:11:34 CET 2023
Hi Amit,
On 2023/12/8 15:55, Amit Prakash Shukla wrote:
> DMA library has a function to get DMA device based on device name but
> there is no function to get DMA device using device id.
>
> Added a function that lookup for the dma device using device id and
> returns the pointer to the same.
>
> Signed-off-by: Amit Prakash Shukla <amitprakashs at marvell.com>
> ---
> lib/dmadev/rte_dmadev.c | 9 +++++++++
> lib/dmadev/rte_dmadev_pmd.h | 14 ++++++++++++++
> lib/dmadev/version.map | 1 +
> 3 files changed, 24 insertions(+)
>
> diff --git a/lib/dmadev/rte_dmadev.c b/lib/dmadev/rte_dmadev.c
> index 4e5e420c82..83f49e77f2 100644
> --- a/lib/dmadev/rte_dmadev.c
> +++ b/lib/dmadev/rte_dmadev.c
> @@ -397,6 +397,15 @@ rte_dma_is_valid(int16_t dev_id)
> rte_dma_devices[dev_id].state != RTE_DMA_DEV_UNUSED;
> }
>
> +struct rte_dma_dev *
> +rte_dma_pmd_get_dev_by_id(const int dev_id)
> +{
> + if (!rte_dma_is_valid(dev_id))
> + return NULL;
> +
> + return &rte_dma_devices[dev_id];
> +}
> +
> uint16_t
> rte_dma_count_avail(void)
> {
> diff --git a/lib/dmadev/rte_dmadev_pmd.h b/lib/dmadev/rte_dmadev_pmd.h
> index c61cedfb23..f68c3ac6aa 100644
> --- a/lib/dmadev/rte_dmadev_pmd.h
> +++ b/lib/dmadev/rte_dmadev_pmd.h
> @@ -167,6 +167,20 @@ struct rte_dma_dev *rte_dma_pmd_allocate(const char *name, int numa_node,
> __rte_internal
> int rte_dma_pmd_release(const char *name);
>
> +/**
> + * @internal
> + * Get the rte_dma_dev structure device pointer for the device id.
> + *
> + * @param dev_id
> + * Device ID value to select the device structure.
> + *
> + * @return
> + * - rte_dma_dev structure pointer for the given device ID on success, NULL
> + * otherwise.
> + */
> +__rte_internal
> +struct rte_dma_dev *rte_dma_pmd_get_dev_by_id(const int dev_id);
> +
> #ifdef __cplusplus
> }
> #endif
> diff --git a/lib/dmadev/version.map b/lib/dmadev/version.map
> index 2a3736514c..2cd57c43d3 100644
> --- a/lib/dmadev/version.map
> +++ b/lib/dmadev/version.map
> @@ -26,6 +26,7 @@ INTERNAL {
> rte_dma_fp_objs;
> rte_dma_pmd_allocate;
> rte_dma_pmd_release;
> + rte_dma_pmd_get_dev_by_id;
Should arranged alphabetically in version.map
With above fixed
Acked-by: Chengwen Feng <fengchengwen at huawei.com>
Thanks
>
> local: *;
> };
>
More information about the dev
mailing list