All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ioana Ciornei <ioana.ciornei@nxp.com>
To: "davem@davemloft.net" <davem@davemloft.net>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Cc: Vladimir Oltean <vladimir.oltean@nxp.com>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Alexandru Marginean <alexandru.marginean@nxp.com>,
	"andrew@lunn.ch" <andrew@lunn.ch>,
	"linux@armlinux.org.uk" <linux@armlinux.org.uk>,
	"f.fainelli@gmail.com" <f.fainelli@gmail.com>,
	"olteanv@gmail.com" <olteanv@gmail.com>
Subject: RE: [PATCH net-next v4 0/5] net: phy: add Lynx PCS MDIO module
Date: Mon, 27 Jul 2020 18:27:00 +0000	[thread overview]
Message-ID: <VI1PR0402MB38713F0EB239E7E1A42B9771E0720@VI1PR0402MB3871.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20200724080143.12909-1-ioana.ciornei@nxp.com>

> Subject: [PATCH net-next v4 0/5] net: phy: add Lynx PCS MDIO module
> 
> Add support for the Lynx PCS as a separate module in drivers/net/phy/.
> The advantage of this structure is that multiple ethernet or switch drivers used
> on NXP hardware (ENETC, Seville, Felix DSA switch etc) can share the same
> implementation of PCS configuration and runtime management.
> 
> The module implements phylink_pcs_ops and exports a phylink_pcs
> (incorporated into a lynx_pcs) which can be directly passed to phylink through
> phylink_pcs_set.
> 
> The first 3 patches add some missing pieces in phylink and the locked mdiobus
> write accessor. Next, the Lynx PCS MDIO module is added as a standalone
> module. The majority of the code is extracted from the Felix DSA driver. The last
> patch makes the necessary changes in the Felix and Seville drivers in order to use
> the new common PCS implementation.
> 
> At the moment, USXGMII (only with in-band AN), SGMII, QSGMII (with and
> without in-band AN) and 2500Base-X (only w/o in-band AN) are supported by the
> Lynx PCS MDIO module since these were also supported by Felix and no
> functional change is intended at this time.
> 

Any feedback on the use of phylink_pcs?

Thanks,
Ioana

> Changes in v2:
>  * got rid of the mdio_lynx_pcs structure and directly exported the  functions
> without the need of an indirection
>  * made the necessary adjustments for this in the Felix DSA driver
>  * solved the broken allmodconfig build test by making the module  tristate
> instead of bool
>  * fixed a memory leakage in the Felix driver (the pcs structure was  allocated
> twice)
> 
> Changes in v3:
>  * added support for PHYLINK PCS ops in DSA (patch 5/9)
>  * cleanup in Felix PHYLINK operations and migrate to
>  phylink_mac_link_up() being the callback of choice for applying MAC
> configuration (patches 6-8)
> 
> Changes in v4:
>  * use the newly introduced phylink PCS mechanism
>  * install the phylink_pcs in the phylink_mac_config DSA ops
>  * remove the direct implementations of the PCS ops
>  * do no use the SGMII_ prefix when referring to the IF_MORE register
>  * add a phylink helper to decode the USXGMII code word
>  * remove cleanup patches for Felix (these have been already accepted)
>  * Seville (recently introduced) now has PCS support through the same  Lynx PCS
> module
> 
> Ioana Ciornei (5):
>   net: phylink: add helper function to decode USXGMII word
>   net: phylink: consider QSGMII interface mode in
>     phylink_mii_c22_pcs_get_state
>   net: mdiobus: add clause 45 mdiobus write accessor
>   net: phy: add Lynx PCS module
>   net: dsa: ocelot: use the Lynx PCS helpers in Felix and Seville
> 
>  MAINTAINERS                              |   7 +
>  drivers/net/dsa/ocelot/Kconfig           |   1 +
>  drivers/net/dsa/ocelot/felix.c           |  28 +-
>  drivers/net/dsa/ocelot/felix.h           |  20 +-
>  drivers/net/dsa/ocelot/felix_vsc9959.c   | 374 ++---------------------
>  drivers/net/dsa/ocelot/seville_vsc9953.c |  21 +-
>  drivers/net/phy/Kconfig                  |   6 +
>  drivers/net/phy/Makefile                 |   1 +
>  drivers/net/phy/pcs-lynx.c               | 314 +++++++++++++++++++
>  drivers/net/phy/phylink.c                |  44 +++
>  include/linux/mdio.h                     |   6 +
>  include/linux/pcs-lynx.h                 |  21 ++
>  include/linux/phylink.h                  |   3 +
>  13 files changed, 442 insertions(+), 404 deletions(-)  create mode 100644
> drivers/net/phy/pcs-lynx.c  create mode 100644 include/linux/pcs-lynx.h
> 
> --
> 2.25.1


  parent reply	other threads:[~2020-07-27 18:27 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-24  8:01 [PATCH net-next v4 0/5] net: phy: add Lynx PCS MDIO module Ioana Ciornei
2020-07-24  8:01 ` [PATCH net-next v4 1/5] net: phylink: add helper function to decode USXGMII word Ioana Ciornei
2020-07-28 15:06   ` Russell King - ARM Linux admin
2020-07-24  8:01 ` [PATCH net-next v4 2/5] net: phylink: consider QSGMII interface mode in phylink_mii_c22_pcs_get_state Ioana Ciornei
2020-07-28 15:06   ` Russell King - ARM Linux admin
2020-07-24  8:01 ` [PATCH net-next v4 3/5] net: mdiobus: add clause 45 mdiobus write accessor Ioana Ciornei
2020-07-28 15:07   ` Russell King - ARM Linux admin
2020-07-24  8:01 ` [PATCH net-next v4 4/5] net: phy: add Lynx PCS module Ioana Ciornei
2020-07-28 15:46   ` Russell King - ARM Linux admin
2020-07-24  8:01 ` [PATCH net-next v4 5/5] net: dsa: ocelot: use the Lynx PCS helpers in Felix and Seville Ioana Ciornei
2020-07-24 21:47 ` [PATCH net-next v4 0/5] net: phy: add Lynx PCS MDIO module Vladimir Oltean
2020-07-27 18:27 ` Ioana Ciornei [this message]
2020-07-27 18:29 ` Florian Fainelli
2020-07-27 18:48   ` Ioana Ciornei
2020-07-27 19:47     ` Florian Fainelli
2020-07-27 20:28       ` Andrew Lunn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=VI1PR0402MB38713F0EB239E7E1A42B9771E0720@VI1PR0402MB3871.eurprd04.prod.outlook.com \
    --to=ioana.ciornei@nxp.com \
    --cc=alexandru.marginean@nxp.com \
    --cc=andrew@lunn.ch \
    --cc=claudiu.manoil@nxp.com \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=vladimir.oltean@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.