IB/mlx4: Expose RSS capabilities
authorGuy Levi <guyle@mellanox.com>
Tue, 4 Jul 2017 13:24:27 +0000 (16:24 +0300)
committerDoug Ledford <dledford@redhat.com>
Mon, 24 Jul 2017 14:45:53 +0000 (10:45 -0400)
As a final step to support RSS feature, expose the RSS capabilities in
query device verb.

It includes:
- Max rwq indirection tables.
- Max rwq indirection table size.
- Supported qp types.

Signed-off-by: Guy Levi <guyle@mellanox.com>
Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx4/main.c

index b42234571a8c76009c026e50155e421445405065..1dee0a51ef67f930bf0a8278b2c4fafdaae83f77 100644 (file)
@@ -556,8 +556,13 @@ static int mlx4_ib_query_device(struct ib_device *ibdev,
 
        if ((dev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_RSS) &&
            (mlx4_ib_port_link_layer(ibdev, 1) == IB_LINK_LAYER_ETHERNET ||
-            mlx4_ib_port_link_layer(ibdev, 2) == IB_LINK_LAYER_ETHERNET))
+            mlx4_ib_port_link_layer(ibdev, 2) == IB_LINK_LAYER_ETHERNET)) {
+               props->rss_caps.max_rwq_indirection_tables = props->max_qp;
+               props->rss_caps.max_rwq_indirection_table_size =
+                       dev->dev->caps.max_rss_tbl_sz;
+               props->rss_caps.supported_qpts = 1 << IB_QPT_RAW_PACKET;
                props->max_wq_type_rq = props->max_qp;
+       }
 
        if (!mlx4_is_slave(dev->dev))
                err = mlx4_get_internal_clock_params(dev->dev, &clock_params);