mlx5dv_alloc_var / mlx5dv_free_var(3)

NAME
mlx5dv_alloc_var - Allocates a VAR

mlx5dv_free_var - Frees a VAR

SYNOPSIS

        #include <infiniband/mlx5dv.h>
        struct mlx5dv_var *
        mlx5dv_alloc_var(struct ibv_context *context, uint32_t flags);
        void mlx5dv_free_var(struct mlx5dv_var *dv_var);

DESCRIPTION
Create / free a VAR which can be used for some device commands over the DEVX interface.

The DEVX API enables direct access from the user space area to the mlx5 device driver, the VAR information is needed for few commands related to Virtio.

The VAR type used depends on the flags argument.

ARGUMENTS

context
    RDMA device context to work on.

flags
    Allocation flags for the VAR. 0: Allocate a standard VirtIO VAR. MLX5DV_VAR_ALLOC_FLAG_TLP: Allocate a TLP VAR for TLP emulation.

  dv_var

        struct mlx5dv_var {
            uint32_t page_id;
            uint32_t length;
            off_t mmap_off;
            uint64_t comp_mask;
        };

page_id
    The device page id to be used.

length
    The mmap length parameter to be used for mapping a VA to the allocated VAR entry.

mmap_off
    The mmap offset parameter to be used for mapping a VA to the allocated VAR entry.

RETURN VALUE
Upon success mlx5dv_alloc_var returns a pointer to the created VAR ,on error NULL will be returned and errno will be set.

SEE ALSO
mlx5dv_import_var(3), mlx5dv_export_var(3), mlx5dv_open_device(3), mlx5dv_devx_obj_create(3)

AUTHOR
Yishai Hadas yishaih@mellanox.com

Maher Sanalla msanalla@nvidia.com