Re: [PATCH rdma-core 2/3] libhns: Modify the usage of cmd_sn in hip08 RoCE userspace

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

 



On Wed, Nov 01, 2017 at 06:00:39PM +0800, Lijun Ou wrote:
> The cmd_sn field of CQ doorbell should be 1 for the first
> db rung. It inits for 0. It should be increment on each
> first db rung after a complemention Event.
>
> Signed-off-by: Lijun Ou <oulijun@xxxxxxxxxx>
> ---
>  providers/hns/hns_roce_u_hw_v2.c | 4 +++-
>  providers/hns/hns_roce_u_hw_v2.h | 2 ++
>  2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c
> index 900387c..7777e75 100644
> --- a/providers/hns/hns_roce_u_hw_v2.c
> +++ b/providers/hns/hns_roce_u_hw_v2.c
> @@ -444,11 +444,13 @@ static int hns_roce_u_v2_poll_cq(struct ibv_cq *ibvcq, int ne,
>  static int hns_roce_u_v2_arm_cq(struct ibv_cq *ibvcq, int solicited)
>  {
>  	uint32_t ci;
> +	uint32_t cmd_sn;
>  	uint32_t solicited_flag;
>  	struct hns_roce_v2_cq_db cq_db;
>  	struct hns_roce_cq *cq = to_hr_cq(ibvcq);
>
>  	ci  = cq->cons_index & ((cq->cq_depth << 1) - 1);
> +	cmd_sn = cq->arm_sn & HNS_ROCE_CMDSN_MASK;

I didn't understand it from you commit message, so I'll ask it here.
cmd_en will be 1,2 and 3 now, is it ok?

Thanks

>  	solicited_flag = solicited ? HNS_ROCE_V2_CQ_DB_REQ_SOL :
>  				     HNS_ROCE_V2_CQ_DB_REQ_NEXT;
>
> @@ -462,7 +464,7 @@ static int hns_roce_u_v2_arm_cq(struct ibv_cq *ibvcq, int solicited)
>  		       CQ_DB_PARAMETER_CQ_CONSUMER_IDX_S, ci);
>
>  	roce_set_field(cq_db.parameter, CQ_DB_PARAMETER_CMD_SN_M,
> -		       CQ_DB_PARAMETER_CMD_SN_S, 1);
> +		       CQ_DB_PARAMETER_CMD_SN_S, cmd_sn);
>  	roce_set_bit(cq_db.parameter, CQ_DB_PARAMETER_NOTIFY_S, solicited_flag);
>
>  	hns_roce_write64((uint32_t *)&cq_db, to_hr_ctx(ibvcq->context),
> diff --git a/providers/hns/hns_roce_u_hw_v2.h b/providers/hns/hns_roce_u_hw_v2.h
> index 28aab60..196ba4e 100644
> --- a/providers/hns/hns_roce_u_hw_v2.h
> +++ b/providers/hns/hns_roce_u_hw_v2.h
> @@ -38,6 +38,8 @@
>  #define HNS_ROCE_V2_CQ_DB_REQ_SOL		1
>  #define HNS_ROCE_V2_CQ_DB_REQ_NEXT		0
>
> +#define HNS_ROCE_CMDSN_MASK			0x3
> +
>  /* V2 REG DEFINITION */
>  #define ROCEE_VF_DB_CFG0_OFFSET			0x0230
>
> --
> 1.9.1
>

Attachment: signature.asc
Description: PGP signature


[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