mbox series

[net-next,00/10] mlxsw: Add support for transceiver modules reset

Message ID 20210915101314.407476-1-idosch@idosch.org
Headers show
Series mlxsw: Add support for transceiver modules reset | expand

Message

Ido Schimmel Sept. 15, 2021, 10:13 a.m. UTC
From: Ido Schimmel <idosch@nvidia.com>

This patchset prepares mlxsw for future transceiver modules related [1]
changes and adds reset support via the existing 'ETHTOOL_RESET'
interface.

Patches #1-#6 are relatively straightforward preparations.

Patch #7 tracks the number of logical ports that are mapped to the
transceiver module and the number of logical ports using it that are
administratively up. Needed for both reset support and power mode policy
support.

Patches #8-#9 add required fields in device registers.

Patch #10 implements support for ethtool_ops::reset in order to reset
transceiver modules.

[1] https://lore.kernel.org/netdev/20210824130344.1828076-1-idosch@idosch.org/

Ido Schimmel (10):
  mlxsw: core: Initialize switch driver last
  mlxsw: core: Remove mlxsw_core_is_initialized()
  mlxsw: core_env: Defer handling of module temperature warning events
  mlxsw: core_env: Convert 'module_info_lock' to a mutex
  mlxsw: spectrum: Do not return an error in ndo_stop()
  mlxsw: spectrum: Do not return an error in
    mlxsw_sp_port_module_unmap()
  mlxsw: Track per-module port status
  mlxsw: reg: Add fields to PMAOS register
  mlxsw: Make PMAOS pack function more generic
  mlxsw: Add support for transceiver modules reset

 drivers/net/ethernet/mellanox/mlxsw/core.c    |  29 +--
 drivers/net/ethernet/mellanox/mlxsw/core.h    |   1 -
 .../net/ethernet/mellanox/mlxsw/core_env.c    | 183 +++++++++++++++---
 .../net/ethernet/mellanox/mlxsw/core_env.h    |  13 ++
 drivers/net/ethernet/mellanox/mlxsw/minimal.c |  30 ++-
 drivers/net/ethernet/mellanox/mlxsw/reg.h     |  31 ++-
 .../net/ethernet/mellanox/mlxsw/spectrum.c    |  42 +++-
 .../mellanox/mlxsw/spectrum_ethtool.c         |  10 +
 8 files changed, 281 insertions(+), 58 deletions(-)