Hi All, This series is aimed mlx5-next branch, it includes a couple of low level updates for mlx5_core driver, needed for both rdma and net-next trees. 1) Bodong refactors query esw functions so he could use it to support querying max VFs from device. 2) Vu, handles VF representors creation from VF creation handler context. 3) Daniel, increased the fw initialization wait timeout for large sriov configuration. 4) Yuval, refactors IRQ vectors management and separates them from EQs, so IRQs can be shared between different EQs to save system resources, especially on VMs and VF functions. 5) Ariel, exploits Yuval's work and uses only one IRQ for the 4 async EQs we have per function (So we can save 3 IRQ vectors per function). Thanks, Saeed. --- Ariel Levkovich (1): net/mlx5: Use a single IRQ for all async EQs Bodong Wang (2): net/mlx5: E-Switch, Return raw output for query esw functions net/mlx5: Support querying max VFs from device Daniel Jurgens (1): net/mlx5: Increase wait time for fw initialization Vu Pham (1): net/mlx5: E-Switch, Handle representors creation in handler context Yuval Avnery (11): net/mlx5: Introduce EQ polling budget net/mlx5: Change interrupt handler to call chain notifier net/mlx5: Separate IRQ request/free from EQ life cycle net/mlx5: Separate IRQ data from EQ table data net/mlx5: Move IRQ rmap creation to IRQ allocation phase net/mlx5: Move IRQ affinity set to IRQ allocation phase net/mlx5: Separate IRQ table creation from EQ table creation net/mlx5: Generalize IRQ interface to work with irq_table net/mlx5: Move all IRQ logic to pci_irq.c net/mlx5: Rename mlx5_irq_info to mlx5_irq net/mlx5: Add EQ enable/disable API drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/odp.c | 21 +- .../net/ethernet/mellanox/mlx5/core/Makefile | 2 +- drivers/net/ethernet/mellanox/mlx5/core/eq.c | 439 +++++++----------- .../net/ethernet/mellanox/mlx5/core/eswitch.c | 33 +- .../net/ethernet/mellanox/mlx5/core/eswitch.h | 7 +- .../mellanox/mlx5/core/eswitch_offloads.c | 94 ++-- .../net/ethernet/mellanox/mlx5/core/lib/eq.h | 9 +- .../net/ethernet/mellanox/mlx5/core/main.c | 56 ++- .../ethernet/mellanox/mlx5/core/mlx5_core.h | 13 + .../net/ethernet/mellanox/mlx5/core/pci_irq.c | 334 +++++++++++++ .../net/ethernet/mellanox/mlx5/core/sriov.c | 22 + include/linux/mlx5/driver.h | 10 +- include/linux/mlx5/eq.h | 23 +- include/linux/mlx5/mlx5_ifc.h | 2 +- 15 files changed, 673 insertions(+), 393 deletions(-) create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c -- 2.21.0