[lkml]   [2019]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 3.16 044/305] net: phy: Stop with excessive soft reset
    3.16.63-rc1 review patch.  If anyone has any objections, please let me know.


    From: Florian Fainelli <>

    commit 6e2d85ec05591b739059f65fe8438c9c5999f7d8 upstream.

    While consolidating the PHY reset in phy_init_hw() an unconditionaly
    BMCR soft-reset I became quite trigger happy with those. This was later
    on deactivated for the Generic PHY driver on the premise that a prior
    software entity (e.g: bootloader) might have applied workarounds in
    commit 0878fff1f42c ("net: phy: Do not perform software reset for
    Generic PHY").

    Since we have a hook to wire-up a soft_reset callback, just use that and
    get rid of the call to genphy_soft_reset() entirely. This speeds up
    initialization and link establishment for most PHYs out there that do
    not require a reset.

    Fixes: 87aa9f9c61ad ("net: phy: consolidate PHY reset in phy_init_hw()")
    Tested-by: Wang, Dongsheng <>
    Tested-by: Chris Healy <>
    Tested-by: Andrew Lunn <>
    Tested-by: Clemens Gruber <>
    Signed-off-by: Florian Fainelli <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Ben Hutchings <>
    drivers/net/phy/phy_device.c | 2 --
    1 file changed, 2 deletions(-)

    --- a/drivers/net/phy/phy_device.c
    +++ b/drivers/net/phy/phy_device.c
    @@ -543,8 +543,6 @@ int phy_init_hw(struct phy_device *phyde

    if (phydev->drv->soft_reset)
    ret = phydev->drv->soft_reset(phydev);
    - else
    - ret = genphy_soft_reset(phydev);

    if (ret < 0)
    return ret;
     \ /
      Last update: 2019-02-03 15:21    [W:3.392 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site