linux/drivers/net
Florian Fainelli d6ab933647 net: phy: marvell: Avoid unnecessary soft reset
The BMCR.RESET bit on the Marvell PHYs has a special meaning in that
it commits the register writes into the HW for it to latch and be
configured appropriately. Doing software resets causes link drops, and
this is unnecessary disruption if nothing changed.

Determine from marvell_set_polarity()'s return code whether the register value
was changed and if it was, propagate that to the logic that hits the software
reset bit.

This avoids doing unnecessary soft reset if the PHY is configured in
the same state it was previously, this also eliminates the need for a
m88e1111_config_aneg() function since it now is the same as
marvell_config_aneg().

Tested-by: Wang, Dongsheng <dongsheng.wang@hxt-semitech.com>
Tested-by: Chris Healy <cphealy@gmail.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Clemens Gruber <clemens.gruber@pqgruber.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-25 20:26:45 -07:00
..
appletalk net/appletalk: fix minor pointer leak to userspace in SIOCFINDIPDDPRT 2018-09-13 10:35:57 -07:00
arcnet
bonding bonding: use netpoll_poll_dev() helper 2018-09-23 21:55:24 -07:00
caif
can can: Remove SKB list assumptions in rx-offload.c 2018-09-10 10:06:54 -07:00
dsa net: dsa: b53: Also include SGMII for mac_config and mac_link_state 2018-09-21 20:01:19 -07:00
ethernet Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 2018-09-25 20:25:00 -07:00
fddi net: fddi: skfp: Remove unused function 2018-09-21 19:05:06 -07:00
fjes
hamradio
hippi
hyperv hv_netvsc: Add handler for LRO setting change 2018-09-22 17:23:16 -07:00
ieee802154 ieee802154: hwsim: using right kind of iteration 2018-08-14 09:58:57 -07:00
ipvlan
netdevsim
phy net: phy: marvell: Avoid unnecessary soft reset 2018-09-25 20:26:45 -07:00
plip
ppp Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-18 09:33:27 -07:00
slip
team
usb net: lan78xx: Avoid unnecessary self assignment 2018-09-21 19:05:57 -07:00
vmxnet3
wan net: wan: remove redundant include 2018-09-18 20:08:08 -07:00
wimax wimax: usb-tx: mark expected switch fall-through 2018-08-11 11:29:36 -07:00
wireless rtl818x: Remove SKB list assumptions. 2018-09-10 10:06:54 -07:00
xen-netback xen-netback: remove unecessary condition check before debugfs_remove_recursive 2018-09-11 23:02:08 -07:00
dummy.c
eql.c
geneve.c geneve: add ttl inherit support 2018-09-12 20:38:22 -07:00
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c net: move definition of pcpu_lstats to header file 2018-09-14 08:32:23 -07:00
macsec.c DRIVERS: net: macsec: Fix multiple coding style issues 2018-09-21 18:57:20 -07:00
macvlan.c
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c failover: Fix error return code in net_failover_create 2018-09-08 10:28:56 -07:00
netconsole.c
nlmon.c net: move definition of pcpu_lstats to header file 2018-09-14 08:32:23 -07:00
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c net: tap: remove redundant null pointer check before kfree_skb 2018-09-21 09:04:37 -07:00
thunderbolt.c net: thunderbolt: Convert to use SPDX identifier 2018-08-29 19:43:21 -07:00
tun.c Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-25 10:35:29 -07:00
veth.c veth: rename pcpu_vstats as pcpu_lstats 2018-09-18 19:52:23 -07:00
virtio_net.c virtio_net: remove duplicated include from virtio_net.c 2018-08-13 09:21:05 -07:00
vrf.c
vsockmon.c net: move definition of pcpu_lstats to header file 2018-09-14 08:32:23 -07:00
vxlan.c vxlan: reduce dirty cache line in vxlan_find_mac 2018-08-29 22:07:53 -07:00
xen-netfront.c xen/netfront: don't bug in case of too many frags 2018-09-13 08:22:15 -07:00