Merge branch 'mlxsw-speed-up-transceiver-module-eeprom-dump'
authorJakub Kicinski <kuba@kernel.org>
Thu, 27 Jul 2023 04:49:28 +0000 (21:49 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 27 Jul 2023 04:49:29 +0000 (21:49 -0700)
commit601ad04f13e6fbf070027fbf1fc713f93607a008
tree8afc3c39439acc3319e140d1a270b6d605957ed4
parentc1b0b6118b48100de0465b09201445df292647c1
parent1f4aea1f72da039d830862bc690dbd2d355dc992
Merge branch 'mlxsw-speed-up-transceiver-module-eeprom-dump'

Petr Machata says:

====================
mlxsw: Speed up transceiver module EEPROM dump

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.
====================

Link: https://lore.kernel.org/r/cover.1690281940.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>