Commit bb839f3a authored by Damodharam Ammepalli's avatar Damodharam Ammepalli Committed by Leon Romanovsky
Browse files

RDMA/bnxt_re: Fix MSN table size for variable wqe mode



For variable size wqe mode, the MSN table size should be
half the size of the SQ depth. Fixing this to avoid wrap
around problems in the retransmission path.

Fixes: de1d364c ("RDMA/bnxt_re: Add support for Variable WQE in Genp7 adapters")
Reviewed-by: default avatarKashyap Desai <kashyap.desai@broadcom.com>
Reviewed-by: default avatarKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: default avatarDamodharam Ammepalli <damodharam.ammepalli@broadcom.com>
Signed-off-by: default avatarSelvin Xavier <selvin.xavier@broadcom.com>
Link: https://patch.msgid.link/20241217102649.1377704-5-kalesh-anakkur.purayil@broadcom.com


Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent d13be54d
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -1033,7 +1033,12 @@ int bnxt_qplib_create_qp(struct bnxt_qplib_res *res, struct bnxt_qplib_qp *qp)
				    : 0;
	/* Update msn tbl size */
	if (qp->is_host_msn_tbl && psn_sz) {
		hwq_attr.aux_depth = roundup_pow_of_two(bnxt_qplib_set_sq_size(sq, qp->wqe_mode));
		if (qp->wqe_mode == BNXT_QPLIB_WQE_MODE_STATIC)
			hwq_attr.aux_depth =
				roundup_pow_of_two(bnxt_qplib_set_sq_size(sq, qp->wqe_mode));
		else
			hwq_attr.aux_depth =
				roundup_pow_of_two(bnxt_qplib_set_sq_size(sq, qp->wqe_mode)) / 2;
		qp->msn_tbl_sz = hwq_attr.aux_depth;
		qp->msn = 0;
	}