Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78b1beb0 authored by Leon Romanovsky's avatar Leon Romanovsky Committed by Doug Ledford
Browse files

IB/core: Fix typo in the name of the tag-matching cap struct



The tag matching functionality is implemented by mlx5 driver
by extending XRQ, however this internal kernel information was
exposed to user space applications with *xrq* name instead of *tm*.

This patch renames *xrq* to *tm* to handle that.

Fixes: 8d50505a ("IB/uverbs: Expose XRQ capabilities")
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Reviewed-by: default avatarYishai Hadas <yishaih@mellanox.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent e19b205b
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -3869,15 +3869,15 @@ int ib_uverbs_ex_query_device(struct ib_uverbs_file *file,
	resp.raw_packet_caps = attr.raw_packet_caps;
	resp.response_length += sizeof(resp.raw_packet_caps);

	if (ucore->outlen < resp.response_length + sizeof(resp.xrq_caps))
	if (ucore->outlen < resp.response_length + sizeof(resp.tm_caps))
		goto end;

	resp.xrq_caps.max_rndv_hdr_size = attr.xrq_caps.max_rndv_hdr_size;
	resp.xrq_caps.max_num_tags      = attr.xrq_caps.max_num_tags;
	resp.xrq_caps.max_ops		= attr.xrq_caps.max_ops;
	resp.xrq_caps.max_sge		= attr.xrq_caps.max_sge;
	resp.xrq_caps.flags		= attr.xrq_caps.flags;
	resp.response_length += sizeof(resp.xrq_caps);
	resp.tm_caps.max_rndv_hdr_size	= attr.tm_caps.max_rndv_hdr_size;
	resp.tm_caps.max_num_tags	= attr.tm_caps.max_num_tags;
	resp.tm_caps.max_ops		= attr.tm_caps.max_ops;
	resp.tm_caps.max_sge		= attr.tm_caps.max_sge;
	resp.tm_caps.flags		= attr.tm_caps.flags;
	resp.response_length += sizeof(resp.tm_caps);
end:
	err = ib_copy_to_udata(ucore, &resp, resp.response_length);
	return err;
+5 −5
Original line number Diff line number Diff line
@@ -778,13 +778,13 @@ static int mlx5_ib_query_device(struct ib_device *ibdev,
	}

	if (MLX5_CAP_GEN(mdev, tag_matching)) {
		props->xrq_caps.max_rndv_hdr_size = MLX5_TM_MAX_RNDV_MSG_SIZE;
		props->xrq_caps.max_num_tags =
		props->tm_caps.max_rndv_hdr_size = MLX5_TM_MAX_RNDV_MSG_SIZE;
		props->tm_caps.max_num_tags =
			(1 << MLX5_CAP_GEN(mdev, log_tag_matching_list_sz)) - 1;
		props->xrq_caps.flags = IB_TM_CAP_RC;
		props->xrq_caps.max_ops =
		props->tm_caps.flags = IB_TM_CAP_RC;
		props->tm_caps.max_ops =
			1 << MLX5_CAP_GEN(mdev, log_max_qp_sz);
		props->xrq_caps.max_sge = MLX5_TM_MAX_SGE;
		props->tm_caps.max_sge = MLX5_TM_MAX_SGE;
	}

	if (field_avail(typeof(resp), cqe_comp_caps, uhw->outlen)) {
+2 −2
Original line number Diff line number Diff line
@@ -285,7 +285,7 @@ enum ib_tm_cap_flags {
	IB_TM_CAP_RC		    = 1 << 0,
};

struct ib_xrq_caps {
struct ib_tm_caps {
	/* Max size of RNDV header */
	u32 max_rndv_hdr_size;
	/* Max number of entries in tag matching list */
@@ -358,7 +358,7 @@ struct ib_device_attr {
	struct ib_rss_caps	rss_caps;
	u32			max_wq_type_rq;
	u32			raw_packet_caps; /* Use ib_raw_packet_caps enum */
	struct ib_xrq_caps	xrq_caps;
	struct ib_tm_caps	tm_caps;
};

enum ib_mtu {
+1 −1
Original line number Diff line number Diff line
@@ -261,7 +261,7 @@ struct ib_uverbs_ex_query_device_resp {
	struct ib_uverbs_rss_caps rss_caps;
	__u32  max_wq_type_rq;
	__u32 raw_packet_caps;
	struct ib_uverbs_tm_caps xrq_caps;
	struct ib_uverbs_tm_caps tm_caps;
};

struct ib_uverbs_query_port {