Skip to content

Commit cdb21c1

Browse files
Kalesh APrleon
authored andcommitted
RDMA/bnxt_re: Add set_func_resources support for P5/P7 adapters
Enable set_func_resources for P5 and P7 adapters to handle VF resource distribution. Remove setting max resources per VF during PF initialization. This change is required for firmwares which does not support RoCE VF resource management by NIC driver. The code is same for all adapters now. Reviewed-by: Stephen Shi <[email protected]> Reviewed-by: Rukhsana Ansari <[email protected]> Signed-off-by: Kalesh AP <[email protected]> Signed-off-by: Selvin Xavier <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Leon Romanovsky <[email protected]>
1 parent 304cc83 commit cdb21c1

File tree

2 files changed

+7
-15
lines changed

2 files changed

+7
-15
lines changed

drivers/infiniband/hw/bnxt_re/main.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -291,11 +291,12 @@ static void bnxt_re_vf_res_config(struct bnxt_re_dev *rdev)
291291
* available at this point.
292292
*/
293293
rdev->num_vfs = pci_sriov_get_totalvfs(rdev->en_dev->pdev);
294-
if (!bnxt_qplib_is_chip_gen_p5_p7(rdev->chip_ctx)) {
295-
bnxt_re_set_resource_limits(rdev);
296-
bnxt_qplib_set_func_resources(&rdev->qplib_res, &rdev->rcfw,
297-
&rdev->qplib_ctx);
298-
}
294+
if (!rdev->num_vfs)
295+
return;
296+
297+
bnxt_re_set_resource_limits(rdev);
298+
bnxt_qplib_set_func_resources(&rdev->qplib_res, &rdev->rcfw,
299+
&rdev->qplib_ctx);
299300
}
300301

301302
static void bnxt_re_shutdown(struct auxiliary_device *adev)

drivers/infiniband/hw/bnxt_re/qplib_rcfw.c

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -851,10 +851,8 @@ int bnxt_qplib_init_rcfw(struct bnxt_qplib_rcfw *rcfw,
851851
* shall setup this area for VF. Skipping the
852852
* HW programming
853853
*/
854-
if (is_virtfn)
854+
if (is_virtfn || bnxt_qplib_is_chip_gen_p5_p7(rcfw->res->cctx))
855855
goto skip_ctx_setup;
856-
if (bnxt_qplib_is_chip_gen_p5_p7(rcfw->res->cctx))
857-
goto config_vf_res;
858856

859857
lvl = ctx->qpc_tbl.level;
860858
pgsz = bnxt_qplib_base_pg_size(&ctx->qpc_tbl);
@@ -898,13 +896,6 @@ int bnxt_qplib_init_rcfw(struct bnxt_qplib_rcfw *rcfw,
898896
req.number_of_srq = cpu_to_le32(ctx->srqc_tbl.max_elements);
899897
req.number_of_cq = cpu_to_le32(ctx->cq_tbl.max_elements);
900898

901-
config_vf_res:
902-
req.max_qp_per_vf = cpu_to_le32(ctx->vf_res.max_qp_per_vf);
903-
req.max_mrw_per_vf = cpu_to_le32(ctx->vf_res.max_mrw_per_vf);
904-
req.max_srq_per_vf = cpu_to_le32(ctx->vf_res.max_srq_per_vf);
905-
req.max_cq_per_vf = cpu_to_le32(ctx->vf_res.max_cq_per_vf);
906-
req.max_gid_per_vf = cpu_to_le32(ctx->vf_res.max_gid_per_vf);
907-
908899
skip_ctx_setup:
909900
if (BNXT_RE_HW_RETX(rcfw->res->dattr->dev_cap_flags))
910901
flags |= CMDQ_INITIALIZE_FW_FLAGS_HW_REQUESTER_RETX_SUPPORTED;

0 commit comments

Comments
 (0)