Re: [PATCH] gianfar: Fix half-duplex operation for non-MII/RMII interfaces
From: Anton Vorontsov <hidden>
Date: 2009-06-24 21:51:52
Also in:
netdev
On Thu, Jun 25, 2009 at 01:39:45AM +0400, Anton Vorontsov wrote:
On Wed, Jun 24, 2009 at 04:25:06PM -0500, Andy Fleming wrote: [...]quoted
quoted
quoted
My concern is that you will be detecting the GMII interface, and disallowing half-duplex, despite the fact that the interface is actually running at 10 or 100 Mbit.Very interesting, though I'm not sure I'm completely following. :-) Are you saying that I should do this instead: if (!phydev->duplex && (phyi == PHY_INTERFACE_MODE_MII || phyi == PHY_INTERFACE_MODE_RMII || (phyi == PHY_INTERFACE_MODE_GMII && phydev->speed < 1000))) tempval &= ~MACCFG2_FULL_DUPLEX; else tempval |= MACCFG2_FULL_DUPLEX; i.e. we detected GMII interface initially, but it downgraded to MII since speed is < 1000, thus we can set half-duplex in MAC?Yeah, I think that works out more correctly.Cool, thanks. Do you happen to know how gianfar iface auto-detection works in HW? I mean, if we connect 100 Mbs link to the GMII PHY, then gfar_get_interface() would return MII, correct?
Stupid me. HW has nothing to do with this. GMII, just as you said, is just a marker, comes from FSL_GIANFAR_DEV_HAS_GIGABIT flag. -- Anton Vorontsov email: cbouatmailru@gmail.com irc://irc.freenode.net/bd2