git: 06690c34624c - main - libmlx5: Fix ABI break from revising the UAR pointer
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 16 Sep 2026 14:13:05 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=06690c34624c37998283ad87e24f50c97105ebbd
commit 06690c34624c37998283ad87e24f50c97105ebbd
Author: Vag Singh <vag.singh@oneconvergence.com>
AuthorDate: 2025-08-14 06:36:45 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-09-16 14:12:08 +0000
libmlx5: Fix ABI break from revising the UAR pointer
[PATCH 18/31] FreeBSD OFED support for DPDK MLX5 PMD
Provide two implementations of mlx5dv_init_obj, one that has the
historical behaviour that has existed until now of returning the
void **uar and a new version that returns the 'void *' version
renamed to cq_uar.
Differential revision: https://reviews.freebsd.org/D32192
MFC after: 1 month
---
contrib/ofed/libmlx5/libmlx5.map | 6 +++++-
contrib/ofed/libmlx5/mlx5.c | 2 +-
contrib/ofed/libmlx5/mlx5dv.h | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/contrib/ofed/libmlx5/libmlx5.map b/contrib/ofed/libmlx5/libmlx5.map
index 6d9fb25f00a3..976b8cf35849 100644
--- a/contrib/ofed/libmlx5/libmlx5.map
+++ b/contrib/ofed/libmlx5/libmlx5.map
@@ -3,7 +3,6 @@
MLX5_1.0 {
global:
mlx5dv_query_device;
- mlx5dv_init_obj;
local: *;
};
@@ -11,3 +10,8 @@ MLX5_1.1 {
global:
mlx5dv_create_cq;
} MLX5_1.0;
+
+MLX5_1.2 {
+ global:
+ mlx5dv_init_obj;
+} MLX5_1.1;
diff --git a/contrib/ofed/libmlx5/mlx5.c b/contrib/ofed/libmlx5/mlx5.c
index 56abaa965a6c..ef6c833c5a31 100644
--- a/contrib/ofed/libmlx5/mlx5.c
+++ b/contrib/ofed/libmlx5/mlx5.c
@@ -712,7 +712,7 @@ static int mlx5dv_get_cq(struct ibv_cq *cq_in,
cq_out->cqe_size = mcq->cqe_sz;
cq_out->buf = mcq->active_buf->buf;
cq_out->dbrec = mcq->dbrec;
- cq_out->uar = mctx->uar;
+ cq_out->cq_uar = mctx->uar[0];
mcq->flags |= MLX5_CQ_FLAGS_DV_OWNED;
diff --git a/contrib/ofed/libmlx5/mlx5dv.h b/contrib/ofed/libmlx5/mlx5dv.h
index 856b6c68558d..734303c1ca38 100644
--- a/contrib/ofed/libmlx5/mlx5dv.h
+++ b/contrib/ofed/libmlx5/mlx5dv.h
@@ -136,7 +136,7 @@ struct mlx5dv_cq {
__be32 *dbrec;
uint32_t cqe_cnt;
uint32_t cqe_size;
- void *uar;
+ void *cq_uar;
uint32_t cqn;
uint64_t comp_mask;
};