From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Chris Snook <chris.snook@gmail.com>, Felix Fietkau <nbd@nbd.name>,
Florian Fainelli <f.fainelli@gmail.com>,
John Crispin <john@phrozen.org>,
Mark Lee <Mark-MC.Lee@mediatek.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Michal Simek <michal.simek@xilinx.com>,
Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>,
Sean Wang <sean.wang@mediatek.com>,
Vivien Didelot <vivien.didelot@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Heiner Kallweit <hkallweit1@gmail.com>,
Jakub Kicinski <kuba@kernel.org>,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, netdev@vger.kernel.org
Subject: [PATCH RFC net-next 0/8] net: phylink: introduce legacy mode flag
Date: Tue, 23 Nov 2021 09:52:52 +0000 [thread overview]
Message-ID: <YZy59OTNCpKoPZT/@shell.armlinux.org.uk> (raw)
Hi all,
In March 2020, phylink gained support to split the PCS support out of
the MAC callbacks. By doing so, a slight behavioural difference was
introduced when a PCS is present, specifically:
1) the call to mac_config() when the link comes up or advertisement
changes were eliminated
2) mac_an_restart() will never be called
3) mac_pcs_get_state() will never be called
The intention was to eventually remove this support once all phylink
users were converted. Unfortunately, this still hasn't happened - and
in some cases, it looks like it may never happen.
Through discussion with Sean Anderson, we now need to allow the PCS to
be optional for modern drivers, so we need a different way to identify
these legacy drivers.
In order to do that, this series of patches introduce a
"legacy_pre_march2020" which is used to allow the old behaviour - in
other words, we get the old behaviour only when there is no PCS and
this flag is true. Otherwise, we get the new behaviour.
I decided to use the date of the change in the flag as just using
"legacy" or "legacy_driver" is too non-descript. An alternative could
be to use the git sha1 hash of the set of changes.
As part of this series, I have consolidated DSA's phylink creation, so
only one place needs maintenance. This reduces the size of subsequent
changes, including further changes I have lined up.
I believe I have added the legacy flag to all the drivers which use
legacy mode - that being the ag71xx, mtk_eth_soc and axienet ethernet
drivers, and many DSA drivers - the ones which need the old behaviour
are identified by having non-NULL phylink_mac_link_state or
phylink_mac_an_restart methods in their dsa_switch_ops structure.
drivers/net/ethernet/atheros/ag71xx.c | 1 +
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 4 ++
drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 1 +
drivers/net/phy/phylink.c | 32 +++++++++-----
include/linux/phylink.h | 20 +++++++++
net/dsa/dsa_priv.h | 2 +-
net/dsa/port.c | 51 ++++++++++++++++-------
net/dsa/slave.c | 19 ++-------
8 files changed, 86 insertions(+), 44 deletions(-)
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-11-23 9:54 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-23 9:52 Russell King (Oracle) [this message]
2021-11-23 10:00 ` [PATCH RFC net-next 1/8] net: dsa: consolidate phylink creation Russell King (Oracle)
2021-11-23 10:00 ` [PATCH RFC net-next 2/8] net: phylink: add legacy_pre_march2020 indicator Russell King (Oracle)
2021-11-23 10:00 ` [PATCH RFC net-next 3/8] net: dsa: mark DSA phylink as legacy_pre_march2020 Russell King (Oracle)
2021-11-23 10:00 ` [PATCH RFC net-next 4/8] net: mtk_eth_soc: mark as a legacy_pre_march2020 driver Russell King (Oracle)
2021-11-23 10:00 ` [PATCH RFC net-next 5/8] net: ag71xx: mark as a legacy_pre_march2020 phylink driver Russell King (Oracle)
2021-11-23 18:05 ` Russell King (Oracle)
2021-11-23 10:00 ` [PATCH RFC net-next 6/8] net: axienet: " Russell King (Oracle)
2021-11-23 10:00 ` [PATCH RFC net-next 7/8] net: phylink: use legacy_pre_march2020 Russell King (Oracle)
2021-11-23 10:00 ` [PATCH RFC net-next 8/8] net: phylink: allow PCS to be removed Russell King (Oracle)
2021-11-23 12:08 ` Vladimir Oltean
2021-11-23 16:08 ` Russell King (Oracle)
2021-11-23 17:30 ` Sean Anderson
2021-11-23 18:15 ` Vladimir Oltean
2021-11-23 19:04 ` Sean Anderson
2021-11-23 19:30 ` Vladimir Oltean
2021-11-23 19:50 ` Russell King (Oracle)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YZy59OTNCpKoPZT/@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=Mark-MC.Lee@mediatek.com \
--cc=andrew@lunn.ch \
--cc=chris.snook@gmail.com \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=john@phrozen.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=michal.simek@xilinx.com \
--cc=nbd@nbd.name \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=radhey.shyam.pandey@xilinx.com \
--cc=sean.wang@mediatek.com \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).