mbox series

[net-next,0/6] net: lan969x: add FDMA support

Message ID 20250109-sparx5-lan969x-switch-driver-5-v1-0-13d6d8451e63@microchip.com (mailing list archive)
Headers show
Series net: lan969x: add FDMA support | expand

Message

Daniel Machon Jan. 9, 2025, 6:37 p.m. UTC
== Description:

This series is the last of a multi-part series, that prepares and adds
support for the new lan969x switch driver.

The upstreaming efforts has been split into multiple series:

        1) Prepare the Sparx5 driver for lan969x (merged)

        2) Add support for lan969x (same basic features as Sparx5
           provides excl. FDMA and VCAP, merged).

        3) Add lan969x VCAP functionality (merged).

        4) Add RGMII support (merged).

    --> 5) Add FDMA support.

== FDMA support:

The lan969x switch device uses the same FDMA engine as the Sparx5 switch
device, with the same number of channels etc. This means we can utilize
the newly added FDMA library, that is already in use by the lan966x and
sparx5 drivers.

As previous lan969x series, the FDMA implementation will hook into the
Sparx5 implementation where possible, however both RX and TX handling
will be done differently on lan969x and therefore requires a separate
implementation of the RX and TX path.

Details are in the commit description of the individual patches

== Patch breakdown:

Patch #1: Enable FDMA support on lan969x
Patch #2: Split start()/stop() functions
Patch #3: Activate TX FDMA in start()
Patch #4: Move consumption of SKB's to xmit()
Patch #5: Ops out a few functions that differ on the two platforms
Patch #6: Add FDMA implementation for lan969x

Signed-off-by: Daniel Machon <daniel.machon@microchip.com>
---
Daniel Machon (6):
      net: sparx5: enable FDMA on lan969x
      net: sparx5: split sparx5_fdma_{start(),stop()}
      net: sparx5: activate FDMA tx in start()
      net: sparx5: move SKB consumption to xmit()
      net: sparx5: ops out certain FDMA functions
      net: lan969x: add FDMA implementation

 drivers/net/ethernet/microchip/sparx5/Kconfig      |   1 +
 drivers/net/ethernet/microchip/sparx5/Makefile     |   3 +-
 .../ethernet/microchip/sparx5/lan969x/lan969x.c    |   4 +
 .../ethernet/microchip/sparx5/lan969x/lan969x.h    |   6 +
 .../microchip/sparx5/lan969x/lan969x_fdma.c        | 408 +++++++++++++++++++++
 .../net/ethernet/microchip/sparx5/sparx5_fdma.c    |  67 ++--
 .../net/ethernet/microchip/sparx5/sparx5_main.c    |  19 +-
 .../net/ethernet/microchip/sparx5/sparx5_main.h    |  28 +-
 .../net/ethernet/microchip/sparx5/sparx5_packet.c  |   6 +-
 9 files changed, 510 insertions(+), 32 deletions(-)
---
base-commit: 3e5908172c05ab1511f2a6719b806d6eda6e1715
change-id: 20250106-sparx5-lan969x-switch-driver-5-52a46ecb5488

Best regards,