Re: [PATCH rdma-next v2 01/11] RDMA: Add EFA related definitions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 26-Feb-19 19:56, Steve Wise wrote:
> 
> On 2/26/2019 11:47 AM, Steve Wise wrote:
>> On 2/21/2019 9:33 AM, Gal Pressman wrote:
>>> Add EFA node, transport and protocol types to core code.
>>> In addition, EFA driver ID is added to the IOCTL interface uapi.
>>>
>>> Signed-off-by: Gal Pressman <galpress@xxxxxxxxxx>
>>> ---
>>>  drivers/infiniband/core/sysfs.c          | 1 +
>>>  drivers/infiniband/core/verbs.c          | 2 ++
>>>  include/rdma/ib_verbs.h                  | 8 ++++++--
>>>  include/uapi/rdma/rdma_user_ioctl_cmds.h | 1 +
>>>  4 files changed, 10 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
>>> index 9b6a065bdfa5..f7fac4c81559 100644
>>> --- a/drivers/infiniband/core/sysfs.c
>>> +++ b/drivers/infiniband/core/sysfs.c
>>> @@ -1194,6 +1194,7 @@ static ssize_t node_type_show(struct device *device,
>>>  	case RDMA_NODE_RNIC:	  return sprintf(buf, "%d: RNIC\n", dev->node_type);
>>>  	case RDMA_NODE_USNIC:	  return sprintf(buf, "%d: usNIC\n", dev->node_type);
>>>  	case RDMA_NODE_USNIC_UDP: return sprintf(buf, "%d: usNIC UDP\n", dev->node_type);
>>> +	case RDMA_NODE_EFA:       return sprintf(buf, "%d: EFA\n", dev->node_type);
>>>  	case RDMA_NODE_IB_SWITCH: return sprintf(buf, "%d: switch\n", dev->node_type);
>>>  	case RDMA_NODE_IB_ROUTER: return sprintf(buf, "%d: router\n", dev->node_type);
>>>  	default:		  return sprintf(buf, "%d: <unknown>\n", dev->node_type);
>>> diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
>>> index 5a5e83f5f0fc..fc6f748a1933 100644
>>> --- a/drivers/infiniband/core/verbs.c
>>> +++ b/drivers/infiniband/core/verbs.c
>>> @@ -218,6 +218,8 @@ rdma_node_get_transport(enum rdma_node_type node_type)
>>>  		return RDMA_TRANSPORT_USNIC_UDP;
>>>  	if (node_type == RDMA_NODE_RNIC)
>>>  		return RDMA_TRANSPORT_IWARP;
>>> +	if (node_type == RDMA_NODE_EFA)
>>> +		return RDMA_TRANSPORT_EFA;
>>>  
>>>  	return RDMA_TRANSPORT_IB;
>>>  }
>>> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
>>> index 225cb76d469f..55534aba22bf 100644
>>> --- a/include/rdma/ib_verbs.h
>>> +++ b/include/rdma/ib_verbs.h
>>> @@ -108,6 +108,7 @@ enum rdma_node_type {
>>>  	RDMA_NODE_RNIC,
>>>  	RDMA_NODE_USNIC,
>>>  	RDMA_NODE_USNIC_UDP,
>>> +	RDMA_NODE_EFA,
>>>  };
>>>  
>>>  enum {
>>> @@ -119,14 +120,16 @@ enum rdma_transport_type {
>>>  	RDMA_TRANSPORT_IB,
>>>  	RDMA_TRANSPORT_IWARP,
>>>  	RDMA_TRANSPORT_USNIC,
>>> -	RDMA_TRANSPORT_USNIC_UDP
>>> +	RDMA_TRANSPORT_USNIC_UDP,
>>> +	RDMA_TRANSPORT_EFA,
>>>  };
>>>  
>>>  enum rdma_protocol_type {
>>>  	RDMA_PROTOCOL_IB,
>>>  	RDMA_PROTOCOL_IBOE,
>>>  	RDMA_PROTOCOL_IWARP,
>>> -	RDMA_PROTOCOL_USNIC_UDP
>>> +	RDMA_PROTOCOL_USNIC_UDP,
>>> +	RDMA_PROTOCOL_EFA,
>>>  };
>>>  
>>>  __attribute_const__ enum rdma_transport_type
>>> @@ -543,6 +546,7 @@ static inline struct rdma_hw_stats *rdma_alloc_hw_stats_struct(
>>>  #define RDMA_CORE_CAP_PROT_ROCE_UDP_ENCAP 0x00800000
>>>  #define RDMA_CORE_CAP_PROT_RAW_PACKET   0x01000000
>>>  #define RDMA_CORE_CAP_PROT_USNIC        0x02000000
>>> +#define RDMA_CORE_CAP_PROT_EFA          0x04000000
>>>  
>>>  #define RDMA_CORE_PORT_IB_GRH_REQUIRED (RDMA_CORE_CAP_IB_GRH_REQUIRED \
>>>  					| RDMA_CORE_CAP_PROT_ROCE     \
>>> diff --git a/include/uapi/rdma/rdma_user_ioctl_cmds.h b/include/uapi/rdma/rdma_user_ioctl_cmds.h
>>> index 06c34d99be85..26213f49f5c8 100644
>>> --- a/include/uapi/rdma/rdma_user_ioctl_cmds.h
>>> +++ b/include/uapi/rdma/rdma_user_ioctl_cmds.h
>>> @@ -102,6 +102,7 @@ enum rdma_driver_id {
>>>  	RDMA_DRIVER_RXE,
>>>  	RDMA_DRIVER_HFI1,
>>>  	RDMA_DRIVER_QIB,
>>> +	RDMA_DRIVER_EFA,
>>>  };
>>>  
>>>  #endif
>>
>> Looks fine.
>>
>> Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
>>
> Oops - correction:
> 
> Reviewed-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>

Thanks Steve!



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux