[ofa-general] [PATCH] mlx4_ib QP max msg size
Eli Cohen
eli at mellanox.co.il
Sun Aug 12 04:44:19 PDT 2007
Configure QP's max message size according to values queried
by query dev cap.
Signed-off-by: Eli Cohen <eli at mellnaox.co.il>
---
Index: linux-2.6.23-rc1/drivers/infiniband/hw/mlx4/qp.c
===================================================================
--- linux-2.6.23-rc1.orig/drivers/infiniband/hw/mlx4/qp.c 2007-08-08 18:19:30.000000000 +0300
+++ linux-2.6.23-rc1/drivers/infiniband/hw/mlx4/qp.c 2007-08-08 18:25:42.000000000 +0300
@@ -737,8 +737,9 @@ static int __mlx4_ib_modify_qp(struct ib
}
}
- if (ibqp->qp_type == IB_QPT_GSI || ibqp->qp_type == IB_QPT_SMI ||
- ibqp->qp_type == IB_QPT_UD)
+ if (ibqp->qp_type == IB_QPT_GSI || ibqp->qp_type == IB_QPT_SMI)
+ context->mtu_msgmax = (IB_MTU_4096 << 5) | 11;
+ else if (ibqp->qp_type == IB_QPT_UD)
context->mtu_msgmax = (IB_MTU_4096 << 5) | 11;
else if (attr_mask & IB_QP_PATH_MTU) {
if (attr->path_mtu < IB_MTU_256 || attr->path_mtu > IB_MTU_4096) {
@@ -746,7 +747,8 @@ static int __mlx4_ib_modify_qp(struct ib
attr->path_mtu);
goto out;
}
- context->mtu_msgmax = (attr->path_mtu << 5) | 31;
+ context->mtu_msgmax = (attr->path_mtu << 5) |
+ ilog2(dev->dev->caps.max_msg_sz);
}
if (qp->rq.wqe_cnt)
More information about the general
mailing list