IB/core: Map iWarp AH type to undefined in rdma_ah_find_type
iWarp devices do not support the creation of address handles
so return AH_ATTR_TYPE_UNDEFINED for all iWarp devices.
While we are here reduce the size of port_num to u8 and add
a comment.
Fixes: 44c58487d5
("IB/core: Define 'ib' and 'roce' rdma_ah_attr types")
Reported-by: Parav Pandit <parav@mellanox.com>
CC: Sean Hefty <sean.hefty@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Don Hiatt <don.hiatt@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
1029361084
commit
87daac68f7
|
@ -874,6 +874,7 @@ struct ib_mr_status {
|
||||||
__attribute_const__ enum ib_rate mult_to_ib_rate(int mult);
|
__attribute_const__ enum ib_rate mult_to_ib_rate(int mult);
|
||||||
|
|
||||||
enum rdma_ah_attr_type {
|
enum rdma_ah_attr_type {
|
||||||
|
RDMA_AH_ATTR_TYPE_UNDEFINED,
|
||||||
RDMA_AH_ATTR_TYPE_IB,
|
RDMA_AH_ATTR_TYPE_IB,
|
||||||
RDMA_AH_ATTR_TYPE_ROCE,
|
RDMA_AH_ATTR_TYPE_ROCE,
|
||||||
RDMA_AH_ATTR_TYPE_OPA,
|
RDMA_AH_ATTR_TYPE_OPA,
|
||||||
|
@ -3810,19 +3811,26 @@ static inline void rdma_ah_set_grh(struct rdma_ah_attr *attr,
|
||||||
grh->traffic_class = traffic_class;
|
grh->traffic_class = traffic_class;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Get AH type */
|
/**
|
||||||
|
* rdma_ah_find_type - Return address handle type.
|
||||||
|
*
|
||||||
|
* @dev: Device to be checked
|
||||||
|
* @port_num: Port number
|
||||||
|
*/
|
||||||
static inline enum rdma_ah_attr_type rdma_ah_find_type(struct ib_device *dev,
|
static inline enum rdma_ah_attr_type rdma_ah_find_type(struct ib_device *dev,
|
||||||
u32 port_num)
|
u8 port_num)
|
||||||
{
|
{
|
||||||
if (rdma_protocol_roce(dev, port_num))
|
if (rdma_protocol_roce(dev, port_num))
|
||||||
return RDMA_AH_ATTR_TYPE_ROCE;
|
return RDMA_AH_ATTR_TYPE_ROCE;
|
||||||
else if ((rdma_protocol_ib(dev, port_num)) &&
|
if (rdma_protocol_ib(dev, port_num)) {
|
||||||
(rdma_cap_opa_ah(dev, port_num)))
|
if (rdma_cap_opa_ah(dev, port_num))
|
||||||
return RDMA_AH_ATTR_TYPE_OPA;
|
return RDMA_AH_ATTR_TYPE_OPA;
|
||||||
else
|
|
||||||
return RDMA_AH_ATTR_TYPE_IB;
|
return RDMA_AH_ATTR_TYPE_IB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return RDMA_AH_ATTR_TYPE_UNDEFINED;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ib_lid_cpu16 - Return lid in 16bit CPU encoding.
|
* ib_lid_cpu16 - Return lid in 16bit CPU encoding.
|
||||||
* In the current implementation the only way to get
|
* In the current implementation the only way to get
|
||||||
|
|
Loading…
Reference in New Issue