Re: [RFT PATCH 1/2] net: dsa: mv88e6xxx: Add EEE support

From: Guenter Roeck
Date: Mon Feb 23 2015 - 21:30:09 EST


On 02/23/2015 02:19 PM, David Miller wrote:
From: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Mon, 23 Feb 2015 08:26:09 -0800

+ /* Don't call phy_init_eee for now. It fails if the link is down,
+ * but that should not really be a reason to fail configuration.
+ */

I think there is some confusion about phy_init_eee().

You invoke it after a link has been established. Because programming
the MDIO registers that turn on EEE can only be done if the link
is configured in a certain way.

If you look at stmmac, it invokes phy_init_eee() via it's adjust_link
callback passed to phy_connect(). This is basically how I would
expect it to be used, in that any time a link parameter changes we
rerun phy_init_eee() to check the link partner registers, duplex
state, etc.

SXGBE on the other hand seems to not be using phy_init_eee() properly,
it only invokes it once per device open and that makes no sense at all
because then you're stuck with the eee state resulting from the link
state at open time.

That explains a lot. I suspect the use in bcm_sf2 and bcmgenet is also
not as intended.

Thanks,
Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/