Message ID | 20220810014320.88026-1-chengyou@linux.alibaba.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [for-rc] RDMA/erdma: Correct the max_qp and max_cq capacities of the device | expand |
On Wed, Aug 10, 2022 at 09:43:19AM +0800, Cheng Xu wrote: > QP0 in HW is used for CMDQ, and the rest is for RDMA QPs. So the actual > max_qp capacity reported to core should be max_qp (reported by HW) - 1. > So does max_cq. > > Fixes: 155055771704 ("RDMA/erdma: Add verbs implementation") > Signed-off-by: Cheng Xu <chengyou@linux.alibaba.com> > --- > drivers/infiniband/hw/erdma/erdma_verbs.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > Thanks, applied both patches to -rc. As a note, please group the patches properly and not as a reply. Or send them separately, or use cover letter. Thanks
On 8/16/22 9:32 PM, Leon Romanovsky wrote: > On Wed, Aug 10, 2022 at 09:43:19AM +0800, Cheng Xu wrote: >> QP0 in HW is used for CMDQ, and the rest is for RDMA QPs. So the actual >> max_qp capacity reported to core should be max_qp (reported by HW) - 1. >> So does max_cq. >> >> Fixes: 155055771704 ("RDMA/erdma: Add verbs implementation") >> Signed-off-by: Cheng Xu <chengyou@linux.alibaba.com> >> --- >> drivers/infiniband/hw/erdma/erdma_verbs.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> > > Thanks, applied both patches to -rc. > > As a note, please group the patches properly and not as a reply. > Or send them separately, or use cover letter. It's my fault. I shouldn't send the two patches together in one git send-email command. Thanks, Cheng Xu
diff --git a/drivers/infiniband/hw/erdma/erdma_verbs.c b/drivers/infiniband/hw/erdma/erdma_verbs.c index a7a3d42e2016..699bd3f59cd3 100644 --- a/drivers/infiniband/hw/erdma/erdma_verbs.c +++ b/drivers/infiniband/hw/erdma/erdma_verbs.c @@ -280,7 +280,7 @@ int erdma_query_device(struct ib_device *ibdev, struct ib_device_attr *attr, attr->vendor_id = PCI_VENDOR_ID_ALIBABA; attr->vendor_part_id = dev->pdev->device; attr->hw_ver = dev->pdev->revision; - attr->max_qp = dev->attrs.max_qp; + attr->max_qp = dev->attrs.max_qp - 1; attr->max_qp_wr = min(dev->attrs.max_send_wr, dev->attrs.max_recv_wr); attr->max_qp_rd_atom = dev->attrs.max_ord; attr->max_qp_init_rd_atom = dev->attrs.max_ird; @@ -291,7 +291,7 @@ int erdma_query_device(struct ib_device *ibdev, struct ib_device_attr *attr, attr->max_send_sge = dev->attrs.max_send_sge; attr->max_recv_sge = dev->attrs.max_recv_sge; attr->max_sge_rd = dev->attrs.max_sge_rd; - attr->max_cq = dev->attrs.max_cq; + attr->max_cq = dev->attrs.max_cq - 1; attr->max_cqe = dev->attrs.max_cqe; attr->max_mr = dev->attrs.max_mr; attr->max_pd = dev->attrs.max_pd;
QP0 in HW is used for CMDQ, and the rest is for RDMA QPs. So the actual max_qp capacity reported to core should be max_qp (reported by HW) - 1. So does max_cq. Fixes: 155055771704 ("RDMA/erdma: Add verbs implementation") Signed-off-by: Cheng Xu <chengyou@linux.alibaba.com> --- drivers/infiniband/hw/erdma/erdma_verbs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)