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 <amitpraka...@marvell.com> --- lib/dmadev/rte_dmadev.c | 9 +++++++++ lib/dmadev/rte_dmadev_pmd.h | 16 ++++++++++++++++ lib/dmadev/version.map | 1 + 3 files changed, 26 insertions(+) diff --git a/lib/dmadev/rte_dmadev.c b/lib/dmadev/rte_dmadev.c index bf7d5ec519..f1783c971b 100644 --- a/lib/dmadev/rte_dmadev.c +++ b/lib/dmadev/rte_dmadev.c @@ -121,6 +121,15 @@ dma_find_by_name(const char *name) return NULL; } +struct rte_dma_dev* +rte_dma_pmd_dev_get(uint8_t dev_id) +{ + if (rte_dma_devices == NULL) + return NULL; + + return &rte_dma_devices[dev_id]; +} + static void dma_fp_object_dummy(struct rte_dma_fp_object *obj); static int diff --git a/lib/dmadev/rte_dmadev_pmd.h b/lib/dmadev/rte_dmadev_pmd.h index c61cedfb23..f8dd970b88 100644 --- a/lib/dmadev/rte_dmadev_pmd.h +++ b/lib/dmadev/rte_dmadev_pmd.h @@ -167,6 +167,22 @@ 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. Assumes a + * valid device index. + * + * @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_dev_get(uint8_t dev_id); + #ifdef __cplusplus } #endif diff --git a/lib/dmadev/version.map b/lib/dmadev/version.map index 7031d6b335..cdad39044d 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_dev_get; local: *; }; -- 2.25.1