Thread (7 messages) 7 messages, 2 authors, 2022-10-27

Re: [PATCH net 1/1] net: phy: marvell: add link status check before enabling phy loopback

From: Andrew Lunn <andrew@lunn.ch>
Date: 2022-08-25 13:27:10
Also in: lkml, stable

quoted hunk ↗ jump to hunk
@@ -2015,14 +2016,23 @@ static int m88e1510_loopback(struct phy_device *phydev, bool enable)
 		if (err < 0)
 			return err;
 
-		/* FIXME: Based on trial and error test, it seem 1G need to have
-		 * delay between soft reset and loopback enablement.
-		 */
-		if (phydev->speed == SPEED_1000)
-			msleep(1000);
+		if (phydev->speed == SPEED_1000) {
+			err = phy_read_poll_timeout(phydev, MII_BMSR, val, val & BMSR_LSTATUS,
+						    PHY_LOOP_BACK_SLEEP,
+						    PHY_LOOP_BACK_TIMEOUT, true);
Is this link with itself?

Have you tested this with the cable unplugged?
+			if (err)
+				return err;
I'm just trying to ensure we don't end up here with -ETIMEDOUT.
 
+#define PHY_LOOP_BACK_SLEEP	1000000
+#define PHY_LOOP_BACK_TIMEOUT	8000000
The kernel seems to be pretty consistent in having loopback as one
word.

	Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help