linux/net/dsa
Florian Fainelli aab9c4067d net: dsa: Plug in PHYLINK support
Add support for PHYLINK within the DSA subsystem in order to support more
complex devices such as pluggable (SFP) and non-pluggable (SFF) modules, 10G
PHYs, and traditional PHYs. Using PHYLINK allows us to drop some amount of
complexity we had while probing fixed and non-fixed PHYs using Device Tree.

Because PHYLINK separates the Ethernet MAC/port configuration into different
stages, we let switch drivers implement those, and for now, we maintain
functionality by calling dsa_slave_adjust_link() during
phylink_mac_link_{up,down} which provides semantically equivalent steps.

Drivers willing to take advantage of PHYLINK should implement the phylink_mac_*
operations that DSA wraps.

We cannot quite remove the adjust_link() callback just yet, because a number of
drivers rely on that for configuring their "CPU" and "DSA" ports, this is done
dsa_port_setup_phy_of() and dsa_port_fixed_link_register_of() still.

Drivers that utilize fixed links for user-facing ports (e.g: bcm_sf2) will need
to implement phylink_mac_ops from now on to preserve functionality, since PHYLINK
*does not* create a phy_device instance for fixed links.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-05-11 12:03:06 -04:00
..
Kconfig net: dsa: Add PHYLINK switch operations 2018-05-11 12:03:05 -04:00
Makefile net: dsa: Allow compiling out legacy support 2017-12-07 14:14:54 -05:00
dsa.c net: dsa: forward timestamping callbacks to switch drivers 2018-02-14 14:33:37 -05:00
dsa2.c net: dsa: Support internal phy on 'cpu' port 2018-01-23 19:22:38 -05:00
dsa_priv.h net: dsa: Plug in PHYLINK support 2018-05-11 12:03:06 -04:00
legacy.c net: dsa: Fix dsa_is_user_port() test inversion 2018-03-12 21:04:55 -04:00
master.c net: dsa: Allow providing PHY statistics from CPU port 2018-04-27 11:53:03 -04:00
port.c net: dsa: Allow providing PHY statistics from CPU port 2018-04-27 11:53:03 -04:00
slave.c net: dsa: Plug in PHYLINK support 2018-05-11 12:03:06 -04:00
switch.c net: dsa: support cross-chip FDB operations 2017-12-02 21:21:17 -05:00
tag_brcm.c net: dsa: Move padding into Broadcom tagger 2018-01-05 11:21:31 -05:00
tag_dsa.c net: dsa: {e}dsa: set offload_fwd_mark on received packets 2017-11-11 19:33:11 +09:00
tag_edsa.c net: dsa: {e}dsa: set offload_fwd_mark on received packets 2017-11-11 19:33:11 +09:00
tag_ksz.c net: dsa: rename dsa_master_get_slave 2017-10-18 12:24:33 +01:00
tag_lan9303.c net: dsa: lan9303: calculate offload_fwd_mark from tag 2017-11-14 21:47:48 +09:00
tag_mtk.c net: dsa: mediatek: combine MediaTek tag with VLAN tag 2017-12-15 10:31:54 -05:00
tag_qca.c net: dsa: rename dsa_master_get_slave 2017-10-18 12:24:33 +01:00
tag_trailer.c net: dsa: rename dsa_master_get_slave 2017-10-18 12:24:33 +01:00