network driver & phy framework
Ran Shalit
ranshalit at gmail.com
Sun Apr 24 15:54:41 EDT 2016
Hello,
I write a network driver, and I try to understand how to communicate with phy.
I see several methods, but did not found documentation on the
differences, and when to use each of these methods:
1. using generic phy -
a. I think we use it when we don't know the exaxt phy (?), though
I'm not sure of that.
b. use mii_if_info struct to register the read/write API between mii & phy.
mii.mdio_read = custom_mdio_read_mii;
mii.mdio_write = custom_mdio_write_mii;
c. ethtool is used with mii_if_info and the registered functions
2. using external phy.
a. I think we use it when we don't know the exaxt phy (?), though I'm
not sure of that.
b. use mii_bus to register the read/write API between mii & phy.
mii.read = custom_mdio_read_mii;
mii.write = custom_mdio_write_mii;
c. not sure how ethtool is used in this case (?)...
3. using internal phy (?)
- not sure how ethtool is used in this case (?)...
Thanks for any feedback,
Ran
More information about the Kernelnewbies
mailing list