Skip to content

Commit 260ce16

Browse files
ajitkhaparderleon
authored andcommitted
RDMA/bnxt_re: Support extended stats for Thor2 VF
The driver currently checks if the user is querying VF RoCE statistics. It will not send the query_roce_stats_ext HWRM command if it is for a VF. But Thor2 VF can support extended statistics. Allow query of extended stats for Thor2 VFs. Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Signed-off-by: Shravya KN <shravya.k-n@broadcom.com> Link: https://patch.msgid.link/20250523075952.1267827-1-kalesh-anakkur.purayil@broadcom.com Reviewed-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Leon Romanovsky <leon@kernel.org>
1 parent 6e7272a commit 260ce16

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

drivers/infiniband/hw/bnxt_re/qplib_fp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1113,7 +1113,7 @@ int bnxt_qplib_create_qp(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp)
11131113
qp_flags |= CMDQ_CREATE_QP_QP_FLAGS_FORCE_COMPLETION;
11141114
if (qp->wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE)
11151115
qp_flags |= CMDQ_CREATE_QP_QP_FLAGS_VARIABLE_SIZED_WQE_ENABLED;
1116-
if (_is_ext_stats_supported(res->dattr->dev_cap_flags) && !res->is_vf)
1116+
if (bnxt_ext_stats_supported(res->cctx, res->dattr->dev_cap_flags, res->is_vf))
11171117
qp_flags |= CMDQ_CREATE_QP_QP_FLAGS_EXT_STATS_ENABLED;
11181118

11191119
req.qp_flags = cpu_to_le32(qp_flags);

drivers/infiniband/hw/bnxt_re/qplib_sp.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,12 @@ int bnxt_qplib_qext_stat(struct bnxt_qplib_rcfw *rcfw, u32 fid,
846846

847847
req.resp_size = sbuf.size / BNXT_QPLIB_CMDQE_UNITS;
848848
req.resp_addr = cpu_to_le64(sbuf.dma_addr);
849-
req.function_id = cpu_to_le32(fid);
849+
if (bnxt_qplib_is_chip_gen_p7(rcfw->res->cctx) && rcfw->res->is_vf)
850+
req.function_id =
851+
cpu_to_le32(CMDQ_QUERY_ROCE_STATS_EXT_VF_VALID |
852+
(fid << CMDQ_QUERY_ROCE_STATS_EXT_VF_NUM_SFT));
853+
else
854+
req.function_id = cpu_to_le32(fid);
850855
req.flags = cpu_to_le16(CMDQ_QUERY_ROCE_STATS_EXT_FLAGS_FUNCTION_ID);
851856

852857
bnxt_qplib_fill_cmdqmsg(&msg, &req, &resp, &sbuf, sizeof(req),

0 commit comments

Comments
 (0)