mlxsw: Introduce modular system support by minimal driver
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest8 patches 2 repliesIn review 6 of 8 applied
Patches in v1 6 of 8 applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/8 | mlxsw: core_linecards: Separate line card init and fini flowdrivers/ | +52 | 0 replies | |
| 2/8 | mlxsw: core: Add registration APIs for system event handlerdrivers/ drivers/ | +76 | 0 replies | Applied |
| 3/8 | mlxsw: core_linecards: Register a system event handlerdrivers/ | +25 | 0 replies | Applied |
| 4/8 | mlxsw: i2c: Add support for system interrupt handlingdrivers/ | +86 | 2 replies | Applied |
| 5/8 | mlxsw: minimal: Extend APIs with slot index for modular system supportdrivers/ | +24 | 0 replies | Applied |
| 6/8 | mlxsw: minimal: Move ports allocation to separate routinedrivers/ | +34 | 0 replies | Applied |
| 7/8 | mlxsw: minimal: Extend module to port mapping with slot indexdrivers/ | +166 | 0 replies | |
| 8/8 | mlxsw: minimal: Extend to support line card dynamic operationsdrivers/ | +99 | 0 replies | Applied |
Reviews trailers per patch
All 8 patches have a Reviewed-by or Acked-by.
| Patch | Jiri Pirko |
|---|---|
| 1/8 | R-b |
| 2/8 | R-b |
| 3/8 | R-b |
| 4/8 | R-b |
| 5/8 | R-b |
| 6/8 | R-b |
| 7/8 | R-b |
| 8/8 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH net-next 0/8] mlxsw: Introduce modular system support by minimal driver
Vadim Pasternak writes:
This patchset adds line cards support in mlxsw_minimal, which is used for monitoring purposes on BMC systems. The BMC is connected to the ASIC over I2C bus, unlike the host CPU that is connected to the ASIC via PCI bus.
The BMC system needs to be notified whenever line cards become active or inactive, so that, for example, netdevs will be registered / unregistered by mlxsw_minimal. However, traps cannot be generated towards the BMC over the I2C bus. To overcome that, the I2C bus driver (i.e., mlxsw_i2c) registers an handler for an IRQ that is fired upon specific system wide changes, like line card activation and deactivation.
The generated event is handled by mlxsw_core, which checks whether anything changed in the state of available line cards. If a line card becomes active or inactive, interested parties such as mlxsw_minimal are notified via their registered line card event callback.
Patch set overview:
Patches #1 is preparations.
Patches #2-#3 extend mlxsw_core with an infrastructure to handle the
previously mentioned system events.
Patch #4 extends the I2C bus driver to register an handler for the IRQ
fired upon specific system wide changes.
Patches #5-#8 gradually add line cards support in mlxsw_minimal by
dynamically registering / unregistering netdevs for ports found on line cards, whenever a line card becomes active / inactive.
Vadim Pasternak (8):
mlxsw: core_linecards: Separate line card init and fini flow
mlxsw: core: Add registration APIs for system event handler
mlxsw: core_linecards: Register a system event handler
mlxsw: i2c: Add support for system interrupt handling
mlxsw: minimal: Extend APIs with slot index for modular system support
mlxsw: minimal: Move ports allocation to separate routine
mlxsw: minimal: Extend module to port mapping with slot index
mlxsw: minimal: Extend to support line card dynamic operations
drivers/net/ethernet/mellanox/mlxsw/core.c | 68 ++++ drivers/net/ethernet/mellanox/mlxsw/core.h | 8 + .../ethernet/mellanox/mlxsw/core_linecards.c | 100 +++-- drivers/net/ethernet/mellanox/mlxsw/i2c.c | 87 +++- drivers/net/ethernet/mellanox/mlxsw/minimal.c | 381 ++++++++++++++---- 5 files changed, 552 insertions(+), 92 deletions(-)
Signature · 1 line
2.35.3