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

Reply via email to