Lines Matching defs:mdev

31 	struct mlx5_core_dev *mdev;
56 struct mlx5_core_dev *mdev;
75 struct mlx5_core_dev *mdev;
90 static int mlx5_crypto_dek_get_key_sz(struct mlx5_core_dev *mdev,
103 mlx5_core_err(mdev, "Crypto offload error, invalid key size (%u bits)\n",
111 static int mlx5_crypto_dek_fill_key(struct mlx5_core_dev *mdev, u8 *key_obj,
118 err = mlx5_crypto_dek_get_key_sz(mdev, sz_bytes, &key_sz);
135 static int mlx5_crypto_cmd_sync_crypto(struct mlx5_core_dev *mdev,
141 mlx5_core_dbg(mdev,
148 err = mlx5_cmd_exec_in(mdev, sync_crypto, in);
150 mlx5_core_err(mdev,
157 static int mlx5_crypto_create_dek_bulk(struct mlx5_core_dev *mdev,
175 MLX5_SET(encryption_key_obj, obj, pd, mdev->mlx5e_res.hw_objs.pdn);
177 err = mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
182 mlx5_core_dbg(mdev, "DEK objects created, bulk=%d, obj_id=%d\n",
188 static int mlx5_crypto_modify_dek_key(struct mlx5_core_dev *mdev,
209 MLX5_SET(encryption_key_obj, obj, pd, mdev->mlx5e_res.hw_objs.pdn);
211 err = mlx5_crypto_dek_fill_key(mdev, obj, key, sz_bytes);
215 err = mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
223 static int mlx5_crypto_create_dek_key(struct mlx5_core_dev *mdev,
233 general_obj_types = MLX5_CAP_GEN_64(mdev, general_obj_types);
245 MLX5_SET(encryption_key_obj, obj, pd, mdev->mlx5e_res.hw_objs.pdn);
247 err = mlx5_crypto_dek_fill_key(mdev, obj, key, sz_bytes);
251 err = mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
261 static void mlx5_crypto_destroy_dek_key(struct mlx5_core_dev *mdev, u32 key_id)
272 mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
275 int mlx5_create_encryption_key(struct mlx5_core_dev *mdev,
279 return mlx5_crypto_create_dek_key(mdev, key, sz_bytes, key_type, p_key_id);
282 void mlx5_destroy_encryption_key(struct mlx5_core_dev *mdev, u32 key_id)
284 mlx5_crypto_destroy_dek_key(mdev, key_id);
290 struct mlx5_crypto_dek_priv *dek_priv = pool->mdev->mlx5e_res.dek_priv;
291 struct mlx5_core_dev *mdev = pool->mdev;
313 err = mlx5_crypto_create_dek_bulk(mdev, pool->key_purpose,
322 bulk->mdev = mdev;
351 mlx5_crypto_destroy_dek_key(bulk->mdev, bulk->base_obj_id);
383 mlx5_core_err(pool->mdev, "Wrong DEK bulk avail_start.\n");
595 err = mlx5_crypto_cmd_sync_crypto(pool->mdev, BIT(pool->key_purpose));
606 struct mlx5_crypto_dek_priv *dek_priv = dek_pool->mdev->mlx5e_res.dek_priv;
607 struct mlx5_core_dev *mdev = dek_pool->mdev;
619 err = mlx5_crypto_create_dek_key(mdev, key, sz_bytes,
632 err = mlx5_crypto_modify_dek_key(mdev, key, sz_bytes, key_purpose,
651 struct mlx5_crypto_dek_priv *dek_priv = dek_pool->mdev->mlx5e_res.dek_priv;
652 struct mlx5_core_dev *mdev = dek_pool->mdev;
655 mlx5_crypto_destroy_dek_key(mdev, dek->obj_id);
682 mlx5_crypto_dek_pool_create(struct mlx5_core_dev *mdev, int key_purpose)
690 pool->mdev = mdev;
743 struct mlx5_crypto_dek_priv *mlx5_crypto_dek_init(struct mlx5_core_dev *mdev)
748 if (!MLX5_CAP_CRYPTO(mdev, log_dek_max_alloc))
755 dek_priv->mdev = mdev;
757 MLX5_CAP_CRYPTO(mdev, log_dek_max_alloc));
760 err = mlx5_crypto_cmd_sync_crypto(mdev, MLX5_CRYPTO_DEK_ALL_TYPE);
764 mlx5_core_dbg(mdev, "Crypto DEK enabled, %d deks per alloc (max %d), total %d\n",
766 1 << MLX5_CAP_CRYPTO(mdev, log_dek_max_alloc),
767 1 << MLX5_CAP_CRYPTO(mdev, log_max_num_deks));