1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
.\" Automatically generated by Pandoc 2.9.2.1
.\"
.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 <infiniband/mlx5dv.h>
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 <markzhang@nvidia.com>
|