diff options
author | Jack Morgenstein <jackm@dev.mellanox.co.il> | 2007-06-21 16:39:10 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2007-06-21 16:39:10 -0400 |
commit | c8681f14013d3ad2fc4fb4e30cfd4ea548f7a249 (patch) | |
tree | 4ea047565dcc3340dcd473fca5579a5cb2de349a /drivers/infiniband/hw/mlx4 | |
parent | 13ef5f44c3931dff1d75443a875e97b588d4b8f0 (diff) |
IB/mlx4: Correct max_srq_wr returned from mlx4_ib_query_device()
We need to keep a spare entry in the SRQ so that there always is a
next WQE available when posting receives (so that we can tell the
difference between a full queue and an empty queue). So subtract 1
from the value HW gives us before reporting the limit on SRQ entries
to consumers.
Found by Mellanox QA.
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/mlx4')
-rw-r--r-- | drivers/infiniband/hw/mlx4/main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 1095c82b38c2..c591616dccde 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c | |||
@@ -120,7 +120,7 @@ static int mlx4_ib_query_device(struct ib_device *ibdev, | |||
120 | props->max_qp_init_rd_atom = dev->dev->caps.max_qp_init_rdma; | 120 | props->max_qp_init_rd_atom = dev->dev->caps.max_qp_init_rdma; |
121 | props->max_res_rd_atom = props->max_qp_rd_atom * props->max_qp; | 121 | props->max_res_rd_atom = props->max_qp_rd_atom * props->max_qp; |
122 | props->max_srq = dev->dev->caps.num_srqs - dev->dev->caps.reserved_srqs; | 122 | props->max_srq = dev->dev->caps.num_srqs - dev->dev->caps.reserved_srqs; |
123 | props->max_srq_wr = dev->dev->caps.max_srq_wqes; | 123 | props->max_srq_wr = dev->dev->caps.max_srq_wqes - 1; |
124 | props->max_srq_sge = dev->dev->caps.max_srq_sge; | 124 | props->max_srq_sge = dev->dev->caps.max_srq_sge; |
125 | props->local_ca_ack_delay = dev->dev->caps.local_ca_ack_delay; | 125 | props->local_ca_ack_delay = dev->dev->caps.local_ca_ack_delay; |
126 | props->atomic_cap = dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_ATOMIC ? | 126 | props->atomic_cap = dev->dev->caps.flags & MLX4_DEV_CAP_FLAG_ATOMIC ? |