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: > [...] > >>> 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: [email protected] irc://irc.freenode.net/bd2 _______________________________________________ Linuxppc-dev mailing list [email protected] https://lists.ozlabs.org/listinfo/linuxppc-dev
