1mlx5dv_devx_alloc_uar / mlx5dv_dmelvxx5_dfvr_edee_vuxa_ra(l3l)oc_uar / mlx5dv_devx_free_uar(3)
2
3
4
6 mlx5dv_devx_alloc_uar - Allocates a DEVX UAR
7
8 mlx5dv_devx_free_uar - Frees a DEVX UAR
9
11 #include <infiniband/mlx5dv.h>
12
13 struct mlx5dv_devx_uar *mlx5dv_devx_alloc_uar(struct ibv_context *context,
14 uint32_t flags);
15
16 void mlx5dv_devx_free_uar(struct mlx5dv_devx_uar *devx_uar);
17
19 Create / free a DEVX UAR which is needed for other device commands over
20 the DEVX interface.
21
22 The DEVX API enables direct access from the user space area to the mlx5
23 device driver, the UAR information is needed for few commands as of QP
24 creation.
25
27 context
28 RDMA device context to work on.
29
30 flags Allocation flags for the UAR. MLX5DV_UAR_ALLOC_TYPE_BF: Allo‐
31 cate UAR with Blueflame properties. MLX5DV_UAR_ALLOC_TYPE_NC:
32 Allocate UAR with non-cache properties.
33
34 devx_uar
35 struct mlx5dv_devx_uar {
36 void *reg_addr;
37 void *base_addr;
38 uint32_t page_id;
39 off_t mmap_off;
40 uint64_t comp_mask;
41 };
42
43 reg_addr
44 The write address of DB/BF.
45
46 base_addr
47 The base address of the UAR.
48
49 page_id
50 The device page id to be used.
51
52 mmap_off
53 The mmap offset parameter to be used for re-mapping, to be used
54 by a secondary process.
55
57 Upon success mlx5dv_devx_alloc_uar will return a new struct mlx5dv_de‐
58 vx_uar, on error NULL will be returned and errno will be set.
59
61 mlx5dv_open_device, mlx5dv_devx_obj_create
62
63 #AUTHOR
64
65 Yishai Hadas <yishaih@mellanox.com>
66
67
68
69 mlx5dv_devx_alloc_uar / mlx5dv_devx_free_uar(3)