mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-06 20:53:54 +08:00
RDMA/erdma: Correct the max_qp and max_cq capacities of the device
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: 1550557717
("RDMA/erdma: Add verbs implementation")
Link: https://lore.kernel.org/all/20220810014320.88026-1-chengyou@linux.alibaba.com
Signed-off-by: Cheng Xu <chengyou@linux.alibaba.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
This commit is contained in:
parent
1374901b85
commit
6cd8351c4e
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user