[PATCH net-next v2 2/3] net: phy: dp83tg720: remove redundant 600ms post-reset delay

Oleksij Rempel posted 3 patches 4 months ago
[PATCH net-next v2 2/3] net: phy: dp83tg720: remove redundant 600ms post-reset delay
Posted by Oleksij Rempel 4 months ago
From: David Jander <david@protonic.nl>

Now that dp83tg720_soft_reset() introduces role-specific delays to avoid
reset synchronization deadlocks, the fixed 600ms post-reset delay in
dp83tg720_read_status() is no longer needed.

The new logic provides both the required MDC timing and link stabilization,
making the old empirical delay redundant and unnecessarily long.

Co-developed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
changes v2:
- move by Sob to the end of commit message
---
 drivers/net/phy/dp83tg720.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/net/phy/dp83tg720.c b/drivers/net/phy/dp83tg720.c
index a53ea6d6130b..92597d12ecb9 100644
--- a/drivers/net/phy/dp83tg720.c
+++ b/drivers/net/phy/dp83tg720.c
@@ -450,21 +450,11 @@ static int dp83tg720_read_status(struct phy_device *phydev)
 		/* According to the "DP83TC81x, DP83TG72x Software
 		 * Implementation Guide", the PHY needs to be reset after a
 		 * link loss or if no link is created after at least 100ms.
-		 *
-		 * Currently we are polling with the PHY_STATE_TIME (1000ms)
-		 * interval, which is still enough for not automotive use cases.
 		 */
 		ret = phy_init_hw(phydev);
 		if (ret)
 			return ret;
 
-		/* Sleep 600ms for PHY stabilization post-reset.
-		 * Empirically chosen value (not documented).
-		 * Helps reduce reset bounces with link partners having similar
-		 * issues.
-		 */
-		msleep(600);
-
 		/* After HW reset we need to restore master/slave configuration.
 		 * genphy_c45_pma_baset1_read_master_slave() call will be done
 		 * by the dp83tg720_config_aneg() function.
-- 
2.39.5
Re: [PATCH net-next v2 2/3] net: phy: dp83tg720: remove redundant 600ms post-reset delay
Posted by Andrew Lunn 4 months ago
On Thu, Jun 12, 2025 at 12:41:56PM +0200, Oleksij Rempel wrote:
> From: David Jander <david@protonic.nl>
> 
> Now that dp83tg720_soft_reset() introduces role-specific delays to avoid
> reset synchronization deadlocks, the fixed 600ms post-reset delay in
> dp83tg720_read_status() is no longer needed.
> 
> The new logic provides both the required MDC timing and link stabilization,
> making the old empirical delay redundant and unnecessarily long.
> 
> Co-developed-by: Oleksij Rempel <o.rempel@pengutronix.de>
> Signed-off-by: David Jander <david@protonic.nl>
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew