IB/core: Add rdma_cap_opa_ah to expose opa address handles

rdma_cap_opa_ah(..) enables core components to check if the
corresponding port supports OPA extended addressing.

Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Don Hiatt <don.hiatt@intel.com>
Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Dasaratharaman Chandramouli 2017-03-20 19:38:09 -04:00 committed by Doug Ledford
parent ee1c60b1bf
commit 94d595c560
1 changed files with 16 additions and 0 deletions

View File

@ -501,6 +501,7 @@ static inline struct rdma_hw_stats *rdma_alloc_hw_stats_struct(
/* Address format 0x000FF000 */
#define RDMA_CORE_CAP_AF_IB 0x00001000
#define RDMA_CORE_CAP_ETH_AH 0x00002000
#define RDMA_CORE_CAP_OPA_AH 0x00004000
/* Protocol 0xFFF00000 */
#define RDMA_CORE_CAP_PROT_IB 0x00100000
@ -2604,6 +2605,21 @@ static inline bool rdma_cap_eth_ah(const struct ib_device *device, u8 port_num)
return device->port_immutable[port_num].core_cap_flags & RDMA_CORE_CAP_ETH_AH;
}
/**
* rdma_cap_opa_ah - Check if the port of device supports
* OPA Address handles
* @device: Device to check
* @port_num: Port number to check
*
* Return: true if we are running on an OPA device which supports
* the extended OPA addressing.
*/
static inline bool rdma_cap_opa_ah(struct ib_device *device, u8 port_num)
{
return (device->port_immutable[port_num].core_cap_flags &
RDMA_CORE_CAP_OPA_AH) == RDMA_CORE_CAP_OPA_AH;
}
/**
* rdma_max_mad_size - Return the max MAD size required by this RDMA Port.
*