ISSI (Interface Step Sequence ID) defines the step sequence ID of the 
interface between the driver to the firmware and is incremented by 
steps of one. ISSI is used to enable deprecating/modifying features, 
command interfaces and such, while maintaining compatibility.

As the driver serves both ConnectIB (CIB) and ConnectX4, we carefully 
made sure that the IB functionality keeps running also on older CIB 
firmware releases that don't support ISSI. 

The Ethernet functionailty is available only on ConnectX4 where all 
firmware releases support the feature since the very basic ISSI level. 
So at this point no need for compatility code there.

As done prior to this series, when the Ethernet functionlity is enabled, 
during the initialization flow, the core driver performs a query of the 
supported ISSIs using the QUERY_ISSI command, and then, if ISSI is supported, 
sets the actual issi value informing the firmware on which ISSI level to run, 
using SET_ISSI command.

Previously, the IB driver wasn't ready to work on that mode, and hence
building both the IB driver and the Ethernet functionality in the core
driver were disallowed by Kconfigs, with this series, we allow users to
enable them both.

Or.

Amir Vadai (1):
  net/mlx5_en: Add missing check for memory allocation failure

Haggai Abramonvsky (4):
  net/mlx5_core: Apply proper name convention to helpers
  net/mlx5_core: Enable XRCs and SRQs when using ISSI > 0
  net/mlx5_core: Check the return bitmask when querying ISSI
  mlx5: Enable mutual support for IB and Ethernet

Majd Dibbiny (8):
  net/mlx5_core: Make the vport helpers available for the IB driver too
  net/mlx5_core: Add new query HCA vport commands
  net/mlx5_core: Get vendor-id using the query adapter command
  net/mlx5_core: Use port number in the query port mtu helpers
  net/mlx5_core: Use port number when querying port ptys
  net/mlx5_core: Add more query port helpers
  IB/mlx5: Avoid using the MAD_IFC command under ISSI > 0 mode
  IB/mlx5: Don't create IB instance over Ethernet ports

 drivers/infiniband/hw/mlx5/mad.c                   |  297 +++++++++++
 drivers/infiniband/hw/mlx5/main.c                  |  543 +++++++++++++-------
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |   17 +
 drivers/infiniband/hw/mlx5/qp.c                    |    3 +-
 drivers/infiniband/hw/mlx5/srq.c                   |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/Kconfig    |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    4 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |    2 +-
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |    2 +-
 .../ethernet/mellanox/mlx5/core/en_flow_table.c    |    2 +
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   26 +-
 drivers/net/ethernet/mellanox/mlx5/core/fw.c       |   59 ++-
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |   16 +-
 .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/port.c     |   90 +++-
 drivers/net/ethernet/mellanox/mlx5/core/qp.c       |    7 +
 drivers/net/ethernet/mellanox/mlx5/core/srq.c      |  444 ++++++++++++++---
 drivers/net/ethernet/mellanox/mlx5/core/transobj.c |  176 ++++++-
 drivers/net/ethernet/mellanox/mlx5/core/transobj.h |   35 +-
 drivers/net/ethernet/mellanox/mlx5/core/vport.c    |  265 ++++++++++-
 drivers/net/ethernet/mellanox/mlx5/core/vport.h    |   41 --
 include/linux/mlx5/device.h                        |   13 +
 include/linux/mlx5/driver.h                        |   68 +++-
 include/linux/mlx5/mlx5_ifc.h                      |   46 ++-
 include/linux/mlx5/vport.h                         |   55 ++
 25 files changed, 1840 insertions(+), 377 deletions(-)
 delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/vport.h
 create mode 100644 include/linux/mlx5/vport.h

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to