Commit c8b89924 authored by Mark Bloch's avatar Mark Bloch Committed by Jason Gunthorpe
Browse files

IB/mlx5: Move loopback initialization to the corresponding stage



The loopback stage only initializes a lock, move it to be in
the CAPS initialization phase and get rid loopback step completely.

Signed-off-by: default avatarMark Bloch <markb@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 5e1e7612
Loading
Loading
Loading
Loading
+4 −12
Original line number Diff line number Diff line
@@ -4203,6 +4203,10 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev)
	INIT_LIST_HEAD(&dev->qp_list);
	spin_lock_init(&dev->reset_flow_resource_lock);

	if ((MLX5_CAP_GEN(dev->mdev, port_type) == MLX5_CAP_PORT_TYPE_ETH) &&
	    MLX5_CAP_GEN(dev->mdev, disable_local_lb))
		mutex_init(&dev->lb_mutex);

	return 0;
}

@@ -4384,15 +4388,6 @@ static int mlx5_ib_stage_class_attr_init(struct mlx5_ib_dev *dev)
	return 0;
}

static int mlx5_ib_stage_loopback_init(struct mlx5_ib_dev *dev)
{
	if ((MLX5_CAP_GEN(dev->mdev, port_type) == MLX5_CAP_PORT_TYPE_ETH) &&
	    MLX5_CAP_GEN(dev->mdev, disable_local_lb))
		mutex_init(&dev->lb_mutex);

	return 0;
}

static void __mlx5_ib_remove(struct mlx5_ib_dev *dev,
			     const struct mlx5_ib_profile *profile,
			     int stage)
@@ -4481,9 +4476,6 @@ static const struct mlx5_ib_profile pf_profile = {
	STAGE_CREATE(MLX5_IB_STAGE_CLASS_ATTR,
		     mlx5_ib_stage_class_attr_init,
		     NULL),
	STAGE_CREATE(MLX5_IB_STAGE_LOOPBACK,
		     mlx5_ib_stage_loopback_init,
		     NULL),
};

static void *mlx5_ib_add(struct mlx5_core_dev *mdev)
+0 −1
Original line number Diff line number Diff line
@@ -729,7 +729,6 @@ enum mlx5_ib_stages {
	MLX5_IB_STAGE_UMR_RESOURCES,
	MLX5_IB_STAGE_DELAY_DROP,
	MLX5_IB_STAGE_CLASS_ATTR,
	MLX5_IB_STAGE_LOOPBACK,
	MLX5_IB_STAGE_MAX,
};