.\" Automatically generated by Pandoc 2.2.1 .\" .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\ 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'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'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[] .PP #AUTHOR .PP Yishai Hadas