mbox series

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

Message ID cover.1690281940.git.petrm@nvidia.com (mailing list archive)
Headers show
Series mlxsw: Speed up transceiver module EEPROM dump | expand

Message

Petr Machata July 25, 2023, 12:04 p.m. UTC
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(-)

Comments

patchwork-bot+netdevbpf@kernel.org July 27, 2023, 5 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue, 25 Jul 2023 14:04:00 +0200 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [net-next,1/5] mlxsw: reg: Move 'mpsc' definition in 'mlxsw_reg_infos'
    https://git.kernel.org/netdev/net-next/c/68bf5100fadf
  - [net-next,2/5] mlxsw: reg: Add Management Capabilities Mask Register
    https://git.kernel.org/netdev/net-next/c/7447eda4065e
  - [net-next,3/5] mlxsw: reg: Remove unused function argument
    https://git.kernel.org/netdev/net-next/c/3930dcc5e404
  - [net-next,4/5] mlxsw: reg: Increase Management Cable Info Access Register length
    https://git.kernel.org/netdev/net-next/c/c8dbf67883db
  - [net-next,5/5] mlxsw: core_env: Read transceiver module EEPROM in 128 bytes chunks
    https://git.kernel.org/netdev/net-next/c/1f4aea1f72da

You are awesome, thank you!