linux_dsm_epyc7002/drivers/net/phy
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
..
amd.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
aquantia.c net: phy: aquantia: Utilize genphy_c45_aneg_done() 2018-03-01 21:23:34 -05:00
asix.c net-next: phy: new Asix Electronics PHY driver 2018-04-19 16:11:10 -04:00
at803x.c net: phy: fix wrong masks to phy_modify() 2018-01-08 14:20:21 -05:00
bcm7xxx.c net: phy: Add support for Broadcom Omega internal Combo GPHY 2018-08-07 15:48:38 -07:00
bcm63xx.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
bcm87xx.c phy: Centralize setting driver module owner 2016-01-07 14:31:27 -05:00
bcm-cygnus.c net: phy: broadcom: Fix bcm_write_exp() 2018-05-23 15:27:01 -04:00
bcm-phy-lib.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-26 19:46:15 -04:00
bcm-phy-lib.h net: phy: broadcom: Fix bcm_write_exp() 2018-05-23 15:27:01 -04:00
broadcom.c net: phy: broadcom: Enable 125 MHz clock on LED4 pin for BCM54612E by default. 2018-06-05 09:43:09 -04:00
cicada.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
cortina.c net: phy: cortina: Utilize generic functions 2018-03-01 21:23:35 -05:00
davicom.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
dp83tc811.c net: phy: DP83TC811: Fix SGMII enable/disable 2018-07-03 11:38:07 +09:00
dp83640_reg.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dp83640.c net: dp83640: Mark expected switch fall-throughs 2018-08-11 11:28:34 -07:00
dp83822.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
dp83848.c net: phy: dp83822: use BMCR_ANENABLE instead of BMSR_ANEGCAPABLE for DP83620 2018-06-10 12:38:03 -07:00
dp83867.c net: phy: dp83867: Add binding for the CLK_OUT pin muxing option 2018-02-14 15:33:43 -05:00
et1011c.c net: phy: et011c: Remove incorrect PHY_POLL flags 2018-09-16 15:31:01 -07:00
fixed_phy.c net: phy: fixed-phy: Make the error path simpler 2018-06-24 16:41:58 +09:00
icplus.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
intel-xway.c net: phy: intel-xway: add VR9 v1.1 phy ids 2018-03-23 13:19:49 -04:00
Kconfig net: phy: bcm63xx: Allow to be built with COMPILE_TEST 2018-09-12 20:24:20 -07:00
lxt.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
Makefile net: phy: mscc-miim: Add MDIO driver 2018-05-15 16:41:15 -04:00
marvell10g.c net: phy: marvell10g: add thermal hwmon device 2018-04-04 11:24:54 -04:00
marvell.c net: phy: marvell: Avoid unnecessary soft reset 2018-09-25 20:26:45 -07:00
mdio_bus.c net: mdio: remove duplicated include from mdio_bus.c 2018-09-17 19:52:44 -07:00
mdio_device.c phylib: rename reset-(post-)delay-us to reset-(de)assert-us 2017-12-27 11:06:50 -05:00
mdio-bcm-iproc.c net: phy: Initialize mdio clock at probe function 2017-02-09 17:10:23 -05:00
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: Allow configuring MDIO clock divider 2018-09-21 19:08:24 -07:00
mdio-bitbang.c net: phy: mdio-bitbang: Remove reset support 2018-04-19 15:59:10 -04:00
mdio-boardinfo.c net: phy: mdio-boardinfo: Allow recursive mdiobus_register() 2018-04-20 10:33:26 -04:00
mdio-boardinfo.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mdio-cavium.c phy: mdio-cavium: Add missing MODULE_* annotations. 2016-03-16 19:55:37 -04:00
mdio-cavium.h phy: mdio-octeon: Refactor into two files/modules 2016-03-14 15:27:22 -04:00
mdio-gpio.c net: phy: mdio-gpio: Cut surplus includes 2018-06-12 15:23:55 -07:00
mdio-hisi-femac.c net: Add MDIO bus driver for the Hisilicon FEMAC 2016-07-16 21:32:58 -07:00
mdio-i2c.c net: phy: add I2C mdio bus 2017-08-06 20:55:28 -07:00
mdio-i2c.h net: phy: add I2C mdio bus 2017-08-06 20:55:28 -07:00
mdio-moxart.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
mdio-mscc-miim.c drivers: net: Remove device_node checks with of_mdiobus_register() 2018-05-16 14:20:36 -04:00
mdio-mux-bcm-iproc.c net: phy: Add pm support to Broadcom iProc mdio mux driver 2018-08-02 14:36:49 -07:00
mdio-mux-gpio.c mdio-mux-gpio: Remove VLA usage 2018-06-26 23:24:07 +09:00
mdio-mux-mmioreg.c net: phy: mdio-mux: slience probe defer error 2018-03-07 12:39:59 -05:00
mdio-mux.c net: mdio-mux: add mdio_mux parameter to mdio_mux_init() 2017-09-05 14:42:52 -07:00
mdio-octeon.c phy: mdio-octeon: Refactor into two files/modules 2016-03-14 15:27:22 -04:00
mdio-sun4i.c mdio-sun4i: Fix a memory leak 2018-01-08 14:30:28 -05:00
mdio-thunder.c phy: mdio-thunder: Add driver for Cavium Thunder SoC MDIO buses. 2016-03-14 15:27:22 -04:00
mdio-xgene.c net: phy: xgene: disable clk on error paths 2017-12-18 15:09:42 -05:00
mdio-xgene.h drivers: net: phy: xgene: Add lock to protect mac access 2017-05-16 11:41:08 -04:00
meson-gxl.c net: phy: meson-gxl: join the authors 2017-12-18 13:24:56 -05:00
micrel.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-21 16:01:54 -04:00
microchip_t1.c microchip_t1: Add driver for Microchip LAN87XX T1 PHYs 2018-05-10 14:16:36 -04:00
microchip.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-04-21 16:32:48 -04:00
mscc.c net: phy: mscc: read 'vsc8531, led-%d-mode' as an u32 2018-09-04 10:47:53 -07:00
national.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
phy_device.c net: phy: Stop with excessive soft reset 2018-09-25 20:26:45 -07:00
phy_led_triggers.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
phy-c45.c net: phy: Fix spelling mistake: "advertisment"-> "advertisement" 2018-03-04 18:11:54 -05:00
phy-core.c net: phy: Fix spelling mistake: "advertisment"-> "advertisement" 2018-03-04 18:11:54 -05:00
phy.c net: phy: don't reschedule state machine when PHY is halted 2018-09-21 18:59:29 -07:00
phylink.c net: phy: phylink: ensure the carrier is off when starting phylink 2018-09-19 21:15:01 -07:00
qsemi.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
realtek.c net: phy: realtek: Support RTL8366RB variant 2018-07-18 13:43:38 +09:00
rockchip.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
sfp-bus.c sfp: fix oops with ethtool -m 2018-09-18 20:14:19 -07:00
sfp.c net: phy: sfp: Handle unimplemented hwmon limits and alarms 2018-09-04 12:22:41 -07:00
sfp.h sfp: add sfp-bus to bridge between network devices and sfp cages 2017-08-06 20:55:29 -07:00
smsc.c drivers: net: replace UINT64_MAX with U64_MAX 2018-04-27 20:18:55 -04:00
spi_ks8995.c drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
ste10Xp.c net: phy: ste10Xp: Remove wrong SUPPORTED_Pause 2018-09-12 20:24:20 -07:00
swphy.c phy: generate swphy registers on the fly 2016-06-27 10:40:57 -04:00
swphy.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
teranetics.c net: phy: teranetics: Utilize generic functions 2018-03-01 21:23:34 -05:00
uPD60620.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
vitesse.c net: phy: vitesse: Add support for VSC73xx 2018-07-04 11:30:02 +09:00
xilinx_gmii2rgmii.c net: phy: xgmiitorgmii: Check read_status results 2018-06-28 16:12:06 +09:00