> > +#define ETHTOOL_PHY_FAST_LINK_DOWN_ON 0 > > +#define ETHTOOL_PHY_FAST_LINK_DOWN_OFF 0xff > > + > > enum phy_tunable_id { > > ETHTOOL_PHY_ID_UNSPEC, > > ETHTOOL_PHY_DOWNSHIFT, > > + ETHTOOL_PHY_FAST_LINK_DOWN, > > /* > > * Add your fresh new phy tunable attribute above and remember to update > > * phy_tunable_strings[] in net/core/ethtool.c > > It would be nice to have a short summary around here explaining how is > the value interpreted. While it's obvious from the second patch, one > shouldn't have to go into driver specific implementation to find out. > > I also wonder if the range 0-254 ms is sufficient. Would it be possible > that there is some other hardware which would support e.g. 300 ms?
The default, as defined by the 802.3 standard, is i think 750ms. The Marvel PHY also supports 50ms, 20ms and 0ms, if i remember correctly. One problem we have here is discovery. How does the user find out the values the driver supports. For a netlink socket API, extended errors could be used to pass back a string indicating the supported values. For the old ethtool, i think all we have is -EINVAL, which is not very helpful. Andrew