[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+h21hoaQEyVLfHPB67d9Nc0q+n9+jTJyK86fXFMBNNfFx653g@mail.gmail.com>
Date: Thu, 28 May 2020 19:51:23 +0300
From: Vladimir Oltean <olteanv@...il.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: "David S. Miller" <davem@...emloft.net>,
netdev <netdev@...r.kernel.org>, Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Russell King - ARM Linux admin <linux@...linux.org.uk>,
Antoine Tenart <antoine.tenart@...tlin.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Horatiu Vultur <horatiu.vultur@...rochip.com>,
"Allan W. Nielsen" <allan.nielsen@...rochip.com>,
Microchip Linux Driver Support <UNGLinuxDriver@...rochip.com>,
Alexandru Marginean <alexandru.marginean@....com>,
Claudiu Manoil <claudiu.manoil@....com>,
"Madalin Bucur (OSS)" <madalin.bucur@....nxp.com>,
radu-andrei.bulie@....com, fido_max@...ox.ru
Subject: Re: [PATCH net-next 11/11] net: dsa: ocelot: introduce driver for
Seville VSC9953 switch
On Thu, 28 May 2020 at 19:21, Jakub Kicinski <kuba@...nel.org> wrote:
>
> On Thu, 28 May 2020 02:41:13 +0300 Vladimir Oltean wrote:
> > From: Maxim Kochetkov <fido_max@...ox.ru>
> >
> > This is a 10-port (8 external, 2 internal) switch from
> > Vitesse/Microsemi/Microchip that is integrated into the Freescale/NXP
> > T1040 PowerPC SoC. The situation is very similar to Felix from NXP
> > LS1028A, except that this is a platform device and Felix is a PCI
> > device.
> >
> > Extending the Felix driver to probe a PCI as well as a platform device
> > would have introduced unnecessary complexity. The 'meat' of both drivers
> > is in drivers/net/ethernet/mscc/ocelot*.c anyway, so let's just
> > duplicate the Felix driver, s/Felix/Seville/, and define the low-level
> > bits in seville_vsc9953.c.
> >
> > Like Felix, this driver configures its own PCS on the internal MDIO bus
> > using a phy_device abstraction for it (yes, it will be refactored to use
> > a raw mdio_device, like other phylink drivers do, but let's keep it like
> > that for now). But unlike Felix, the MDIO bus and the PCS are not from
> > the same vendor. The PCS is the same QorIQ/Layerscape PCS as found in
> > Felix/ENETC/DPAA*, but the internal MDIO bus that is used to access it
> > is actually an instantiation of drivers/net/phy/mdio-mscc-miim.c. But it
> > would be difficult to reuse that driver (it doesn't even use regmap, and
> > it's less than 200 lines of code), so we hand-roll here some internal
> > MDIO bus accessors within seville_vsc9953.c, which serves the purpose of
> > driving the PCS absolutely fine.
> >
> > Also, same as Felix, the PCS doesn't support dynamic reconfiguration of
> > SerDes protocol, so we need to do pre-validation of PHY mode from device
> > tree and not let phylink change it.
> >
> > Signed-off-by: Maxim Kochetkov <fido_max@...ox.ru>
> > Signed-off-by: Vladimir Oltean <vladimir.oltean@....com>
>
> drivers/net/dsa/ocelot/seville_vsc9953.c:636:19: warning: symbol 'vsc9953_vcap_is2_keys' was not declared. Should it be static?
> drivers/net/dsa/ocelot/seville_vsc9953.c:706:19: warning: symbol 'vsc9953_vcap_is2_actions' was not declared. Should it be static?
Rhetorical question...
Powered by blists - more mailing lists