mbox series

[RFC,0/9] Add and use helper for PCS negotiation modes

Message ID ZGzhvePzPjJ0v2En@shell.armlinux.org.uk (mailing list archive)
Headers show
Series Add and use helper for PCS negotiation modes | expand

Message

Russell King (Oracle) May 23, 2023, 3:54 p.m. UTC
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 discussion can be found at:

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

This series adds that helper, and modifies most code to use it. I have
a couple of further patches that hoist this function out of every PCS
driver and into phylink's new phylink_pcs_config() function that I've
posted separately, and drop the "mode" argument to the pcs_config()
method, instead passing the result of phylink_pcs_neg_mode().

I haven't included those because this series doesn't update everything
in net-next, but for RFC purposes, I think this is good enough to get
a few whether people are generally happy or not.

Note that this helper is only about modes that affect the PCS such as
the SGMII family and 802.3z types, not amount negotiation that happens
in order to select a PCS (e.g. for backplanes.)

 drivers/net/dsa/qca/qca8k-8xxx.c                   | 13 ++--
 drivers/net/ethernet/freescale/fman/fman_dtsec.c   |  7 +-
 drivers/net/ethernet/marvell/mvneta.c              |  5 +-
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c    |  4 +-
 .../net/ethernet/marvell/prestera/prestera_main.c  | 10 ++-
 .../ethernet/microchip/lan966x/lan966x_phylink.c   |  8 ++-
 .../net/ethernet/microchip/sparx5/sparx5_phylink.c |  8 ++-
 drivers/net/ethernet/xilinx/xilinx_axienet_main.c  |  5 +-
 drivers/net/pcs/pcs-lynx.c                         | 18 +++--
 drivers/net/phy/phylink.c                          | 14 ++--
 include/linux/phylink.h                            | 81 +++++++++++++++++++++-
 11 files changed, 136 insertions(+), 37 deletions(-)

Comments

Horatiu Vultur May 24, 2023, 7:26 a.m. UTC | #1
The 05/23/2023 16:54, Russell King (Oracle) wrote:

Hi Russell,

I have tried this series on lan966x and it seems to be working fine.
There was a small issue applying the patch 3, as the function
'phylink_resolve_c73' doesn't exist yet.

> 
> 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 discussion can be found at:
> 
> https://lore.kernel.org/r/ZGIkGmyL8yL1q1zp@shell.armlinux.org.uk
> 
> This series adds that helper, and modifies most code to use it. I have
> a couple of further patches that hoist this function out of every PCS
> driver and into phylink's new phylink_pcs_config() function that I've
> posted separately, and drop the "mode" argument to the pcs_config()
> method, instead passing the result of phylink_pcs_neg_mode().
> 
> I haven't included those because this series doesn't update everything
> in net-next, but for RFC purposes, I think this is good enough to get
> a few whether people are generally happy or not.
> 
> Note that this helper is only about modes that affect the PCS such as
> the SGMII family and 802.3z types, not amount negotiation that happens
> in order to select a PCS (e.g. for backplanes.)
> 
>  drivers/net/dsa/qca/qca8k-8xxx.c                   | 13 ++--
>  drivers/net/ethernet/freescale/fman/fman_dtsec.c   |  7 +-
>  drivers/net/ethernet/marvell/mvneta.c              |  5 +-
>  drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c    |  4 +-
>  .../net/ethernet/marvell/prestera/prestera_main.c  | 10 ++-
>  .../ethernet/microchip/lan966x/lan966x_phylink.c   |  8 ++-
>  .../net/ethernet/microchip/sparx5/sparx5_phylink.c |  8 ++-
>  drivers/net/ethernet/xilinx/xilinx_axienet_main.c  |  5 +-
>  drivers/net/pcs/pcs-lynx.c                         | 18 +++--
>  drivers/net/phy/phylink.c                          | 14 ++--
>  include/linux/phylink.h                            | 81 +++++++++++++++++++++-
>  11 files changed, 136 insertions(+), 37 deletions(-)
> 
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Russell King (Oracle) May 24, 2023, 8:10 a.m. UTC | #2
On Wed, May 24, 2023 at 09:26:19AM +0200, Horatiu Vultur wrote:
> The 05/23/2023 16:54, Russell King (Oracle) wrote:
> 
> Hi Russell,
> 
> I have tried this series on lan966x and it seems to be working fine.

Thanks for testing.

> There was a small issue applying the patch 3, as the function
> 'phylink_resolve_c73' doesn't exist yet.

It's for applying after my XPCS cleanup series that has been sent as RFC
twice and now been sent for merging. Sorry for not stating that in the
cover message.
Russell King (Oracle) May 25, 2023, 8:15 a.m. UTC | #3
On Wed, May 24, 2023 at 09:10:15AM +0100, Russell King (Oracle) wrote:
> On Wed, May 24, 2023 at 09:26:19AM +0200, Horatiu Vultur wrote:
> > The 05/23/2023 16:54, Russell King (Oracle) wrote:
> > 
> > Hi Russell,
> > 
> > I have tried this series on lan966x and it seems to be working fine.
> 
> Thanks for testing.
> 
> > There was a small issue applying the patch 3, as the function
> > 'phylink_resolve_c73' doesn't exist yet.
> 
> It's for applying after my XPCS cleanup series that has been sent as RFC
> twice and now been sent for merging. Sorry for not stating that in the
> cover message.

... which is now in net-next.