|
@@ -767,22 +767,6 @@ static int mlx5_core_set_issi(struct mlx5_core_dev *dev)
|
|
|
return -ENOTSUPP;
|
|
return -ENOTSUPP;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-static int map_bf_area(struct mlx5_core_dev *dev)
|
|
|
|
|
-{
|
|
|
|
|
- resource_size_t bf_start = pci_resource_start(dev->pdev, 0);
|
|
|
|
|
- resource_size_t bf_len = pci_resource_len(dev->pdev, 0);
|
|
|
|
|
-
|
|
|
|
|
- dev->priv.bf_mapping = io_mapping_create_wc(bf_start, bf_len);
|
|
|
|
|
-
|
|
|
|
|
- return dev->priv.bf_mapping ? 0 : -ENOMEM;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-static void unmap_bf_area(struct mlx5_core_dev *dev)
|
|
|
|
|
-{
|
|
|
|
|
- if (dev->priv.bf_mapping)
|
|
|
|
|
- io_mapping_free(dev->priv.bf_mapping);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
static void mlx5_add_device(struct mlx5_interface *intf, struct mlx5_priv *priv)
|
|
static void mlx5_add_device(struct mlx5_interface *intf, struct mlx5_priv *priv)
|
|
|
{
|
|
{
|
|
|
struct mlx5_device_context *dev_ctx;
|
|
struct mlx5_device_context *dev_ctx;
|
|
@@ -1103,14 +1087,9 @@ static int mlx5_load_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv)
|
|
|
goto err_stop_eqs;
|
|
goto err_stop_eqs;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (map_bf_area(dev))
|
|
|
|
|
- dev_err(&pdev->dev, "Failed to map blue flame area\n");
|
|
|
|
|
-
|
|
|
|
|
err = mlx5_irq_set_affinity_hints(dev);
|
|
err = mlx5_irq_set_affinity_hints(dev);
|
|
|
- if (err) {
|
|
|
|
|
|
|
+ if (err)
|
|
|
dev_err(&pdev->dev, "Failed to alloc affinity hint cpumask\n");
|
|
dev_err(&pdev->dev, "Failed to alloc affinity hint cpumask\n");
|
|
|
- goto err_unmap_bf_area;
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
MLX5_INIT_DOORBELL_LOCK(&priv->cq_uar_lock);
|
|
MLX5_INIT_DOORBELL_LOCK(&priv->cq_uar_lock);
|
|
|
|
|
|
|
@@ -1169,10 +1148,6 @@ err_fs:
|
|
|
mlx5_cleanup_qp_table(dev);
|
|
mlx5_cleanup_qp_table(dev);
|
|
|
mlx5_cleanup_cq_table(dev);
|
|
mlx5_cleanup_cq_table(dev);
|
|
|
mlx5_irq_clear_affinity_hints(dev);
|
|
mlx5_irq_clear_affinity_hints(dev);
|
|
|
-
|
|
|
|
|
-err_unmap_bf_area:
|
|
|
|
|
- unmap_bf_area(dev);
|
|
|
|
|
-
|
|
|
|
|
free_comp_eqs(dev);
|
|
free_comp_eqs(dev);
|
|
|
|
|
|
|
|
err_stop_eqs:
|
|
err_stop_eqs:
|
|
@@ -1242,7 +1217,6 @@ static int mlx5_unload_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv)
|
|
|
mlx5_cleanup_qp_table(dev);
|
|
mlx5_cleanup_qp_table(dev);
|
|
|
mlx5_cleanup_cq_table(dev);
|
|
mlx5_cleanup_cq_table(dev);
|
|
|
mlx5_irq_clear_affinity_hints(dev);
|
|
mlx5_irq_clear_affinity_hints(dev);
|
|
|
- unmap_bf_area(dev);
|
|
|
|
|
free_comp_eqs(dev);
|
|
free_comp_eqs(dev);
|
|
|
mlx5_stop_eqs(dev);
|
|
mlx5_stop_eqs(dev);
|
|
|
mlx5_free_uuars(dev, &priv->uuari);
|
|
mlx5_free_uuars(dev, &priv->uuari);
|