netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/15] Add and use helper for PCS negotiation modes
@ 2023-06-16 12:05 Russell King (Oracle)
  2023-06-16 12:06 ` [PATCH net-next 01/15] net: phylink: add PCS negotiation mode Russell King (Oracle)
                   ` (16 more replies)
  0 siblings, 17 replies; 31+ messages in thread
From: Russell King (Oracle) @ 2023-06-16 12:05 UTC (permalink / raw)
  To: Andrew Lunn, Heiner Kallweit
  Cc: Alexander Couzens, AngeloGioacchino Del Regno, Claudiu Beznea,
	Daniel Golle, Daniel Machon, David S. Miller, DENG Qingfang,
	Eric Dumazet, Florian Fainelli, Horatiu Vultur, Ioana Ciornei,
	Jakub Kicinski, Jose Abreu, Landen Chao, Lars Povlsen,
	linux-arm-kernel, linux-mediatek, Madalin Bucur, Marcin Wojtas,
	Matthias Brugger, Michal Simek, netdev, Nicolas Ferre,
	Paolo Abeni, Radhey Shyam Pandey, Sean Anderson, Sean Wang,
	Steen Hegelund, Taras Chornyi, Thomas Petazzoni, UNGLinuxDriver,
	Vladimir Oltean

Hi,

Earlier this month, I proposed a helper for deciding whether a PCS
should use inband negotiation modes or not. There was some discussion
around this topic, and I believe there was no disagreement about
providing the helper.

The initial discussion can be found at:

https://lore.kernel.org/r/ZGIkGmyL8yL1q1zp@shell.armlinux.org.uk

Subsequently, I posted a RFC series back in May:

https://lore.kernel.org/r/ZGzhvePzPjJ0v2En@shell.armlinux.org.uk

that added a helper, phylink_pcs_neg_mode() which PCS drivers could use
to parse the state, and updated a bunch of drivers to use it. I got
a couple of bits of feedback to it, including some ACKs.

However, I've decided to take this slightly further and change the
"mode" parameter to both the pcs_config() and pcs_link_up() methods
when a PCS driver opts in to this (by setting "neg_mode" in the
phylink_pcs structure.) If this is not set, we default to the old
behaviour. That said, this series converts all the PCS implementations
I can find currently in net-next.

Doing this has the added benefit that the negotiation mode parameter
is also available to the pcs_link_up() function, which can now know
whether inband negotiation was in fact enabled or not at pcs_config()
time.

It has been posted as RFC at:

https://lore.kernel.org/r/ZIh/CLQ3z89g0Ua0@shell.armlinux.org.uk

and received one reply, thanks Elad, which is a similar amount of
interest to previous postings. Let's post it as non-RFC and see
whether we get more reaction.

 drivers/net/dsa/qca/qca8k-8xxx.c                   |  13 ++-
 drivers/net/dsa/sja1105/sja1105_main.c             |  14 ++-
 drivers/net/ethernet/freescale/fman/fman_dtsec.c   |   7 +-
 drivers/net/ethernet/marvell/mvneta.c              |   7 +-
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c    |  14 +--
 .../net/ethernet/marvell/prestera/prestera_main.c  |  11 +--
 .../net/ethernet/microchip/lan966x/lan966x_main.c  |   1 +
 .../ethernet/microchip/lan966x/lan966x_phylink.c   |   7 +-
 .../net/ethernet/microchip/sparx5/sparx5_main.c    |   1 +
 .../net/ethernet/microchip/sparx5/sparx5_phylink.c |   8 +-
 drivers/net/ethernet/xilinx/xilinx_axienet_main.c  |   6 +-
 drivers/net/pcs/pcs-lynx.c                         |  48 +++++----
 drivers/net/pcs/pcs-mtk-lynxi.c                    |  39 +++-----
 drivers/net/pcs/pcs-xpcs.c                         |  43 ++++----
 drivers/net/phy/phylink.c                          |  59 +++++++----
 include/linux/pcs/pcs-xpcs.h                       |   4 +-
 include/linux/phylink.h                            | 109 +++++++++++++++++++--
 17 files changed, 253 insertions(+), 138 deletions(-)

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

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

end of thread, other threads:[~2023-06-23  2:50 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-16 12:05 [PATCH net-next 0/15] Add and use helper for PCS negotiation modes Russell King (Oracle)
2023-06-16 12:06 ` [PATCH net-next 01/15] net: phylink: add PCS negotiation mode Russell King (Oracle)
2023-06-16 15:51   ` Simon Horman
2023-06-20 11:34   ` Vladimir Oltean
2023-06-20 15:42     ` Russell King (Oracle)
2023-06-20 11:37   ` Vladimir Oltean
2023-06-20 15:51     ` Russell King (Oracle)
2023-06-16 12:06 ` [PATCH net-next 02/15] net: phylink: convert phylink_mii_c22_pcs_config() to neg_mode Russell King (Oracle)
2023-06-16 12:06 ` [PATCH net-next 03/15] net: phylink: pass neg_mode into phylink_mii_c22_pcs_config() Russell King (Oracle)
2023-06-16 12:06 ` [PATCH net-next 04/15] net: pcs: xpcs: update PCS driver to use neg_mode Russell King (Oracle)
2023-06-16 12:06 ` [PATCH net-next 05/15] net: pcs: lynxi: " Russell King (Oracle)
2023-06-16 12:06 ` [PATCH net-next 06/15] net: pcs: lynx: " Russell King (Oracle)
2023-06-16 12:06 ` [PATCH net-next 07/15] net: lan966x: " Russell King (Oracle)
2023-06-16 12:06 ` [PATCH net-next 08/15] net: mvneta: " Russell King (Oracle)
2023-06-16 12:07 ` [PATCH net-next 09/15] net: mvpp2: " Russell King (Oracle)
2023-06-16 12:07 ` [PATCH net-next 10/15] net: prestera: " Russell King (Oracle)
2023-06-16 12:07 ` [PATCH net-next 11/15] net: qca8k: " Russell King (Oracle)
2023-06-20  9:18   ` Russell King (Oracle)
2023-06-20 11:28     ` Vladimir Oltean
2023-06-20 16:22       ` Jakub Kicinski
2023-06-16 12:07 ` [PATCH net-next 12/15] net: sparx5: " Russell King (Oracle)
2023-06-16 12:07 ` [PATCH net-next 13/15] net: dsa: b53: " Russell King (Oracle)
2023-06-20 11:30   ` Florian Fainelli
2023-06-16 12:07 ` [PATCH net-next 14/15] net: dsa: mt7530: " Russell King (Oracle)
2023-06-16 12:07 ` [PATCH net-next 15/15] net: macb: " Russell King (Oracle)
2023-06-16 15:00 ` [PATCH net-next 0/15] Add and use helper for PCS negotiation modes Vladimir Oltean
2023-06-16 15:46   ` Russell King (Oracle)
2023-06-16 15:52     ` Russell King (Oracle)
2023-06-20 11:25       ` Vladimir Oltean
2023-06-20 10:54     ` Vladimir Oltean
2023-06-23  2:50 ` patchwork-bot+netdevbpf

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).