diff options
author | Jack Morgenstein <jackm@dev.mellanox.co.il> | 2012-08-03 04:40:41 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2012-09-30 23:33:31 -0400 |
commit | e2c76824ca16a3e8443cc7b26abcb21af7c27b10 (patch) | |
tree | 41d39111862e2e6faecb9ab356198e985c9bfe7d /drivers/net/ethernet/mellanox/mlx4/main.c | |
parent | 1ffeb2eb8be9936e9dc1f9af2d5f4c14d69a0d36 (diff) |
mlx4_core: Add proxy and tunnel QPs to the reserved QP area
In addition, pass the proxy and tunnel QP numbers to slaves so the
driver can perform special QP paravirtualization.
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/main.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c index 2f816c6aed72..06ef3afbc49a 100644 --- a/drivers/net/ethernet/mellanox/mlx4/main.c +++ b/drivers/net/ethernet/mellanox/mlx4/main.c | |||
@@ -384,6 +384,7 @@ static int mlx4_dev_cap(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap) | |||
384 | dev->caps.reserved_qps_cnt[MLX4_QP_REGION_FC_ADDR] + | 384 | dev->caps.reserved_qps_cnt[MLX4_QP_REGION_FC_ADDR] + |
385 | dev->caps.reserved_qps_cnt[MLX4_QP_REGION_FC_EXCH]; | 385 | dev->caps.reserved_qps_cnt[MLX4_QP_REGION_FC_EXCH]; |
386 | 386 | ||
387 | dev->caps.sqp_demux = (mlx4_is_master(dev)) ? MLX4_MAX_NUM_SLAVES : 0; | ||
387 | return 0; | 388 | return 0; |
388 | } | 389 | } |
389 | /*The function checks if there are live vf, return the num of them*/ | 390 | /*The function checks if there are live vf, return the num of them*/ |
@@ -541,6 +542,10 @@ static int mlx4_slave_cap(struct mlx4_dev *dev) | |||
541 | return -ENODEV; | 542 | return -ENODEV; |
542 | } | 543 | } |
543 | 544 | ||
545 | /* Calculate our sqp_start */ | ||
546 | dev->caps.sqp_start = func_cap.base_proxy_qpn; | ||
547 | dev->caps.base_tunnel_sqpn = func_cap.base_tunnel_qpn; | ||
548 | |||
544 | return 0; | 549 | return 0; |
545 | } | 550 | } |
546 | 551 | ||