diff options
author | Shay Drory <shayd@nvidia.com> | 2021-11-14 14:01:21 +0300 |
---|---|---|
committer | Saeed Mahameed <saeedm@nvidia.com> | 2022-01-07 03:22:51 +0300 |
commit | 5256a46bf53872d9888c0d9c34382262b3006599 (patch) | |
tree | a52a20c76c52588d59be1d22db751e982730d8a6 /drivers/net/ethernet/mellanox/mlx5/core/eq.c | |
parent | 20f80ffcedfaaa3d15acccd5b622ebb769ac759b (diff) | |
download | linux-5256a46bf53872d9888c0d9c34382262b3006599.tar.xz |
net/mlx5: Introduce control IRQ request API
Currently, IRQ layer have a separate flow for ctrl and comp IRQs, and
the distinction between ctrl and comp IRQs is done in the IRQ layer.
In order to ease the coding and maintenance of the IRQ layer,
introduce a new API for requesting control IRQs -
mlx5_ctrl_irq_request(struct mlx5_core_dev *dev).
Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/eq.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/eq.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eq.c b/drivers/net/ethernet/mellanox/mlx5/core/eq.c index b695aad71ee1..1eb0326a489b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eq.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eq.c @@ -289,7 +289,10 @@ create_map_eq(struct mlx5_core_dev *dev, struct mlx5_eq *eq, mlx5_init_fbc(eq->frag_buf.frags, log_eq_stride, log_eq_size, &eq->fbc); init_eq_buf(eq); - eq->irq = mlx5_irq_request(dev, vecidx, param->affinity); + if (vecidx == MLX5_IRQ_EQ_CTRL) + eq->irq = mlx5_ctrl_irq_request(dev); + else + eq->irq = mlx5_irq_request(dev, vecidx, param->affinity); if (IS_ERR(eq->irq)) { err = PTR_ERR(eq->irq); goto err_buf; |