IB/mlx5: Fix blue flame buffer size calculation
Subsystems (2)
PATCH 1/1 IB/mlx5: Fix blue flame buffer size calculation
From: Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/[email protected]>
A blue flame register is comprised of two buffers of equal size.
Fixes 5fe9dec0d0454 ("IB/mlx5: Use blue flame register allocator in mlx5_ib")
Signed-off-by Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/[email protected]>
Signed-off-by Leon Romanovsky <[email protected]>
--- drivers/infiniband/hw/mlx5/qp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/infiniband/hw/mlx5/qp.c +4 -1
@@ -905,7 +905,10 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev,else qp->bf.bfreg = &dev->bfreg; - qp->bf.buf_size =1 <<MLX5_CAP_GEN (dev->mdev, log_bf_reg_size); +/* We need to divide by two since each register is comprised of +* two buffers of identical size, namely odd and even +*/ + qp->bf.buf_size =1 <<MLX5_CAP_GEN (dev->mdev, log_bf_reg_size) /2 ; uar_index = qp->bf.bfreg->index; err =calc_sq_size (dev, init_attr, qp);
--
2.11.1
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html