[PATCH rdma-core 19/27] pyverbs/mlx5: Support EQN querying
From: Yishai Hadas <yishaih@nvidia.com>
Date: 2021-07-20 08:18:39
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Edward Srouji <redacted> Add the ability to retrieve a device's EQ number which relates to a given input vector. The query is done over DevX. Reviewed-by: Ido Kalir <redacted> Signed-off-by: Edward Srouji <redacted> --- pyverbs/providers/mlx5/libmlx5.pxd | 1 + pyverbs/providers/mlx5/mlx5dv.pyx | 12 ++++++++++++ 2 files changed, 13 insertions(+)
diff --git a/pyverbs/providers/mlx5/libmlx5.pxd b/pyverbs/providers/mlx5/libmlx5.pxd
index 66b8705..ba2c6ec 100644
--- a/pyverbs/providers/mlx5/libmlx5.pxd
+++ b/pyverbs/providers/mlx5/libmlx5.pxd@@ -318,6 +318,7 @@ cdef extern from 'infiniband/mlx5dv.h': mlx5dv_devx_umem *mlx5dv_devx_umem_reg_ex(v.ibv_context *ctx, mlx5dv_devx_umem_in *umem_in) int mlx5dv_devx_umem_dereg(mlx5dv_devx_umem *umem) + int mlx5dv_devx_query_eqn(v.ibv_context *context, uint32_t vector, uint32_t *eqn) # Mkey setters void mlx5dv_wr_mkey_configure(mlx5dv_qp_ex *mqp, mlx5dv_mkey *mkey,
diff --git a/pyverbs/providers/mlx5/mlx5dv.pyx b/pyverbs/providers/mlx5/mlx5dv.pyx
index d16aed1..2c47cb6 100644
--- a/pyverbs/providers/mlx5/mlx5dv.pyx
+++ b/pyverbs/providers/mlx5/mlx5dv.pyx@@ -262,6 +262,18 @@ cdef class Mlx5Context(Context): free(clock_info) return ns_time + def devx_query_eqn(self, vector): + """ + Query EQN for a given vector id. + :param vector: Completion vector number + :return: The device EQ number which relates to the given input vector + """ + cdef uint32_t eqn + rc = dv.mlx5dv_devx_query_eqn(self.context, vector, &eqn) + if rc: + raise PyverbsRDMAError('Failed to query EQN', rc) + return eqn + cdef add_ref(self, obj): try: Context.add_ref(self, obj)
--
1.8.3.1