RDMA/qedr: Add EDPM max size to alloc ucontext response
User space should receive the maximum edpm size from kernel driver,
similar to other edpm/ldpm related limits. Add an additional parameter to
the alloc_ucontext_resp structure for the edpm maximum size.
In addition, pass an indication from user-space to kernel
(and not just kernel to user) that the DPM sizes are supported.
This is for supporting backward-forward compatibility between driver and
lib for everything related to DPM transaction and limit sizes.
This should have been part of commit mentioned in Fixes tag.
Link: https://lore.kernel.org/r/20200707063100.3811-3-michal.kalderon@marvell.com
Fixes: 93a3d05f9d
("RDMA/qedr: Add kernel capability flags for dpm enabled mode")
Signed-off-by: Ariel Elior <ariel.elior@marvell.com>
Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:

committed by
Jason Gunthorpe

parent
bbe4f42452
commit
eb7f84e379
@@ -320,9 +320,12 @@ int qedr_alloc_ucontext(struct ib_ucontext *uctx, struct ib_udata *udata)
|
||||
QEDR_DPM_TYPE_ROCE_LEGACY |
|
||||
QEDR_DPM_TYPE_ROCE_EDPM_MODE;
|
||||
|
||||
uresp.dpm_flags |= QEDR_DPM_SIZES_SET;
|
||||
uresp.ldpm_limit_size = QEDR_LDPM_MAX_SIZE;
|
||||
uresp.edpm_trans_size = QEDR_EDPM_TRANS_SIZE;
|
||||
if (ureq.context_flags & QEDR_SUPPORT_DPM_SIZES) {
|
||||
uresp.dpm_flags |= QEDR_DPM_SIZES_SET;
|
||||
uresp.ldpm_limit_size = QEDR_LDPM_MAX_SIZE;
|
||||
uresp.edpm_trans_size = QEDR_EDPM_TRANS_SIZE;
|
||||
uresp.edpm_limit_size = QEDR_EDPM_MAX_SIZE;
|
||||
}
|
||||
|
||||
uresp.wids_enabled = 1;
|
||||
uresp.wid_count = oparams.wid_count;
|
||||
|
Reference in New Issue
Block a user