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

Commit 1dfce294 authored by Parav Pandit's avatar Parav Pandit Committed by Jason Gunthorpe
Browse files

IB: Replace ib_query_gid/ib_get_cached_gid with rdma_query_gid



If the gid_attr argument is NULL then the functions behave identically to
rdma_query_gid. ib_query_gid just calls ib_get_cached_gid, so everything
can be consolidated to one function.

Now that all callers either use rdma_query_gid() or ib_get_cached_gid(),
ib_query_gid() API is removed.

Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 83f6f8d2
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -1646,7 +1646,7 @@ static void cm_opa_to_ib_sgid(struct cm_work *work,
	    (ib_is_opa_gid(&path->sgid))) {
		union ib_gid sgid;

		if (ib_get_cached_gid(dev, port_num, 0, &sgid, NULL)) {
		if (rdma_query_gid(dev, port_num, 0, &sgid)) {
			dev_warn(&dev->dev,
				 "Error updating sgid in CM request\n");
			return;
@@ -1997,10 +1997,9 @@ static int cm_req_handler(struct cm_work *work)
	if (ret) {
		int err;

		err = ib_get_cached_gid(work->port->cm_dev->ib_device,
		err = rdma_query_gid(work->port->cm_dev->ib_device,
				     work->port->port_num, 0,
					&work->path[0].sgid,
					NULL);
				     &work->path[0].sgid);
		if (err)
			ib_send_cm_rej(cm_id, IB_CM_REJ_INVALID_GID,
				       NULL, 0, NULL, 0);
+3 −3
Original line number Diff line number Diff line
@@ -732,8 +732,8 @@ static int cma_resolve_ib_dev(struct rdma_id_private *id_priv)

			if (ib_get_cached_port_state(cur_dev->device, p, &port_state))
				continue;
			for (i = 0; !ib_get_cached_gid(cur_dev->device, p, i,
						       &gid, NULL);
			for (i = 0; !rdma_query_gid(cur_dev->device,
						    p, i, &gid);
			     i++) {
				if (!memcmp(&gid, dgid, sizeof(gid))) {
					cma_dev = cur_dev;
@@ -2791,7 +2791,7 @@ static int cma_bind_loopback(struct rdma_id_private *id_priv)
	p = 1;

port_found:
	ret = ib_get_cached_gid(cma_dev->device, p, 0, &gid, NULL);
	ret = rdma_query_gid(cma_dev->device, p, 0, &gid);
	if (ret)
		goto out;

+1 −20
Original line number Diff line number Diff line
@@ -861,25 +861,6 @@ int ib_query_port(struct ib_device *device,
}
EXPORT_SYMBOL(ib_query_port);

/**
 * ib_query_gid - Get GID table entry
 * @device:Device to query
 * @port_num:Port number to query
 * @index:GID table index to query
 * @gid:Returned GID
 * @attr: Returned GID attributes related to this GID index (only in RoCE).
 *   NULL means ignore.
 *
 * ib_query_gid() fetches the specified GID table entry from the cache.
 */
int ib_query_gid(struct ib_device *device,
		 u8 port_num, int index, union ib_gid *gid,
		 struct ib_gid_attr *attr)
{
	return ib_get_cached_gid(device, port_num, index, gid, attr);
}
EXPORT_SYMBOL(ib_query_gid);

/**
 * ib_enum_roce_netdev - enumerate all RoCE ports
 * @ib_dev : IB device we want to query
@@ -1057,7 +1038,7 @@ int ib_find_gid(struct ib_device *device, union ib_gid *gid,
			continue;

		for (i = 0; i < device->port_immutable[port].gid_tbl_len; ++i) {
			ret = ib_query_gid(device, port, i, &tmp_gid, NULL);
			ret = rdma_query_gid(device, port, i, &tmp_gid);
			if (ret)
				return ret;
			if (!memcmp(&tmp_gid, gid, sizeof *gid)) {
+2 −2
Original line number Diff line number Diff line
@@ -1896,8 +1896,8 @@ static inline int rcv_has_same_gid(const struct ib_mad_agent_private *mad_agent_
			const struct ib_global_route *grh =
					rdma_ah_read_grh(&attr);

			if (ib_get_cached_gid(device, port_num,
					      grh->sgid_index, &sgid, NULL))
			if (rdma_query_gid(device, port_num,
					   grh->sgid_index, &sgid))
				return 0;
			return !memcmp(sgid.raw, rwc->recv_buf.grh->dgid.raw,
				       16);
+2 −4
Original line number Diff line number Diff line
@@ -516,10 +516,8 @@ static int ib_resolve_unicast_gid_dmac(struct ib_device *device,

	grh = rdma_ah_retrieve_grh(ah_attr);

	ret = ib_query_gid(device,
			   rdma_ah_get_port_num(ah_attr),
			   grh->sgid_index,
			   &sgid, &sgid_attr);
	ret = ib_get_cached_gid(device, rdma_ah_get_port_num(ah_attr),
				grh->sgid_index, &sgid, &sgid_attr);
	if (ret || !sgid_attr.ndev) {
		if (!ret)
			ret = -ENXIO;
Loading