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

Commit 9e2c3f1c authored by Jack Wang's avatar Jack Wang Committed by Doug Ledford
Browse files

RDMA/core: export ib_get_cached_port_state



Export function for rdma_cm, patch for rdma_cm to follow.

Signed-off-by: default avatarJack Wang <jinpu.wang@profitbricks.com>
Reviewed-by: default avatarMichael Wang <yun.wang@profitbricks.com>
Acked-by: default avatarSean Hefty <sean.hefty@intel.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent aaaca121
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -1021,6 +1021,24 @@ int ib_get_cached_lmc(struct ib_device *device,
}
EXPORT_SYMBOL(ib_get_cached_lmc);

int ib_get_cached_port_state(struct ib_device   *device,
			     u8                  port_num,
			     enum ib_port_state *port_state)
{
	unsigned long flags;
	int ret = 0;

	if (port_num < rdma_start_port(device) || port_num > rdma_end_port(device))
		return -EINVAL;

	read_lock_irqsave(&device->cache.lock, flags);
	*port_state = device->cache.port_state_cache[port_num - rdma_start_port(device)];
	read_unlock_irqrestore(&device->cache.lock, flags);

	return ret;
}
EXPORT_SYMBOL(ib_get_cached_port_state);

static void ib_cache_update(struct ib_device *device,
			    u8                port)
{
+13 −0
Original line number Diff line number Diff line
@@ -165,4 +165,17 @@ int ib_get_cached_lmc(struct ib_device *device,
		      u8                port_num,
		      u8                *lmc);

/**
 * ib_get_cached_port_state - Returns a cached port state table entry
 * @device: The device to query.
 * @port_num: The port number of the device to query.
 * @port_state: port_state for the specified port for that device.
 *
 * ib_get_cached_port_state() fetches the specified port_state table entry stored in
 * the local software cache.
 */
int ib_get_cached_port_state(struct ib_device *device,
			      u8                port_num,
			      enum ib_port_state *port_active);

#endif /* _IB_CACHE_H */