linux_dsm_epyc7002/drivers/net
Andrew Lunn f39908d3b1 net: dsa: mv88e6xxx: Set the CMODE for mv88e6390 ports 9 & 10
Unlike most ports, ports 9 and 10 of the 6390X family have configurable
PHY modes. Set the mode as part of adjust_link().

Ordering is important, because the SERDES interfaces connected to
ports 9 and 10 can be split and assigned to other ports. The CMODE has
to be correctly set before the SERDES interface on another port can be
configured. Such configuration is likely to be performed in
port_enable() and port_disabled(), called on slave_open() and
slave_close().

The simple case is port 9 and 10 are used for 'CPU' or 'DSA'. In this
case, the CMODE is set via a phy-mode in dsa_cpu_dsa_setup(), which is
called early in the switch setup.

When ports 9 or 10 are used as user ports, and have a fixed-phy, when
the fixed fixed-phy is attached, dsa_slave_adjust_link() is called,
which results in the adjust_link function being called, setting the
cmode. The port_enable() will for other ports will be called much
later.

When ports 9 or 10 are used as user ports and have a real phy attached
which does not use all the available SERDES interface, e.g. a 1Gbps
SGMII, there is currently no mechanism in place to set the CMODE of
the port from software. It must be hoped the stripping resistors are
correct.

At the same time, add a function to get the cmode. This will be needed
when configuring the SERDES interfaces.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-07 10:34:43 -05:00
..
appletalk
arcnet
bonding net: remove ndo_neigh_{construct, destroy} from stacked devices 2017-02-06 11:25:57 -05:00
caif
can can: flexcan: switch imx6 and vf610 to timestamp based offloading 2017-02-06 15:13:45 +01:00
cris
dsa net: dsa: mv88e6xxx: Set the CMODE for mv88e6390 ports 9 & 10 2017-02-07 10:34:43 -05:00
ethernet net/mlx5e: fix another maybe-uninitialized false-positive 2017-02-06 16:35:12 -05:00
fddi
fjes drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
hamradio
hippi
hyperv net-next: treewide use is_vlan_dev() helper function. 2017-02-06 16:33:29 -05:00
ieee802154
ipvlan ipvlan: use netdev_is_rx_handler_busy instead of checking specific type 2017-01-20 12:22:26 -05:00
irda net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
phy net: phy: marvell: Add support for 88e1545 PHY 2017-02-02 22:05:28 -05:00
plip
ppp
slip
team net: remove ndo_neigh_{construct, destroy} from stacked devices 2017-02-06 11:25:57 -05:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-28 10:33:06 -05:00
vmxnet3 drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
wan drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
wimax
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-02 16:54:00 -05:00
xen-netback drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
dummy.c net: dummy: Introduce dummy virtual functions 2017-01-24 14:07:22 -05:00
eql.c
geneve.c
gtp.c gtp: let userspace handle packets for invalid tunnels 2017-01-29 13:54:00 -05:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c
macvlan.c macvlan: use netdev_is_rx_handler_busy instead of checking specific type 2017-01-20 12:22:26 -05:00
macvtap.c virtio-net: restore VIRTIO_HDR_F_DATA_VALID on receiving 2017-01-20 11:01:17 -05:00
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-28 10:33:06 -05:00
veth.c
virtio_net.c virtio_net: XDP support for adjust_head 2017-02-07 10:05:12 -05:00
vrf.c
vxlan.c vxlan: support fdb and learning in COLLECT_METADATA mode 2017-02-03 15:21:21 -05:00
xen-netfront.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00