On Mon, Mar 02, 2020 at 05:22:17PM +0800, Weihang Li wrote: > From: Lang Cheng <chenglang@xxxxxxxxxx> > > Minimum depth of qp should be allowed to be set to 0 according to the > firmware configuration. And when qp is changed from reset to reset, the > capability of minimum qp depth was used to identify hardware of hip06, > it should be changed into a more readable form. And what does it mean "qp depth == 0"? > > Signed-off-by: Lang Cheng <chenglang@xxxxxxxxxx> > Signed-off-by: Weihang Li <liweihang@xxxxxxxxxx> > --- > drivers/infiniband/hw/hns/hns_roce_qp.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c > index 2a75355..10c4354 100644 > --- a/drivers/infiniband/hw/hns/hns_roce_qp.c > +++ b/drivers/infiniband/hw/hns/hns_roce_qp.c > @@ -382,10 +382,10 @@ static int set_rq_size(struct hns_roce_dev *hr_dev, > return -EINVAL; > } > > - if (hr_dev->caps.min_wqes) > + if (cap->max_recv_wr) > max_cnt = max(cap->max_recv_wr, hr_dev->caps.min_wqes); > else > - max_cnt = cap->max_recv_wr; > + max_cnt = 0; It is basically the same thing: cap->max_recv_wr == 0. > > hr_qp->rq.wqe_cnt = roundup_pow_of_two(max_cnt); > > @@ -652,10 +652,10 @@ static int set_kernel_sq_size(struct hns_roce_dev *hr_dev, > > hr_qp->sq.wqe_shift = ilog2(hr_dev->caps.max_sq_desc_sz); > > - if (hr_dev->caps.min_wqes) > + if (cap->max_send_wr) > max_cnt = max(cap->max_send_wr, hr_dev->caps.min_wqes); > else > - max_cnt = cap->max_send_wr; > + max_cnt = 0; Ditto > > hr_qp->sq.wqe_cnt = roundup_pow_of_two(max_cnt); > if ((u32)hr_qp->sq.wqe_cnt > hr_dev->caps.max_wqes) { > @@ -1394,11 +1394,10 @@ int hns_roce_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, > goto out; > > if (cur_state == new_state && cur_state == IB_QPS_RESET) { > - if (hr_dev->caps.min_wqes) { > + if (hr_dev->hw_rev == HNS_ROCE_HW_VER1) { > ret = -EPERM; > ibdev_err(&hr_dev->ib_dev, > - "cur_state=%d new_state=%d\n", cur_state, > - new_state); > + "Unsupport to modify qp from reset to reset\n"); "RST2RST state is not supported\n" > } else { > ret = 0; > } > -- > 2.8.1 >