From: Vamsi Attunuru <[email protected]> Add domain_id field to access group join API, which is required to retrieve handler information associated with the specified domain. This enhancement ensures that domain-specific context is available during group join operations, improving flexibility and traceability in multi-domain environments.
It also aligns the parameters of access group create and join APIs for consistency and clarity. Signed-off-by: Vamsi Attunuru <[email protected]> --- lib/dmadev/rte_dmadev.c | 6 +++--- lib/dmadev/rte_dmadev.h | 10 ++++++---- lib/dmadev/rte_dmadev_pmd.h | 4 ++-- lib/dmadev/rte_dmadev_trace.h | 6 ++++-- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/lib/dmadev/rte_dmadev.c b/lib/dmadev/rte_dmadev.c index c008e829db..b75b4f9bd1 100644 --- a/lib/dmadev/rte_dmadev.c +++ b/lib/dmadev/rte_dmadev.c @@ -875,8 +875,8 @@ rte_dma_access_pair_group_destroy(int16_t dev_id, int16_t group_id) RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dma_access_pair_group_join, 25.11) int -rte_dma_access_pair_group_join(int16_t dev_id, int16_t group_id, rte_uuid_t token, - rte_dma_access_pair_group_event_cb_t cb) +rte_dma_access_pair_group_join(int16_t dev_id, rte_uuid_t domain_id, rte_uuid_t token, + int16_t group_id, rte_dma_access_pair_group_event_cb_t cb) { struct rte_dma_info dev_info; struct rte_dma_dev *dev; @@ -899,7 +899,7 @@ rte_dma_access_pair_group_join(int16_t dev_id, int16_t group_id, rte_uuid_t toke if (*dev->dev_ops->access_pair_group_join == NULL) return -ENOTSUP; - return (*dev->dev_ops->access_pair_group_join)(dev, group_id, token, cb); + return (*dev->dev_ops->access_pair_group_join)(dev, domain_id, token, group_id, cb); } RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dma_access_pair_group_leave, 25.11) diff --git a/lib/dmadev/rte_dmadev.h b/lib/dmadev/rte_dmadev.h index 0f4f10ec12..5287b0f32d 100644 --- a/lib/dmadev/rte_dmadev.h +++ b/lib/dmadev/rte_dmadev.h @@ -912,10 +912,12 @@ int rte_dma_access_pair_group_destroy(int16_t dev_id, int16_t group_id); * * @param dev_id * Identifier of the DMA device attempting to join the group. - * @param group_id - * ID of the access group to join. + * @param domain_id + * Unique identifier representing the process or OS domain. * @param token * Authentication token used to validate group membership. + * @param group_id + * ID of the access group to join. * @param cb * Callback function to be invoked when the device leaves the group * or when the group is destroyed due to some exception or failure. @@ -925,8 +927,8 @@ int rte_dma_access_pair_group_destroy(int16_t dev_id, int16_t group_id); * negative value on failure indicating the error code. */ __rte_experimental -int rte_dma_access_pair_group_join(int16_t dev_id, int16_t group_id, rte_uuid_t token, - rte_dma_access_pair_group_event_cb_t cb); +int rte_dma_access_pair_group_join(int16_t dev_id, rte_uuid_t domain_id, rte_uuid_t token, + int16_t group_id, rte_dma_access_pair_group_event_cb_t cb); /** * Leave an access group, removing the device's entry from the group table diff --git a/lib/dmadev/rte_dmadev_pmd.h b/lib/dmadev/rte_dmadev_pmd.h index 16fd625c2d..8a6b0a9c98 100644 --- a/lib/dmadev/rte_dmadev_pmd.h +++ b/lib/dmadev/rte_dmadev_pmd.h @@ -75,8 +75,8 @@ typedef int (*rte_dma_access_pair_group_destroy_t)(const struct rte_dma_dev *dev int16_t group_id); /** @internal Used to join an access pair group for inter-process or inter-OS DMA transfers. */ -typedef int (*rte_dma_access_pair_group_join_t)(const struct rte_dma_dev *dev, int16_t group_id, - rte_uuid_t token, +typedef int (*rte_dma_access_pair_group_join_t)(const struct rte_dma_dev *dev, rte_uuid_t domain_id, + rte_uuid_t token, int16_t group_id, rte_dma_access_pair_group_event_cb_t cb); /** @internal Used to leave an access pair group, removing the device from the group. */ diff --git a/lib/dmadev/rte_dmadev_trace.h b/lib/dmadev/rte_dmadev_trace.h index da80a8cb50..7ad00b5bfa 100644 --- a/lib/dmadev/rte_dmadev_trace.h +++ b/lib/dmadev/rte_dmadev_trace.h @@ -120,10 +120,12 @@ RTE_TRACE_POINT( RTE_TRACE_POINT( rte_dma_trace_access_pair_group_join, - RTE_TRACE_POINT_ARGS(int16_t dev_id, int16_t group_id, rte_uuid_t token), + RTE_TRACE_POINT_ARGS(int16_t dev_id, rte_uuid_t domain_id, rte_uuid_t token, + int16_t group_id), rte_trace_point_emit_i16(dev_id); - rte_trace_point_emit_i16(group_id); + rte_trace_point_emit_u8_ptr(&domain_id[0]); rte_trace_point_emit_u8_ptr(&token[0]); + rte_trace_point_emit_i16(group_id); ) RTE_TRACE_POINT( -- 2.34.1

