Paul Durrant wrote:
On 4/20/07, Garrett D'Amore <[EMAIL PROTECTED]> wrote:
FYI, I've done a conversion of eri to GLDv3, as well as dmfe.  In order
to record some experiences that I don't want to get lost, I posted them
on my blog at

http://gdamore.blogspot.com/2007/04/ive-just-finished-still-testing-my-port.html

Please have a look....

MII/GMII is a trickly one. You *could* try to write drivers for common
non-integrated PHYs abstracted above an MDIO interface provided by the
mac driver but, in my experience, there's usally some quirk of the way
that each piece of h/w is implemented that means you can't access the
PHY in such a clean way.
The trend at the time Nemo was implemented was towards integrated PHYs
(such that most information was available without direct s/w access
via MDIO). This trend is likely to continue IMHO, plus the MII world
gets a lot more complicated with XGMII and clause 45 MDIO.

I'm not sure about the 10G world. But pretty much all the devices I've seen do have integrated PHYs, but they usually provide some kind of "emulation" of MII. (Typically this is through special access registers that contain the contents of MII registers. The registers are accessed as normal CSRs rather than through bit-banging.)

As I said earlier, I think there is ample evidence that a significant amount of complexity in a variety of drivers (pretty much all the 1G and 10/100 drivers I've seen) could be greatly reduced through a common module.

Its possible that were will need to be a way for a driver to override the default code, but at least by providing the common code we will also be providing default semantics. I think this is incredibly useful for cross-driver consistency.

   -- Garrett

_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to