[PATCH RFC 0/15] Add and use helper for PCS negotiation modes
Russell King (Oracle)
linux at armlinux.org.uk
Tue Jun 13 07:36:56 PDT 2023
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.
Consequently, because the driver implementations have changed, I've
dropped the acks I received previously.
I've build-tested this, but I can't guarantee having build-tested
every change.
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!
More information about the Linux-mediatek
mailing list