1mlx5dv_devx_umem_reg, mlx5dv_devmxl_xu5mdevm__ddeevrxe_gu(m3e)m_reg, mlx5dv_devx_umem_dereg(3)
2
3
4
6 mlx5dv_devx_umem_reg - Register a user memory to be used by the devx
7 interface
8
9 mlx5dv_devx_umem_dereg - Deregister a devx umem object
10
12 #include <infiniband/mlx5dv.h>
13
14 struct mlx5dv_devx_umem {
15 uint32_t umem_id;
16 };
17
18 struct mlx5dv_devx_umem *
19 mlx5dv_devx_umem_reg(struct ibv_context *context, void *addr, size_t size,
20 uint32_t access)
21
22 int mlx5dv_devx_umem_dereg(struct mlx5dv_devx_umem *dv_devx_umem)
23
25 Register or deregister a user memory to be used by the devx interface.
26
27 The register verb exposes a UMEM DEVX object for user memory registra‐
28 tion for DMA. The API to register the user memory gets as input the
29 user address, length and access flags, and provides to the user as out‐
30 put an object which holds the UMEM ID returned by the firmware to this
31 registered memory.
32
33 The user will use that UMEM ID in device direct commands that use this
34 memory instead of the physical addresses list, for example upon
35 mlx5dv_devx_obj_create to create a QP.
36
38 context
39
40 RDMA device context to create the action on.
41
42 addr The memory start address to register.
43
44 size
45
46 The size of *addr* buffer.
47
48 access The desired memory protection attributes; it is either 0 or the
49 bitwise OR of one or more of enum ibv_access_flags.
50
52 Upon success mlx5dv_devx_umem_reg will return a new struct mlx5dv_de‐
53 vx_umem object, on error NULL will be returned and errno will be set.
54
55 mlx5dv_devx_umem_dereg returns 0 on success, or the value of errno on
56 failure (which indicates the failure reason).
57
59 mlx5dv_open_device(3), ibv_reg_mr(3), mlx5dv_devx_obj_create(3)
60
62 Yishai Hadas <yishaih@mellanox.com>
63
64
65
66 mlx5dv_devx_umem_reg, mlx5dv_devx_umem_dereg(3)