linux_dsm_epyc7002/drivers/net/ethernet/broadcom
Doug Berger 31739eae73 net: bcmgenet: remove bcmgenet_internal_phy_setup()
Commit 6ac3ce8295 ("net: bcmgenet: Remove excessive PHY reset")
removed the bcmgenet_mii_reset() function from bcmgenet_power_up() and
bcmgenet_internal_phy_setup() functions.  In so doing it broke the reset
of the internal PHY devices used by the GENETv1-GENETv3 which required
this reset before the UniMAC was enabled.  It also broke the internal
GPHY devices used by the GENETv4 because the config_init that installed
the AFE workaround was no longer occurring after the reset of the GPHY
performed by bcmgenet_phy_power_set() in bcmgenet_internal_phy_setup().
In addition the code in bcmgenet_internal_phy_setup() related to the
"enable APD" comment goes with the bcmgenet_mii_reset() so it should
have also been removed.

Commit bd4060a610 ("net: bcmgenet: Power on integrated GPHY in
bcmgenet_power_up()") moved the bcmgenet_phy_power_set() call to the
bcmgenet_power_up() function, but failed to remove it from the
bcmgenet_internal_phy_setup() function.  Had it done so, the
bcmgenet_internal_phy_setup() function would have been empty and could
have been removed at that time.

Commit 5dbebbb44a ("net: bcmgenet: Software reset EPHY after power on")
was submitted to correct the functional problems introduced by
commit 6ac3ce8295 ("net: bcmgenet: Remove excessive PHY reset"). It
was included in v4.4 and made available on 4.3-stable. Unfortunately,
it didn't fully revert the commit because this bcmgenet_mii_reset()
doesn't apply the soft reset to the internal GPHY used by GENETv4 like
the previous one did. This prevents the restoration of the AFE work-
arounds for internal GPHY devices after the bcmgenet_phy_power_set() in
bcmgenet_internal_phy_setup().

This commit takes the alternate approach of removing the unnecessary
bcmgenet_internal_phy_setup() function which shouldn't have been in v4.3
so that when bcmgenet_mii_reset() was restored it should have only gone
into bcmgenet_power_up().  This will avoid the problems while also
removing the redundancy (and hopefully some of the confusion).

Fixes: 6ac3ce8295 ("net: bcmgenet: Remove excessive PHY reset")
Signed-off-by: Doug Berger <opendmb@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-03-22 12:47:26 -07:00
..
bnx2x bnx2x: add missing configuration of VF VLAN filters 2017-03-07 13:47:15 -08:00
bnxt bnxt_en: Ignore 0 value in autoneg supported speed from firmware. 2017-03-09 17:38:31 -08:00
genet net: bcmgenet: remove bcmgenet_internal_phy_setup() 2017-03-22 12:47:26 -07:00
b44.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
b44.h net: ethernet: broadcom: b44: use phydev from struct net_device 2016-09-19 21:39:11 -04:00
bcm63xx_enet.c scripts/spelling.txt: add "overrided" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
bcm63xx_enet.h net: ethernet: broadcom: bcm63xx: use phydev from struct net_device 2016-09-19 21:39:12 -04:00
bcmsysport.c net: systemport: Add support for SYSTEMPORT Lite 2017-01-22 16:56:06 -05:00
bcmsysport.h net: systemport: Add support for SYSTEMPORT Lite 2017-01-22 16:56:06 -05:00
bgmac-bcma-mdio.c net: bgmac: use PHY subsystem for initializing PHY 2017-01-31 13:44:49 -05:00
bgmac-bcma.c net: bgmac: store MAC address directly in netdev->dev_addr 2017-02-17 13:03:39 -05:00
bgmac-platform.c net: ethernet: bgmac: init sequence bug 2017-03-03 09:44:28 -08:00
bgmac.c net: ethernet: bgmac: mac address change bug 2017-03-03 09:44:28 -08:00
bgmac.h net: ethernet: bgmac: init sequence bug 2017-03-03 09:44:28 -08:00
bnx2_fw.h bnx2-cnic: Driver Rebranding Changes 2015-02-20 15:46:49 -05:00
bnx2.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
bnx2.h ethernet/broadcom: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
cnic_defs.h
cnic_if.h cnic: Add the interfaces to get FC-NPIV table. 2015-08-06 21:54:12 -07:00
cnic.c net-next: treewide use is_vlan_dev() helper function. 2017-02-06 16:33:29 -05:00
cnic.h
Kconfig Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 19:56:15 -08:00
Makefile net: ethernet: bgmac: Add platform device support 2016-07-09 18:10:41 -04:00
sb1250-mac.c drivers: net: ethernet: remove incorrect __exit markups 2017-03-02 14:33:49 -08:00
tg3.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
tg3.h mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00