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 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>





[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