[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211217055729.GA14835@linux.intel.com>
Date: Fri, 17 Dec 2021 13:57:29 +0800
From: Wong Vee Khee <vee.khee.wong@...ux.intel.com>
To: "Russell King (Oracle)" <linux@...linux.org.uk>
Cc: Alexandre Torgue <alexandre.torgue@...s.st.com>,
Giuseppe Cavallaro <peppe.cavallaro@...com>,
Jose Abreu <Jose.Abreu@...opsys.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Andrew Lunn <andrew@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Heiner Kallweit <hkallweit1@...il.com>,
Jakub Kicinski <kuba@...nel.org>,
Jose Abreu <joabreu@...opsys.com>,
linux-arm-kernel@...ts.infradead.org,
linux-stm32@...md-mailman.stormreply.com, netdev@...r.kernel.org
Subject: Re: [PATCH CFT net-next 0/6] net: stmmac/xpcs: modernise PCS support
On Thu, Dec 16, 2021 at 01:11:40PM +0000, Russell King (Oracle) wrote:
> Hi,
>
> This series updates xpcs and stmmac for the recent changes to phylink
> to better support split PCS and to get rid of private MAC validation
> functions.
>
> This series is slightly more involved than other conversions as stmmac
> has already had optional proper split PCS support.
>
> The patches:
>
> 1) Provide a function to query the xpcs for the interface modes that
> are supported.
>
> 2) Populates the MAC capabilities and switches stmmac_validate() to use
> phylink_get_linkmodes(). We do not use phylink_generic_validate() yet
> as (a) we do not always have the supported interfaces populated, and
> (b) the existing code does not restrict based on interface. There
> should be no functional effect from this patch.
>
> 3) Populates phylink's supported interfaces from the xpcs when the xpcs
> is configured by firmware and also the firmware configured interface
> mode. Note: this will restrict stmmac to only supporting these
> interfaces modes - stmmac maintainers need to verify that this
> behaviour is acceptable.
>
> 4) stmmac_validate() tail-calls xpcs_validate(), but we don't need it to
> now that PCS have their own validation method. Convert stmmac and
> xpcs to use this method instead.
>
> 5) xpcs sets the poll field of phylink_pcs to true, meaning xpcs
> requires its status to be polled. There is no need to also set the
> phylink_config.pcs_poll. Remove this.
>
> 6) Switch to phylink_generic_validate(). This is probably the most
> contravertial change in this patch set as this will cause the MAC to
> restrict link modes based on the interface mode. From an inspection
> of the xpcs driver, this should be safe, as XPCS only further
> restricts the link modes to a subset of these (whether that is
> correct or not is not an issue I am addressing here.) For
> implementations that do not use xpcs, this is a more open question
> and needs feedback from stmmac maintainers.
>
> Please review and test this series. Thanks!
>
Tested this patch series on my Intel Elkhart Lake setup with Marvell
88E1510 PHY.
Everything works perfectly!
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 144 ++++++----------------
> drivers/net/pcs/pcs-xpcs.c | 41 +++---
> include/linux/pcs/pcs-xpcs.h | 3 +-
> 3 files changed, 67 insertions(+), 121 deletions(-)
Powered by blists - more mailing lists