mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
IB/mlx5: Report mlx5 CQE compression caps during query
The capabilities include: - Max number of compressed and aggregated CQEs in a single session, while zero means unsupported. - For Responder, there are two formats of mini CQE: mini CQE with Rx hash and mini CQE with checksum. They're mutual exclusive. Signed-off-by: Bodong Wang <bodong@mellanox.com> Reviewed-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
191ded4a4d
commit
7e43a2a5ba
2 changed files with 22 additions and 0 deletions
|
@ -683,6 +683,16 @@ static int mlx5_ib_query_device(struct ib_device *ibdev,
|
|||
if (field_avail(typeof(resp), reserved, uhw->outlen))
|
||||
resp.response_length += sizeof(resp.reserved);
|
||||
|
||||
if (field_avail(typeof(resp), cqe_comp_caps, uhw->outlen)) {
|
||||
resp.cqe_comp_caps.max_num =
|
||||
MLX5_CAP_GEN(dev->mdev, cqe_compression) ?
|
||||
MLX5_CAP_GEN(dev->mdev, cqe_compression_max_num) : 0;
|
||||
resp.cqe_comp_caps.supported_format =
|
||||
MLX5_IB_CQE_RES_FORMAT_HASH |
|
||||
MLX5_IB_CQE_RES_FORMAT_CSUM;
|
||||
resp.response_length += sizeof(resp.cqe_comp_caps);
|
||||
}
|
||||
|
||||
if (uhw->outlen) {
|
||||
err = ib_copy_to_udata(uhw, &resp, resp.response_length);
|
||||
|
||||
|
|
|
@ -124,11 +124,23 @@ struct mlx5_ib_rss_caps {
|
|||
__u8 reserved[7];
|
||||
};
|
||||
|
||||
enum mlx5_ib_cqe_comp_res_format {
|
||||
MLX5_IB_CQE_RES_FORMAT_HASH = 1 << 0,
|
||||
MLX5_IB_CQE_RES_FORMAT_CSUM = 1 << 1,
|
||||
MLX5_IB_CQE_RES_RESERVED = 1 << 2,
|
||||
};
|
||||
|
||||
struct mlx5_ib_cqe_comp_caps {
|
||||
__u32 max_num;
|
||||
__u32 supported_format; /* enum mlx5_ib_cqe_comp_res_format */
|
||||
};
|
||||
|
||||
struct mlx5_ib_query_device_resp {
|
||||
__u32 comp_mask;
|
||||
__u32 response_length;
|
||||
struct mlx5_ib_tso_caps tso_caps;
|
||||
struct mlx5_ib_rss_caps rss_caps;
|
||||
struct mlx5_ib_cqe_comp_caps cqe_comp_caps;
|
||||
__u32 mlx5_ib_support_multi_pkt_send_wqes;
|
||||
__u32 reserved;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue