.\" Automatically generated by Pandoc 3.1.3 .\" .\" Define V font for inline verbatim, using C font in formats .\" that render this, and otherwise B font. .ie "\f[CB]x\f[]"x" \{\ . ftr V B . ftr VI BI . ftr VB B . ftr VBI BI .\} .el \{\ . ftr V CR . ftr VI CI . ftr VB CB . ftr VBI CBI .\} .TH "mlx5dv_devx_alloc_msi_vector" "3" "2022-01-12" "mlx5" "mlx5 Programmer\[cq]s Manual" .hy .SH NAME .PP mlx5dv_devx_alloc_msi_vector - Allocate an msi vector to be used for creating an EQ. .PP mlx5dv_devx_free_msi_vector - Release an msi vector. .SH SYNOPSIS .IP .nf \f[C] #include struct mlx5dv_devx_msi_vector * mlx5dv_devx_alloc_msi_vector(struct ibv_context *ibctx); int mlx5dv_devx_free_msi_vector(struct mlx5dv_devx_msi_vector *msi); \f[R] .fi .SH DESCRIPTION .PP Allocate or free an msi vector to be used for creating an EQ. .PP The allocate API exposes a mlx5dv_devx_msi_vector object, which includes an msi vector and a fd. The vector can be used as the \[lq]eqc.intr\[rq] field when creating an EQ, while the fd (created as non-blocking) can be polled to see once there is some data on that EQ. .SH ARGUMENTS .TP \f[I]ibctx\f[R] RDMA device context to create the action on. .TP \f[I]msi\f[R] The msi vector object to work on. .SS msi_vector .IP .nf \f[C] struct mlx5dv_devx_msi_vector { int vector; int fd; }; \f[R] .fi .TP \f[I]vector\f[R] The vector to be used when creating the EQ over the device specification. .TP \f[I]fd\f[R] The FD that will be used for polling. .SH RETURN VALUE .PP Upon success \f[I]mlx5dv_devx_alloc_msi_vector\f[R] will return a new \f[I]struct mlx5dv_devx_msi_vector\f[R]; On error NULL will be returned and errno will be set. .PP Upon success \f[I]mlx5dv_devx_free_msi_vector\f[R] will return 0, on error errno will be returned. .SH AUTHOR .PP Mark Zhang