Re: [PATCH for-next 2/5] RDMA/hns: Reorganize hns_roce_create_cq()

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

 



On Wed, Mar 17, 2021 at 05:09:40PM +0800, Weihang Li wrote:
> From: Yixing Liu <liuyixing1@xxxxxxxxxx>
> 
> Encapsulate two subprocesses into functions.
> 
> Signed-off-by: Yixing Liu <liuyixing1@xxxxxxxxxx>
> Signed-off-by: Weihang Li <liweihang@xxxxxxxxxx>
>  drivers/infiniband/hw/hns/hns_roce_cq.c | 87 ++++++++++++++++++++++-----------
>  1 file changed, 59 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/infiniband/hw/hns/hns_roce_cq.c b/drivers/infiniband/hw/hns/hns_roce_cq.c
> index 74fc494..467caa9 100644
> +++ b/drivers/infiniband/hw/hns/hns_roce_cq.c
> @@ -276,6 +276,58 @@ static void free_cq_db(struct hns_roce_dev *hr_dev, struct hns_roce_cq *hr_cq,
>  	}
>  }
>  
> +static int verify_cq_create_attr(struct hns_roce_dev *hr_dev,
> +				 const struct ib_cq_init_attr *attr)
> +{
> +	struct ib_device *ibdev = &hr_dev->ib_dev;
> +
> +	if (!attr->cqe || attr->cqe > hr_dev->caps.max_cqes) {
> +		ibdev_err(ibdev, "failed to check CQ count %u, max = %u.\n",
> +			  attr->cqe, hr_dev->caps.max_cqes);
> +		return -EINVAL;
> +	}
> +
> +	if (attr->comp_vector >= hr_dev->caps.num_comp_vectors) {
> +		ibdev_err(ibdev, "failed to check CQ vector = %u, max = %d.\n",
> +			  attr->comp_vector, hr_dev->caps.num_comp_vectors);
> +		return -EINVAL;
> +	}
> +
> +	return 0;
> +}
> +
> +static int get_cq_ucmd(struct hns_roce_cq *hr_cq, struct ib_udata *udata,
> +		       struct hns_roce_ib_create_cq *ucmd)
> +{
> +	struct ib_device *ibdev = hr_cq->ib_cq.device;
> +	int ret;
> +
> +	ret = ib_copy_from_udata(ucmd, udata, min(udata->inlen,
> +						  sizeof(*ucmd)));

Is this leading up to something? Wrapping one function in another is
getting a bit silly

Jason



[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