[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z4odUIWmYb8TelZS@shell.armlinux.org.uk>
Date: Fri, 17 Jan 2025 09:05:20 +0000
From: "Russell King (Oracle)" <linux@...linux.org.uk>
To: Jiawen Wu <jiawenwu@...stnetic.com>
Cc: 'Andrew Lunn' <andrew@...n.ch>,
'Heiner Kallweit' <hkallweit1@...il.com>, mengyuanlou@...-swift.com,
'Alexandre Torgue' <alexandre.torgue@...s.st.com>,
'Andrew Lunn' <andrew+netdev@...n.ch>,
'Bryan Whitehead' <bryan.whitehead@...rochip.com>,
"'David S. Miller'" <davem@...emloft.net>,
'Eric Dumazet' <edumazet@...gle.com>,
'Jakub Kicinski' <kuba@...nel.org>,
linux-arm-kernel@...ts.infradead.org,
linux-stm32@...md-mailman.stormreply.com,
'Marcin Wojtas' <marcin.s.wojtas@...il.com>,
'Maxime Coquelin' <mcoquelin.stm32@...il.com>,
netdev@...r.kernel.org, 'Paolo Abeni' <pabeni@...hat.com>,
UNGLinuxDriver@...rochip.com
Subject: Re: [PATCH net-next 0/9] net: add phylink managed EEE support
On Fri, Jan 17, 2025 at 04:56:34PM +0800, Jiawen Wu wrote:
> > Hi,
> >
> > Adding managed EEE support to phylink has been on the cards ever since
> > the idea in phylib was mooted. This overly large series attempts to do
> > so. I've included all the patches as it's important to get the driver
> > patches out there.
> >
> > Patch 1 adds a definition for the clock stop capable bit in the PCS
> > MMD status register.
> >
> > Patch 2 adds a phylib API to query whether the PHY allows the transmit
> > xMII clock to be stopped while in LPI mode. This capability is for MAC
> > drivers to save power when LPI is active, to allow them to stop their
> > transmit clock.
> >
> > Patch 3 extracts a phylink internal helper for determining whether the
> > link is up.
> >
> > Patch 4 adds basic phylink managed EEE support. Two new MAC APIs are
> > added, to enable and disable LPI. The enable method is passed the LPI
> > timer setting which it is expected to program into the hardware, and
> > also a flag ehther the transmit clock should be stopped.
> >
> > I have taken the decision to make enable_tx_lpi() to return an error
> > code, but not do much with it other than report it - the intention
> > being that we can later use it to extend functionality if needed
> > without reworking loads of drivers.
> >
> > I have also dropped the validation/limitation of the LPI timer, and
> > left that in the driver code prior to calling phylink_ethtool_set_eee().
> >
> > The remainder of the patches convert mvneta, lan743x and stmmac, and
> > add support for mvneta.
> >
> > Since yesterday's RFC:
> > - fixed the mvpp2 GENMASK()
> > - dropped the DSA patch
> > - changed how phylink restricts EEE advertisement, and the EEE support
> > reported to userspace which fixes a bug.
> >
> > drivers/net/ethernet/marvell/mvneta.c | 107 ++++++++++------
> > drivers/net/ethernet/marvell/mvpp2/mvpp2.h | 5 +
> > drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 86 +++++++++++++
> > drivers/net/ethernet/microchip/lan743x_ethtool.c | 21 ---
> > drivers/net/ethernet/microchip/lan743x_main.c | 46 ++++++-
> > drivers/net/ethernet/microchip/lan743x_main.h | 1 -
> > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 57 +++++++--
> > drivers/net/phy/phy.c | 20 +++
> > drivers/net/phy/phylink.c | 149 ++++++++++++++++++++--
> > include/linux/phy.h | 1 +
> > include/linux/phylink.h | 45 +++++++
> > include/uapi/linux/mdio.h | 1 +
> > 12 files changed, 446 insertions(+), 93 deletions(-)
>
> Since merging these patches, phylink_connect_phy() can no longer be
> invoked correctly in ngbe_open(). The error is returned from the function
> phy_eee_rx_clock_stop(). Since EEE is not supported on our NGBE hardware.
That would mean phy_modify_mmd() is failing, but the question is why
that is. Please investigate. Thanks.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Powered by blists - more mailing lists