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]