Blob Blame History Raw
.\" Automatically generated by Pandoc 1.19.2.4
.\"
.TH "mlx5dv_devx_qp[/cq/srq/wq/ind_tbl]_modify / query" "3" "" "" ""
.hy
.SH NAME
.PP
mlx5dv_devx_qp_modify \- Modifies a verbs QP via DEVX
.PP
mlx5dv_devx_qp_query \- Queries a verbs QP via DEVX
.PP
mlx5dv_devx_cq_modify \- Modifies a verbs CQ via DEVX
.PP
mlx5dv_devx_cq_query \- Queries a verbs CQ via DEVX
.PP
mlx5dv_devx_srq_modify \- Modifies a verbs SRQ via DEVX
.PP
mlx5dv_devx_srq_query \- Queries a verbs SRQ via DEVX
.PP
mlx5dv_devx_wq_modify \- Modifies a verbs WQ via DEVX
.PP
mlx5dv_devx_wq_query \- Queries a verbs WQ via DEVX
.PP
mlx5dv_devx_ind_tbl_modify \- Modifies a verbs indirection table via
DEVX
.PP
mlx5dv_devx_ind_tbl_query \- Queries a verbs indirection table via DEVX
.SH SYNOPSIS
.IP
.nf
\f[C]
#include\ <infiniband/mlx5dv.h>
int\ mlx5dv_devx_qp_modify(struct\ ibv_qp\ *qp,\ const\ void\ *in,\ size_t\ inlen,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
int\ mlx5dv_devx_qp_query(struct\ ibv_qp\ *qp,\ const\ void\ *in,\ size_t\ inlen,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
int\ mlx5dv_devx_cq_modify(struct\ ibv_cq\ *cq,\ const\ void\ *in,\ size_t\ inlen,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
int\ mlx5dv_devx_cq_query(struct\ ibv_cq\ *cq,\ const\ void\ *in,\ size_t\ inlen,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
int\ mlx5dv_devx_srq_modify(struct\ ibv_srq\ *srq,\ const\ void\ *in,\ size_t\ inlen,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
int\ mlx5dv_devx_srq_query(struct\ ibv_srq\ *srq,\ const\ void\ *in,\ size_t\ inlen,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
int\ mlx5dv_devx_wq_modify(struct\ ibv_wq\ *wq,\ const\ void\ *in,\ size_t\ inlen,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
int\ mlx5dv_devx_wq_query(struct\ ibv_wq\ *wq,\ const\ void\ *in,\ size_t\ inlen,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
int\ mlx5dv_devx_ind_tbl_modify(struct\ ibv_rwq_ind_table\ *ind_tbl,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ const\ void\ *in,\ size_t\ inlen,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
int\ mlx5dv_devx_ind_tbl_query(struct\ ibv_rwq_ind_table\ *ind_tbl,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ const\ void\ *in,\ size_t\ inlen,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
\f[]
.fi
.SH DESCRIPTION
.PP
Modify / query a verb object over the DEVX interface.
.PP
The DEVX API enables direct access from the user space area to the mlx5
device driver by using the KABI mechanism.
The main purpose is to make the user space driver as independent as
possible from the kernel so that future device functionality and
commands can be activated with minimal to none kernel changes.
.PP
The above APIs enables modifying/querying a verb object via the DEVX
interface.
This enables interoperability between verbs and DEVX.
As such an application can use the create method from verbs (e.g.
ibv_create_qp) and modify and query the created object via DEVX (e.g.
mlx5dv_devx_qp_modify).
.SH ARGUMENTS
.TP
.B \f[I]qp/cq/wq/srq/ind_tbl\f[]
The ibv_xxx object to issue the action on.
.RS
.RE
.TP
.B \f[I]in\f[]
A buffer which contains the command\[aq]s input data provided in a
device specification format.
.RS
.RE
.TP
.B \f[I]inlen\f[]
The size of \f[I]in\f[] buffer in bytes.
.RS
.RE
.TP
.B \f[I]out\f[]
A buffer which contains the command\[aq]s output data according to the
device specification format.
.RS
.RE
.TP
.B \f[I]outlen\f[]
The size of \f[I]out\f[] buffer in bytes.
.RS
.RE
.SH RETURN VALUE
.PP
Upon success 0 is returned or the value of errno on a failure.
.SH SEE ALSO
.PP
\f[B]mlx5dv_open_device\f[], \f[B]mlx5dv_devx_obj_create\f[]
.SH AUTHOR
.PP
Yishai Hadas <yishaih@mellanox.com>