Subject: [PATCH net-next 0/5] mlxsw: Speed up transceiver module EEPROM dump

From: Petr Machata <[email-masked]>
Date: Tue, 25 Jul 2023 14:04:00 +0200

Ido Schimmel writes:

Old firmware versions could only read up to 48 bytes from a transceiver
module's EEPROM in one go. Newer versions can read up to 128 bytes,
resulting in fewer transactions.

Query support for the new capability during driver initialization and if
supported, read up to 128 bytes in one go.

This is going to be especially useful for upcoming transceiver module
firmware flashing support.

Before:

 # perf stat -e devlink:devlink_hwmsg -- ethtool -m swp11 page 0x1 offset 128 length 128 i2c 0x50
 [...]
  Performance counter stats for 'ethtool -m swp11 page 0x1 offset 128 length 128 i2c 0x50':

                  3      devlink:devlink_hwmsg

After:

 # perf stat -e devlink:devlink_hwmsg -- ethtool -m swp11 page 0x1 offset 128 length 128 i2c 0x50
 [...]
  Performance counter stats for 'ethtool -m swp11 page 0x1 offset 128 length 128 i2c 0x50':

                  1      devlink:devlink_hwmsg

Patches #1-#4 are preparations / cleanups.

Patch #5 adds support for the new read size.

Amit Cohen (2):
  mlxsw: reg: Move 'mpsc' definition in 'mlxsw_reg_infos'
  mlxsw: reg: Add Management Capabilities Mask Register

Ido Schimmel (3):
  mlxsw: reg: Remove unused function argument
  mlxsw: reg: Increase Management Cable Info Access Register length
  mlxsw: core_env: Read transceiver module EEPROM in 128 bytes chunks

 .../net/ethernet/mellanox/mlxsw/core_env.c    | 45 ++++++---
 drivers/net/ethernet/mellanox/mlxsw/reg.h     | 93 ++++++++++++++++---
 2 files changed, 112 insertions(+), 26 deletions(-)

-- 
2.41.0