net/mlx5e: kTLS, Introduce TLS-specific create TIS
authorTariq Toukan <tariqt@nvidia.com>
Wed, 27 Jul 2022 09:43:43 +0000 (12:43 +0300)
committerJakub Kicinski <kuba@kernel.org>
Fri, 29 Jul 2022 04:50:54 +0000 (21:50 -0700)
TLS TIS objects have a defined role in mapping and reaching the HW TLS
contexts.  Some standard TIS attributes (like LAG port affinity) are
not relevant for them.

Use a dedicated TLS TIS create function instead of the generic
mlx5e_create_tis.

Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Gal Pressman <gal@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c

index fba21ed..73ba250 100644 (file)
@@ -39,16 +39,20 @@ u16 mlx5e_ktls_get_stop_room(struct mlx5_core_dev *mdev, struct mlx5e_params *pa
        return stop_room;
 }
 
+static void mlx5e_ktls_set_tisc(struct mlx5_core_dev *mdev, void *tisc)
+{
+       MLX5_SET(tisc, tisc, tls_en, 1);
+       MLX5_SET(tisc, tisc, pd, mdev->mlx5e_res.hw_objs.pdn);
+       MLX5_SET(tisc, tisc, transport_domain, mdev->mlx5e_res.hw_objs.td.tdn);
+}
+
 static int mlx5e_ktls_create_tis(struct mlx5_core_dev *mdev, u32 *tisn)
 {
        u32 in[MLX5_ST_SZ_DW(create_tis_in)] = {};
-       void *tisc;
-
-       tisc = MLX5_ADDR_OF(create_tis_in, in, ctx);
 
-       MLX5_SET(tisc, tisc, tls_en, 1);
+       mlx5e_ktls_set_tisc(mdev, MLX5_ADDR_OF(create_tis_in, in, ctx));
 
-       return mlx5e_create_tis(mdev, in, tisn);
+       return mlx5_core_create_tis(mdev, in, tisn);
 }
 
 struct mlx5e_ktls_offload_context_tx {