Re: [PATCH net-next 0/8] net: dsa: microchip: DSA driver support for LAN937x switch

From: Florian Fainelli
Date: Thu Jan 28 2021 - 12:58:10 EST




On 1/27/2021 10:41 PM, Prasanna Vengateshan wrote:
> LAN937x is a Multi-Port 100BASE-T1 Ethernet Physical Layer switch
> compliant with the IEEE 802.3bw-2015 specification. The device
> provides 100 Mbit/s transmit and receive capability over a single
> Unshielded Twisted Pair (UTP) cable. LAN937x is successive revision
> of KSZ series switch. This series of patches provide the DSA driver
> support for Microchip LAN937X switch and it configures through
> SPI interface.
>
> This driver shares some of the functions from KSZ common
> layer.
>
> The LAN937x switch series family consists of following SKUs:
> LAN9370:
> - 4 T1 Phys
> - 1 RGMII port
> LAN9371:
> - 3 T1 Phys & 1 TX Phy
> - 2 RGMII ports
> LAN9372:
> - 5 T1 Phys & 1 TX Phy
> - 2 RGMII ports
> LAN9373:
> - 5 T1 Phys
> - 2 RGMII & 1 SGMII port
> LAN9374:
> - 6 T1 Phys
> - 2 RGMII ports
>
> More support will be added at a later stage.

It is great to see a new switch from Microchip being submitted for
review. One thing that has bothered me as a DSA maintainer before though
is that we have seen Microchip contribute new DSA drivers which are
always welcome, however the maintenance and bug fixing of these drivers
was spotty, thus leading to external contributors to take on the tasks
of fixing bugs. Do you have a stronger commitment now to stay involved
with reviewing/fixing bugs affecting Microchip DSA drivers and to a
larger extent the framework itself?

Could you also feed back to your hardware organization to settle on a
tag format that is not a snowflake? Almost *every* switch you have has a
different tagging format, this is absurd. All other vendors in tree have
been able to settle on at most 2 or 3 different tagging formats over
their switching product life span (for some vendors this dates back 20
years ago).

I will provide a more detailed review later on.

>
> Prasanna Vengateshan (8):
> dt-bindings: net: dsa: dt bindings for microchip lan937x
> net: dsa: microchip: add tag handling for Microchip LAN937x
> net: dsa: microchip: add DSA support for microchip lan937x
> net: dsa: microchip: add support for phylink management
> net: dsa: microchip: add support for ethtool port counters
> net: dsa: microchip: add support for port mirror operations
> net: dsa: microchip: add support for fdb and mdb management
> net: dsa: microchip: add support for vlan operations
>
> .../bindings/net/dsa/microchip,lan937x.yaml | 115 ++
> MAINTAINERS | 1 +
> drivers/net/dsa/microchip/Kconfig | 12 +
> drivers/net/dsa/microchip/Makefile | 5 +
> drivers/net/dsa/microchip/ksz_common.h | 1 +
> drivers/net/dsa/microchip/lan937x_dev.c | 895 ++++++++++++++
> drivers/net/dsa/microchip/lan937x_dev.h | 79 ++
> drivers/net/dsa/microchip/lan937x_main.c | 1037 +++++++++++++++++
> drivers/net/dsa/microchip/lan937x_reg.h | 955 +++++++++++++++
> drivers/net/dsa/microchip/lan937x_spi.c | 104 ++
> include/net/dsa.h | 2 +
> net/dsa/Kconfig | 4 +-
> net/dsa/tag_ksz.c | 74 ++
> 13 files changed, 3282 insertions(+), 2 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/dsa/microchip,lan937x.yaml
> create mode 100644 drivers/net/dsa/microchip/lan937x_dev.c
> create mode 100644 drivers/net/dsa/microchip/lan937x_dev.h
> create mode 100644 drivers/net/dsa/microchip/lan937x_main.c
> create mode 100644 drivers/net/dsa/microchip/lan937x_reg.h
> create mode 100644 drivers/net/dsa/microchip/lan937x_spi.c
>

--
Florian