提交 8bebfd76 编写于 作者: E Eli Cohen 提交者: Saeed Mahameed

net/mlx5: Improve naming of pci function vectors

The variable pf_vec is used to denote the number of vectors required for
the pci function's own use. To avoid confusion interpreting pf as
physical function, change the name to pcif_vec.

Same reasoning goes for pf_pool which is really pci function pool.
Signed-off-by: NEli Cohen <elic@nvidia.com>
Reviewed-by: NShay Drory <shayd@nvidia.com>
Signed-off-by: NSaeed Mahameed <saeedm@nvidia.com>
Reviewed-by: NJacob Keller <jacob.e.keller@intel.com>
上级 bbac70c7
...@@ -33,7 +33,7 @@ struct mlx5_irq { ...@@ -33,7 +33,7 @@ struct mlx5_irq {
}; };
struct mlx5_irq_table { struct mlx5_irq_table {
struct mlx5_irq_pool *pf_pool; struct mlx5_irq_pool *pcif_pool;
struct mlx5_irq_pool *sf_ctrl_pool; struct mlx5_irq_pool *sf_ctrl_pool;
struct mlx5_irq_pool *sf_comp_pool; struct mlx5_irq_pool *sf_comp_pool;
}; };
...@@ -337,7 +337,7 @@ struct mlx5_irq_pool *mlx5_irq_pool_get(struct mlx5_core_dev *dev) ...@@ -337,7 +337,7 @@ struct mlx5_irq_pool *mlx5_irq_pool_get(struct mlx5_core_dev *dev)
/* In some configs, there won't be a pool of SFs IRQs. Hence, returning /* In some configs, there won't be a pool of SFs IRQs. Hence, returning
* the PF IRQs pool in case the SF pool doesn't exist. * the PF IRQs pool in case the SF pool doesn't exist.
*/ */
return pool ? pool : irq_table->pf_pool; return pool ? pool : irq_table->pcif_pool;
} }
static struct mlx5_irq_pool *ctrl_irq_pool_get(struct mlx5_core_dev *dev) static struct mlx5_irq_pool *ctrl_irq_pool_get(struct mlx5_core_dev *dev)
...@@ -351,7 +351,7 @@ static struct mlx5_irq_pool *ctrl_irq_pool_get(struct mlx5_core_dev *dev) ...@@ -351,7 +351,7 @@ static struct mlx5_irq_pool *ctrl_irq_pool_get(struct mlx5_core_dev *dev)
/* In some configs, there won't be a pool of SFs IRQs. Hence, returning /* In some configs, there won't be a pool of SFs IRQs. Hence, returning
* the PF IRQs pool in case the SF pool doesn't exist. * the PF IRQs pool in case the SF pool doesn't exist.
*/ */
return pool ? pool : irq_table->pf_pool; return pool ? pool : irq_table->pcif_pool;
} }
/** /**
...@@ -426,7 +426,7 @@ struct mlx5_irq *mlx5_irq_request(struct mlx5_core_dev *dev, u16 vecidx, ...@@ -426,7 +426,7 @@ struct mlx5_irq *mlx5_irq_request(struct mlx5_core_dev *dev, u16 vecidx,
struct mlx5_irq_pool *pool; struct mlx5_irq_pool *pool;
struct mlx5_irq *irq; struct mlx5_irq *irq;
pool = irq_table->pf_pool; pool = irq_table->pcif_pool;
irq = irq_pool_request_vector(pool, vecidx, af_desc); irq = irq_pool_request_vector(pool, vecidx, af_desc);
if (IS_ERR(irq)) if (IS_ERR(irq))
return irq; return irq;
...@@ -519,7 +519,7 @@ static void irq_pool_free(struct mlx5_irq_pool *pool) ...@@ -519,7 +519,7 @@ static void irq_pool_free(struct mlx5_irq_pool *pool)
kvfree(pool); kvfree(pool);
} }
static int irq_pools_init(struct mlx5_core_dev *dev, int sf_vec, int pf_vec) static int irq_pools_init(struct mlx5_core_dev *dev, int sf_vec, int pcif_vec)
{ {
struct mlx5_irq_table *table = dev->priv.irq_table; struct mlx5_irq_table *table = dev->priv.irq_table;
int num_sf_ctrl_by_msix; int num_sf_ctrl_by_msix;
...@@ -527,12 +527,12 @@ static int irq_pools_init(struct mlx5_core_dev *dev, int sf_vec, int pf_vec) ...@@ -527,12 +527,12 @@ static int irq_pools_init(struct mlx5_core_dev *dev, int sf_vec, int pf_vec)
int num_sf_ctrl; int num_sf_ctrl;
int err; int err;
/* init pf_pool */ /* init pcif_pool */
table->pf_pool = irq_pool_alloc(dev, 0, pf_vec, NULL, table->pcif_pool = irq_pool_alloc(dev, 0, pcif_vec, NULL,
MLX5_EQ_SHARE_IRQ_MIN_COMP, MLX5_EQ_SHARE_IRQ_MIN_COMP,
MLX5_EQ_SHARE_IRQ_MAX_COMP); MLX5_EQ_SHARE_IRQ_MAX_COMP);
if (IS_ERR(table->pf_pool)) if (IS_ERR(table->pcif_pool))
return PTR_ERR(table->pf_pool); return PTR_ERR(table->pcif_pool);
if (!mlx5_sf_max_functions(dev)) if (!mlx5_sf_max_functions(dev))
return 0; return 0;
if (sf_vec < MLX5_IRQ_VEC_COMP_BASE_SF) { if (sf_vec < MLX5_IRQ_VEC_COMP_BASE_SF) {
...@@ -546,7 +546,7 @@ static int irq_pools_init(struct mlx5_core_dev *dev, int sf_vec, int pf_vec) ...@@ -546,7 +546,7 @@ static int irq_pools_init(struct mlx5_core_dev *dev, int sf_vec, int pf_vec)
MLX5_SFS_PER_CTRL_IRQ); MLX5_SFS_PER_CTRL_IRQ);
num_sf_ctrl = min_t(int, num_sf_ctrl_by_msix, num_sf_ctrl_by_sfs); num_sf_ctrl = min_t(int, num_sf_ctrl_by_msix, num_sf_ctrl_by_sfs);
num_sf_ctrl = min_t(int, MLX5_IRQ_CTRL_SF_MAX, num_sf_ctrl); num_sf_ctrl = min_t(int, MLX5_IRQ_CTRL_SF_MAX, num_sf_ctrl);
table->sf_ctrl_pool = irq_pool_alloc(dev, pf_vec, num_sf_ctrl, table->sf_ctrl_pool = irq_pool_alloc(dev, pcif_vec, num_sf_ctrl,
"mlx5_sf_ctrl", "mlx5_sf_ctrl",
MLX5_EQ_SHARE_IRQ_MIN_CTRL, MLX5_EQ_SHARE_IRQ_MIN_CTRL,
MLX5_EQ_SHARE_IRQ_MAX_CTRL); MLX5_EQ_SHARE_IRQ_MAX_CTRL);
...@@ -555,7 +555,7 @@ static int irq_pools_init(struct mlx5_core_dev *dev, int sf_vec, int pf_vec) ...@@ -555,7 +555,7 @@ static int irq_pools_init(struct mlx5_core_dev *dev, int sf_vec, int pf_vec)
goto err_pf; goto err_pf;
} }
/* init sf_comp_pool */ /* init sf_comp_pool */
table->sf_comp_pool = irq_pool_alloc(dev, pf_vec + num_sf_ctrl, table->sf_comp_pool = irq_pool_alloc(dev, pcif_vec + num_sf_ctrl,
sf_vec - num_sf_ctrl, "mlx5_sf_comp", sf_vec - num_sf_ctrl, "mlx5_sf_comp",
MLX5_EQ_SHARE_IRQ_MIN_COMP, MLX5_EQ_SHARE_IRQ_MIN_COMP,
MLX5_EQ_SHARE_IRQ_MAX_COMP); MLX5_EQ_SHARE_IRQ_MAX_COMP);
...@@ -577,7 +577,7 @@ static int irq_pools_init(struct mlx5_core_dev *dev, int sf_vec, int pf_vec) ...@@ -577,7 +577,7 @@ static int irq_pools_init(struct mlx5_core_dev *dev, int sf_vec, int pf_vec)
err_sf_ctrl: err_sf_ctrl:
irq_pool_free(table->sf_ctrl_pool); irq_pool_free(table->sf_ctrl_pool);
err_pf: err_pf:
irq_pool_free(table->pf_pool); irq_pool_free(table->pcif_pool);
return err; return err;
} }
...@@ -587,7 +587,7 @@ static void irq_pools_destroy(struct mlx5_irq_table *table) ...@@ -587,7 +587,7 @@ static void irq_pools_destroy(struct mlx5_irq_table *table)
irq_pool_free(table->sf_comp_pool); irq_pool_free(table->sf_comp_pool);
irq_pool_free(table->sf_ctrl_pool); irq_pool_free(table->sf_ctrl_pool);
} }
irq_pool_free(table->pf_pool); irq_pool_free(table->pcif_pool);
} }
/* irq_table API */ /* irq_table API */
...@@ -618,9 +618,9 @@ void mlx5_irq_table_cleanup(struct mlx5_core_dev *dev) ...@@ -618,9 +618,9 @@ void mlx5_irq_table_cleanup(struct mlx5_core_dev *dev)
int mlx5_irq_table_get_num_comp(struct mlx5_irq_table *table) int mlx5_irq_table_get_num_comp(struct mlx5_irq_table *table)
{ {
if (!table->pf_pool->xa_num_irqs.max) if (!table->pcif_pool->xa_num_irqs.max)
return 1; return 1;
return table->pf_pool->xa_num_irqs.max - table->pf_pool->xa_num_irqs.min; return table->pcif_pool->xa_num_irqs.max - table->pcif_pool->xa_num_irqs.min;
} }
int mlx5_irq_table_create(struct mlx5_core_dev *dev) int mlx5_irq_table_create(struct mlx5_core_dev *dev)
...@@ -629,16 +629,16 @@ int mlx5_irq_table_create(struct mlx5_core_dev *dev) ...@@ -629,16 +629,16 @@ int mlx5_irq_table_create(struct mlx5_core_dev *dev)
MLX5_CAP_GEN(dev, max_num_eqs) : MLX5_CAP_GEN(dev, max_num_eqs) :
1 << MLX5_CAP_GEN(dev, log_max_eq); 1 << MLX5_CAP_GEN(dev, log_max_eq);
int total_vec; int total_vec;
int pf_vec; int pcif_vec;
int err; int err;
if (mlx5_core_is_sf(dev)) if (mlx5_core_is_sf(dev))
return 0; return 0;
pf_vec = MLX5_CAP_GEN(dev, num_ports) * num_online_cpus() + 1; pcif_vec = MLX5_CAP_GEN(dev, num_ports) * num_online_cpus() + 1;
pf_vec = min_t(int, pf_vec, num_eqs); pcif_vec = min_t(int, pcif_vec, num_eqs);
total_vec = pf_vec; total_vec = pcif_vec;
if (mlx5_sf_max_functions(dev)) if (mlx5_sf_max_functions(dev))
total_vec += MLX5_IRQ_CTRL_SF_MAX + total_vec += MLX5_IRQ_CTRL_SF_MAX +
MLX5_COMP_EQS_PER_SF * mlx5_sf_max_functions(dev); MLX5_COMP_EQS_PER_SF * mlx5_sf_max_functions(dev);
...@@ -646,9 +646,9 @@ int mlx5_irq_table_create(struct mlx5_core_dev *dev) ...@@ -646,9 +646,9 @@ int mlx5_irq_table_create(struct mlx5_core_dev *dev)
total_vec = pci_alloc_irq_vectors(dev->pdev, 1, total_vec, PCI_IRQ_MSIX); total_vec = pci_alloc_irq_vectors(dev->pdev, 1, total_vec, PCI_IRQ_MSIX);
if (total_vec < 0) if (total_vec < 0)
return total_vec; return total_vec;
pf_vec = min(pf_vec, total_vec); pcif_vec = min(pcif_vec, total_vec);
err = irq_pools_init(dev, total_vec - pf_vec, pf_vec); err = irq_pools_init(dev, total_vec - pcif_vec, pcif_vec);
if (err) if (err)
pci_free_irq_vectors(dev->pdev); pci_free_irq_vectors(dev->pdev);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册