1mlx5dv_devx_qp[/cq/srq/wq/imnldx_5tdbvl_]d_emvoxd_iqfpy[//cqq/userrqy/(w3q)/ind_tbl]_modify / query(3)
2
3
4
6 mlx5dv_devx_qp_modify - Modifies a verbs QP via DEVX
7
8 mlx5dv_devx_qp_query - Queries a verbs QP via DEVX
9
10 mlx5dv_devx_cq_modify - Modifies a verbs CQ via DEVX
11
12 mlx5dv_devx_cq_query - Queries a verbs CQ via DEVX
13
14 mlx5dv_devx_srq_modify - Modifies a verbs SRQ via DEVX
15
16 mlx5dv_devx_srq_query - Queries a verbs SRQ via DEVX
17
18 mlx5dv_devx_wq_modify - Modifies a verbs WQ via DEVX
19
20 mlx5dv_devx_wq_query - Queries a verbs WQ via DEVX
21
22 mlx5dv_devx_ind_tbl_modify - Modifies a verbs indirection table via DE‐
23 VX
24
25 mlx5dv_devx_ind_tbl_query - Queries a verbs indirection table via DEVX
26
28 #include <infiniband/mlx5dv.h>
29 int mlx5dv_devx_qp_modify(struct ibv_qp *qp, const void *in, size_t inlen,
30 void *out, size_t outlen);
31 int mlx5dv_devx_qp_query(struct ibv_qp *qp, const void *in, size_t inlen,
32 void *out, size_t outlen);
33 int mlx5dv_devx_cq_modify(struct ibv_cq *cq, const void *in, size_t inlen,
34 void *out, size_t outlen);
35 int mlx5dv_devx_cq_query(struct ibv_cq *cq, const void *in, size_t inlen,
36 void *out, size_t outlen);
37 int mlx5dv_devx_srq_modify(struct ibv_srq *srq, const void *in, size_t inlen,
38 void *out, size_t outlen);
39 int mlx5dv_devx_srq_query(struct ibv_srq *srq, const void *in, size_t inlen,
40 void *out, size_t outlen);
41 int mlx5dv_devx_wq_modify(struct ibv_wq *wq, const void *in, size_t inlen,
42 void *out, size_t outlen);
43 int mlx5dv_devx_wq_query(struct ibv_wq *wq, const void *in, size_t inlen,
44 void *out, size_t outlen);
45 int mlx5dv_devx_ind_tbl_modify(struct ibv_rwq_ind_table *ind_tbl,
46 const void *in, size_t inlen,
47 void *out, size_t outlen);
48 int mlx5dv_devx_ind_tbl_query(struct ibv_rwq_ind_table *ind_tbl,
49 const void *in, size_t inlen,
50 void *out, size_t outlen);
51
53 Modify / query a verb object over the DEVX interface.
54
55 The DEVX API enables direct access from the user space area to the mlx5
56 device driver by using the KABI mechanism. The main purpose is to make
57 the user space driver as independent as possible from the kernel so
58 that future device functionality and commands can be activated with
59 minimal to none kernel changes.
60
61 The above APIs enables modifying/querying a verb object via the DEVX
62 interface. This enables interoperability between verbs and DEVX. As
63 such an application can use the create method from verbs (e.g. ibv_cre‐
64 ate_qp) and modify and query the created object via DEVX
65 (e.g. mlx5dv_devx_qp_modify).
66
68 qp/cq/wq/srq/ind_tbl
69 The ibv_xxx object to issue the action on.
70
71 in A buffer which contains the command’s input data provided in a
72 device specification format.
73
74 inlen The size of in buffer in bytes.
75
76 out A buffer which contains the command’s output data according to
77 the device specification format.
78
79 outlen The size of out buffer in bytes.
80
82 Upon success 0 is returned or the value of errno on a failure.
83
85 mlx5dv_open_device, mlx5dv_devx_obj_create
86
87 #AUTHOR
88
89 Yishai Hadas <yishaih@mellanox.com>
90
91
92
93 mlx5dv_devx_qp[/cq/srq/wq/ind_tbl]_modify / query(3)