xref: /freebsd/contrib/ofed/libmlx5/mlx5dv_query_device.3 (revision f7c32ed617858bcd22f8d1b03199099d50125721)
-*- nroff -*-
Licensed under the OpenIB.org (MIT) - See COPYING.md

MLX5DV_QUERY_DEVICE 3 2017-02-02 1.0.0
"NAME"
mlx5dv_query_device - Query device capabilities specific to mlx5
"SYNOPSIS"
 #include <infiniband/mlx5dv.h>  "int mlx5dv_query_device(struct ibv_context *ctx_in,  " struct mlx5dv_context *attrs_out); 
"DESCRIPTION"
mlx5dv_query_device() Query HW device-specific information which is important for data-path, but isn't provided by ibv_query_device(3).

This function returns version, flags and compatibility mask. The version represents the format of the internal hardware structures that mlx5dv.h represents. Additions of new fields to the existed structures are handled by comp_mask field.

struct mlx5dv_context {
uint8_t version;
uint64_t flags;
uint64_t comp_mask;
};

enum mlx5dv_context_flags {
/*
 * This flag indicates if CQE version 0 or 1 is needed.
 */
 MLX5DV_CONTEXT_FLAGS_CQE_V1 = (1 << 0),
 MLX5DV_CONTEXT_FLAGS_MPW = (1 << 1), /* Multi packet WQE is supported or not */
};
"RETURN VALUE"
0 on success or the value of errno on failure (which indicates the failure reason).
"NOTES"
* Compatibility mask (comp_mask) is in/out field.
"SEE ALSO"
mlx5dv (7), ibv_query_device (3)
"AUTHORS"

Leon Romanovsky <leonro@mellanox.com>