Commit 385a06f7 authored by Maher Sanalla's avatar Maher Sanalla Committed by Leon Romanovsky
Browse files

net/mlx5: Expose TLP emulation capabilities



Expose and query TLP device emulation caps on driver load.

Signed-off-by: default avatarMaher Sanalla <msanalla@nvidia.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
parent 01b77685
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -255,6 +255,12 @@ int mlx5_query_hca_caps(struct mlx5_core_dev *dev)
			return err;
	}

	if (MLX5_CAP_GEN(dev, tlp_device_emulation_manager)) {
		err = mlx5_core_get_caps_mode(dev, MLX5_CAP_TLP_EMULATION, HCA_CAP_OPMOD_GET_CUR);
		if (err)
			return err;
	}

	if (MLX5_CAP_GEN(dev, ipsec_offload)) {
		err = mlx5_core_get_caps_mode(dev, MLX5_CAP_IPSEC, HCA_CAP_OPMOD_GET_CUR);
		if (err)
+1 −0
Original line number Diff line number Diff line
@@ -1772,6 +1772,7 @@ static const int types[] = {
	MLX5_CAP_CRYPTO,
	MLX5_CAP_SHAMPO,
	MLX5_CAP_ADV_RDMA,
	MLX5_CAP_TLP_EMULATION,
};

static void mlx5_hca_caps_free(struct mlx5_core_dev *dev)
+9 −0
Original line number Diff line number Diff line
@@ -1259,6 +1259,7 @@ enum mlx5_cap_type {
	MLX5_CAP_PORT_SELECTION = 0x25,
	MLX5_CAP_ADV_VIRTUALIZATION = 0x26,
	MLX5_CAP_ADV_RDMA = 0x28,
	MLX5_CAP_TLP_EMULATION = 0x2a,
	/* NUM OF CAP Types */
	MLX5_CAP_NUM
};
@@ -1481,6 +1482,14 @@ enum mlx5_qcam_feature_groups {
	MLX5_GET64(virtio_emulation_cap, \
		(mdev)->caps.hca[MLX5_CAP_VDPA_EMULATION]->cur, cap)

#define MLX5_CAP_DEV_TLP_EMULATION(mdev, cap)\
	MLX5_GET(tlp_dev_emu_capabilities, \
		(mdev)->caps.hca[MLX5_CAP_TLP_EMULATION]->cur, cap)

#define MLX5_CAP64_DEV_TLP_EMULATION(mdev, cap)\
	MLX5_GET64(tlp_dev_emu_capabilities, \
		(mdev)->caps.hca[MLX5_CAP_TLP_EMULATION]->cur, cap)

#define MLX5_CAP_IPSEC(mdev, cap)\
	MLX5_GET(ipsec_cap, (mdev)->caps.hca[MLX5_CAP_IPSEC]->cur, cap)