From: Ido Schimmel <ido...@mellanox.com>

Vadim says:

The patchset adds support for a new field "num_of_modules" of Management
General Peripheral Information Register (MGPIR), providing the maximum
number of QSFP modules, which can be supported by the system.

It allows to obtain the number of QSFP modules directly from this field,
as a static data, instead of old method of getting this info through
"network port to QSFP module" mapping. With the old method, in case of
port dynamic re-configuration some modules can logically "disappear" as
a result of port split operations, which can cause some modules to
appear missing.

Such scenario can happen on a system equipped with a BMC card, while PCI
chip driver at host CPU side can perform some ports "split" or "unsplit"
operations, while BMC side I2C chip driver reads the "port-to-module"
mapping.

Add common API for FW "minor" and "subminor" versions validation and
share it between PCI and I2C based drivers.

Add FW version validation for "minimal" driver, because use of new field
"num_of_modules" in MGPIR register is not backward compatible.

Vadim Pasternak (5):
  mlxsw: reg: Extend MGPIR register with new field exposing the number
    of QSFP modules
  mlxsw: hwmon: Provide optimization for QSFP modules number detection
  mlxsw: thermal: Provide optimization for QSFP modules number detection
  mlxsw: core: Push minor/subminor fw version check into helper
  mlxsw: minimal: Add validation for FW version

 drivers/net/ethernet/mellanox/mlxsw/core.c    | 10 +++
 drivers/net/ethernet/mellanox/mlxsw/core.h    |  5 ++
 .../net/ethernet/mellanox/mlxsw/core_hwmon.c  | 66 +++++++++----------
 .../ethernet/mellanox/mlxsw/core_thermal.c    | 40 +++++------
 drivers/net/ethernet/mellanox/mlxsw/minimal.c | 30 +++++++++
 drivers/net/ethernet/mellanox/mlxsw/reg.h     | 10 ++-
 .../net/ethernet/mellanox/mlxsw/spectrum.c    |  4 +-
 7 files changed, 103 insertions(+), 62 deletions(-)

-- 
2.21.0

Reply via email to