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