diff options
author | Shlomo Pongratz <shlomop@mellanox.com> | 2012-04-29 17:04:27 +0300 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2012-05-18 17:04:00 -0700 |
commit | e605b743f33d697ad885f99ac8aac480ab6aa6de (patch) | |
tree | cc4be106da589cc38964b9f15808476140e17d81 /drivers/infiniband/hw/mlx4/cq.c | |
parent | f4ec9e9531ac79ee2521faf7ad3d98978f747e42 (diff) | |
download | linux-stable-e605b743f33d697ad885f99ac8aac480ab6aa6de.tar.gz linux-stable-e605b743f33d697ad885f99ac8aac480ab6aa6de.tar.bz2 linux-stable-e605b743f33d697ad885f99ac8aac480ab6aa6de.zip |
IB/mlx4: Increase the number of vectors (EQs) available for ULPs
Enable IB ULPs to use a larger portion of the device EQs (which map to
IRQs). The mlx4_ib driver follows the mlx4_core framework of the EQs
to be divided among the device ports. In this scheme, for each IB
port, the number of allocated EQs follows the number of cores, subject
to other system constraints, such as number available MSI-X vectors.
Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw/mlx4/cq.c')
-rw-r--r-- | drivers/infiniband/hw/mlx4/cq.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mlx4/cq.c b/drivers/infiniband/hw/mlx4/cq.c index 34ac0e2e97ee..6d4ef71cbcdf 100644 --- a/drivers/infiniband/hw/mlx4/cq.c +++ b/drivers/infiniband/hw/mlx4/cq.c @@ -222,6 +222,9 @@ struct ib_cq *mlx4_ib_create_cq(struct ib_device *ibdev, int entries, int vector uar = &dev->priv_uar; } + if (dev->eq_table) + vector = dev->eq_table[vector % ibdev->num_comp_vectors]; + err = mlx4_cq_alloc(dev->dev, entries, &cq->buf.mtt, uar, cq->db.dma, &cq->mcq, vector, 0); if (err) |