IB/mlx4: Utilize macro to calculate SQ spare size
authorYuval Shaia <yuval.shaia@oracle.com>
Tue, 11 Dec 2018 08:36:47 +0000 (10:36 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 18 Dec 2018 21:24:34 +0000 (14:24 -0700)
The macro MLX4_IB_SQ_HEADROOM calculates the spare room needed to be
left. Use it instead of hard-coding the HW prefetch size.

Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/mlx4/qp.c

index 74ef7a0..651d859 100644 (file)
@@ -401,7 +401,7 @@ static int set_kernel_sq_size(struct mlx4_ib_dev *dev, struct ib_qp_cap *cap,
         * We need to leave 2 KB + 1 WR of headroom in the SQ to
         * allow HW to prefetch.
         */
-       qp->sq_spare_wqes = (2048 >> qp->sq.wqe_shift) + 1;
+       qp->sq_spare_wqes = MLX4_IB_SQ_HEADROOM(qp->sq.wqe_shift);
        qp->sq.wqe_cnt = roundup_pow_of_two(cap->max_send_wr +
                                            qp->sq_spare_wqes);