Thread (3 messages) flat view 3 messages, 2 authors, 2016-02-14

Re: [PATCH] phy: marvell: Fix reg-init bug on 88E1510

From: Clemens Gruber <hidden>
Date: 2016-02-14 23:21:34
Also in: lkml

On Sun, Feb 14, 2016 at 09:48:22PM +0100, Andrew Lunn wrote:
On Sun, Feb 14, 2016 at 09:31:25PM +0100, Clemens Gruber wrote:
quoted
The function marvell_of_reg_init was called too late, in
m88e1510_config_aneg. This function was not reached, due to the phy
state machine being stuck at waiting for interrupts (which were not
enabled and off by default on the 88E1510)
It lead to the ethernet link not coming up at boot.

This commit moves the call of marvell_of_reg_init to config_init.
Now, a marvell,reg-init option to enable PHY interrupts on pin LED[2] is
set early on and the phy state machine does not get stuck anymore.
Tested on i.MX6Q boards with Marvell 88E1510 PHYs.
This looks like a good fix for you board. But maybe we should look at
the bigger picture. How about calling your new 
quoted
+static int m88e1510_config_init(struct phy_device *phydev)
+{
+	int err;
+
+	err = marvell_of_reg_init(phydev);
+	if (err < 0)
+		return err;
+
+	return 0;
+}
marvell_config_init() and adding it to all PHYs which don't have a
specific config_init function.

We then get more consistent behaviour across Marvell PHYs.
Sounds good. I'll send a new patch tomorrow!

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