RDMA/core: export ib_get_cached_port_state
Export function for rdma_cm, patch for rdma_cm to follow. Signed-off-by: Jack Wang <jinpu.wang@profitbricks.com> Reviewed-by: Michael Wang <yun.wang@profitbricks.com> Acked-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
aaaca121c7
commit
9e2c3f1c7f
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue