mlx5dv_devx_alloc_msi_vector - Man Page
Name
mlx5dv_devx_alloc_msi_vector — Allocate an msi vector to be used for creating an EQ.
mlx5dv_devx_free_msi_vector — Release an msi vector.
Synopsis
#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);
Description
Allocate or free an msi vector to be used for creating an EQ.
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 “eqc.intr” 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.
Arguments
- ibctx
RDMA device context to create the action on.
- msi
The msi vector object to work on.
msi_vector
struct mlx5dv_devx_msi_vector { int vector; int fd; };
- vector
The vector to be used when creating the EQ over the device specification.
- fd
The FD that will be used for polling.
Return Value
Upon success mlx5dv_devx_alloc_msi_vector will return a new struct mlx5dv_devx_msi_vector; On error NULL will be returned and errno will be set.
Upon success mlx5dv_devx_free_msi_vector will return 0, on error errno will be returned.
Author
Mark Zhang <markzhang@nvidia.com>
Referenced By
The man page mlx5dv_devx_free_msi_vector(3) is an alias of mlx5dv_devx_alloc_msi_vector(3).