Re: [PATCH for-next] RDMA/hns: Support owner mode doorbell

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

 



On 2020/9/27 14:30, Leon Romanovsky wrote:
> On Fri, Sep 25, 2020 at 04:23:34PM +0800, Weihang Li wrote:
>> From: Lang Cheng <chenglang@xxxxxxxxxx>
>>
>> The doorbell needs to store PI information into QPC, so the RoCEE should
>> wait for the results of storing, that is, it needs two bus operations to
>> complete a doorbell. When ROCEE is in SDI mode, multiple doorbells may be
>> interlocked because the RoCEE can only handle bus operations serially. So a
>> flag to mark if HIP09 is working in SDI mode is added. When the SDI flag is
>> set, the ROCEE will ignore the PI information of the doorbell, continue to
>> fetch wqe and verify its validity by it's owner_bit.
>>
>> Signed-off-by: Lang Cheng <chenglang@xxxxxxxxxx>
>> Signed-off-by: Weihang Li <liweihang@xxxxxxxxxx>
>> ---
>>  drivers/infiniband/hw/hns/hns_roce_device.h |  5 ++++-
>>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c  | 28 ++++++++++++++++++++++------
>>  drivers/infiniband/hw/hns/hns_roce_qp.c     |  3 +++
>>  3 files changed, 29 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h b/drivers/infiniband/hw/hns/hns_roce_device.h
>> index a8183ef..517c127 100644
>> --- a/drivers/infiniband/hw/hns/hns_roce_device.h
>> +++ b/drivers/infiniband/hw/hns/hns_roce_device.h
>> @@ -137,9 +137,10 @@ enum {
>>  	SERV_TYPE_UD,
>>  };
>>
>> -enum {
>> +enum hns_roce_qp_caps {
>>  	HNS_ROCE_QP_CAP_RQ_RECORD_DB = BIT(0),
>>  	HNS_ROCE_QP_CAP_SQ_RECORD_DB = BIT(1),
>> +	HNS_ROCE_QP_CAP_OWNER_DB = BIT(2),
>>  };
>>
>>  enum hns_roce_cq_flags {
>> @@ -229,6 +230,8 @@ enum {
>>  	HNS_ROCE_CAP_FLAG_FRMR                  = BIT(8),
>>  	HNS_ROCE_CAP_FLAG_QP_FLOW_CTRL		= BIT(9),
>>  	HNS_ROCE_CAP_FLAG_ATOMIC		= BIT(10),
>> +	HNS_ROCE_CAP_FLAG_SDI_MODE		= BIT(14),
>> +	HNS_ROCE_CAP_FLAG_MAX			= BIT(28)
> 
> This enum is not used.
> 
> Thanks
> 

Thank you, the enum is not used in this patch. I will remove it
and add it back when needed later.

Weihang



[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