[dpdk-dev] [PATCH v4 01/14] common/mlx5: introduce user index field in completion
Xueming Li
xuemingl at nvidia.com
Thu Nov 4 13:33:07 CET 2021
On ConnectX devices the completion entry provides the dedicated 24-bit
field, that is filled up with some static value assigned at the
Receiving Queue creation moment. This patch declares this field. This is
a preparation step for supporting shared RQs and the field is supposed
to provide actual port index while handling the shared receiving
queue(s).
Signed-off-by: Xueming Li <xuemingl at nvidia.com>
Acked-by: Slava Ovsiienko <viacheslavo at nvidia.com>
---
drivers/common/mlx5/mlx5_prm.h | 8 +++++++-
drivers/regex/mlx5/mlx5_regex_fastpath.c | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h
index 8014ec2f925..c85634c774c 100644
--- a/drivers/common/mlx5/mlx5_prm.h
+++ b/drivers/common/mlx5/mlx5_prm.h
@@ -393,7 +393,13 @@ struct mlx5_cqe {
uint16_t hdr_type_etc;
uint16_t vlan_info;
uint8_t lro_num_seg;
- uint8_t rsvd3[3];
+ union {
+ uint8_t user_index_bytes[3];
+ struct {
+ uint8_t user_index_hi;
+ uint16_t user_index_low;
+ } __rte_packed;
+ };
uint32_t flow_table_metadata;
uint8_t rsvd4[4];
uint32_t byte_cnt;
diff --git a/drivers/regex/mlx5/mlx5_regex_fastpath.c b/drivers/regex/mlx5/mlx5_regex_fastpath.c
index adb5343a46b..6836203ecf2 100644
--- a/drivers/regex/mlx5/mlx5_regex_fastpath.c
+++ b/drivers/regex/mlx5/mlx5_regex_fastpath.c
@@ -559,7 +559,7 @@ mlx5_regexdev_dequeue(struct rte_regexdev *dev, uint16_t qp_id,
uint16_t wq_counter
= (rte_be_to_cpu_16(cqe->wqe_counter) + 1) &
MLX5_REGEX_MAX_WQE_INDEX;
- size_t hw_qpid = cqe->rsvd3[2];
+ size_t hw_qpid = cqe->user_index_bytes[2];
struct mlx5_regex_hw_qp *qp_obj = &queue->qps[hw_qpid];
/* UMR mode WQE counter move as WQE set(4 WQEBBS).*/
--
2.33.0
More information about the dev
mailing list