netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 00/15] net: dsa: mv88e6xxx: convert to phylink pcs
@ 2022-06-13 12:59 Russell King (Oracle)
  2022-06-13 13:00 ` [PATCH net-next 01/15] net: phylink: fix SGMII inband autoneg enable Russell King (Oracle)
                   ` (15 more replies)
  0 siblings, 16 replies; 35+ messages in thread
From: Russell King (Oracle) @ 2022-06-13 12:59 UTC (permalink / raw)
  To: Andrew Lunn, Marek Behún
  Cc: David S. Miller, Eric Dumazet, Florian Fainelli, Heiner Kallweit,
	Jakub Kicinski, netdev, Paolo Abeni, Robert Hancock,
	Vivien Didelot, Vladimir Oltean

Hi,

This series converts mv88e6xxx to use phylink pcs, which I believe is
the last DSA driver that needs to be converted before we can declare
the whole of DSA as non-phylink legacy.

Briefly:
Patches 1 and 2 introduce a new phylink_pcs_inband() helper to indicate
whether inband AN should be used. Note that the first patch fixes a bug
in the current c22 helper where the SGMII exchange with the PHY would
be disabled when AN is turned off on the PHY copper side.

Patch 3 gets rid of phylink's internal pcs_ops member, preferring
instead to always use the version in the phylink_pcs structure.
Changing this pointer is now no longer supported.

Patch 4 makes PCS polling slightly cleaner, avoiding the poll being
triggered while we're making changes to the configuration.

Patch 5 and 6 introduce several PCS methods that are fundamentally
necessary for mv88e6xxx to work around various issues - for example, in
some devices, the PCS must be powered down when the CMODE field in the
port control register is changed. In other devices, there are
workarounds that need to be performed.

Patch 7 adds unlocked mdiobus and mdiodev accessors to complement the
locking versions that are already there - which are needed for some of
the mv88e6xxx conversions.

Patch 8 prepares DSA as a whole, adding support for the phylink
mac_prepare() and mac_finish() methods. These two methods are used to
force the link down over a major reconfiguration event, which has been
found by people to be necessary on mv88e6xxx devices. These haven't
been required until now as everything has been done via the
mac_config() callback - which won't be true once we switch to
phylink_pcs.

Patch 9 implements patch 8 on this driver.

Patches 10 and 11 prepare mv88e6xxx for the conversion.

Patches 12 through to 14 convert each "serdes" to phylink_pcs.

Patch 15 cleans up after the conversion.

 drivers/net/dsa/mv88e6xxx/Makefile   |    3 +
 drivers/net/dsa/mv88e6xxx/chip.c     |  480 ++++----------
 drivers/net/dsa/mv88e6xxx/chip.h     |   25 +-
 drivers/net/dsa/mv88e6xxx/pcs-6185.c |  158 +++++
 drivers/net/dsa/mv88e6xxx/pcs-6352.c |  383 +++++++++++
 drivers/net/dsa/mv88e6xxx/pcs-639x.c |  834 ++++++++++++++++++++++++
 drivers/net/dsa/mv88e6xxx/port.c     |   30 -
 drivers/net/dsa/mv88e6xxx/serdes.c   | 1164 ++--------------------------------
 drivers/net/dsa/mv88e6xxx/serdes.h   |  110 +---
 drivers/net/phy/mdio_bus.c           |   24 +-
 drivers/net/phy/phylink.c            |  141 ++--
 include/linux/mdio.h                 |   26 +
 include/linux/phylink.h              |   44 ++
 include/net/dsa.h                    |    6 +
 net/dsa/port.c                       |   32 +
 15 files changed, 1826 insertions(+), 1634 deletions(-)

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2022-06-15 18:08 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-13 12:59 [PATCH net-next 00/15] net: dsa: mv88e6xxx: convert to phylink pcs Russell King (Oracle)
2022-06-13 13:00 ` [PATCH net-next 01/15] net: phylink: fix SGMII inband autoneg enable Russell King (Oracle)
2022-06-14 18:34   ` Andrew Lunn
2022-06-13 13:00 ` [PATCH net-next 02/15] net: phylink: add phylink_pcs_inband() Russell King (Oracle)
2022-06-14 18:35   ` Andrew Lunn
2022-06-15  5:46   ` Jakub Kicinski
2022-06-15  8:16     ` Russell King (Oracle)
2022-06-15 17:46       ` Jakub Kicinski
2022-06-15 18:07         ` Russell King (Oracle)
2022-06-13 13:00 ` [PATCH net-next 03/15] net: phylink: remove pcs_ops member Russell King (Oracle)
2022-06-14 18:36   ` Andrew Lunn
2022-06-13 13:00 ` [PATCH net-next 04/15] net: phylink: disable PCS polling over major configuration Russell King (Oracle)
2022-06-14 18:37   ` Andrew Lunn
2022-06-13 13:00 ` [PATCH net-next 05/15] net: phylink: add pcs_enable()/pcs_disable() methods Russell King (Oracle)
2022-06-13 13:00 ` [PATCH net-next 06/15] net: phylink: add pcs_pre_config()/pcs_post_config() methods Russell King (Oracle)
2022-06-14 18:41   ` Andrew Lunn
2022-06-13 13:00 ` [PATCH net-next 07/15] net: mdio: add unlocked mdiobus and mdiodev bus accessors Russell King (Oracle)
2022-06-14 21:44   ` Andrew Lunn
2022-06-13 13:01 ` [PATCH net-next 08/15] net: dsa: add support for mac_prepare() and mac_finish() calls Russell King (Oracle)
2022-06-14 21:45   ` Andrew Lunn
2022-06-13 13:01 ` [PATCH net-next 09/15] net: dsa: mv88e6xxx: move link forcing to mac_prepare/mac_finish Russell King (Oracle)
2022-06-14 21:47   ` Andrew Lunn
2022-06-13 13:01 ` [PATCH net-next 10/15] net: dsa: mv88e6xxx: add infrastructure for phylink_pcs Russell King (Oracle)
2022-06-14 21:49   ` Andrew Lunn
2022-06-13 13:01 ` [PATCH net-next 11/15] net: dsa: mv88e6xxx: export mv88e6xxx_pcs_decode_state() Russell King (Oracle)
2022-06-14 21:50   ` Andrew Lunn
2022-06-13 13:01 ` [PATCH net-next 12/15] net: dsa: mv88e6xxx: convert 88e6185 to phylink_pcs Russell King (Oracle)
2022-06-14 21:53   ` Andrew Lunn
2022-06-13 13:01 ` [PATCH net-next 13/15] net: dsa: mv88e6xxx: convert 88e6352 " Russell King
2022-06-14 21:57   ` Andrew Lunn
2022-06-13 13:01 ` [PATCH net-next 14/15] net: dsa: mv88e6xxx: convert 88e639x " Russell King (Oracle)
2022-06-14 22:03   ` Andrew Lunn
2022-06-13 13:01 ` [PATCH net-next 15/15] net: dsa: mv88e6xxx: cleanup after phylink_pcs conversion Russell King (Oracle)
2022-06-14 22:03   ` Andrew Lunn
2022-06-13 21:29 ` [PATCH net-next 00/15] net: dsa: mv88e6xxx: convert to phylink pcs Marek Behún

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).