As part of working out the details of the ndd-compat component,
I'm looking into purging the nd_param_t crud in bge (Garrett- take
note! :-)) and pondering over the various MII ndd parameters.
There's the following enums in bge_impl.h
/*
* NDD parameter indexes, divided into:
:
*/
enum {
PARAM_AUTONEG_CAP,
PARAM_PAUSE_CAP,
PARAM_ASYM_PAUSE_CAP,
PARAM_1000FDX_CAP,
PARAM_1000HDX_CAP,
PARAM_100T4_CAP,
PARAM_100FDX_CAP,
PARAM_100HDX_CAP,
PARAM_10FDX_CAP,
PARAM_10HDX_CAP,
which seem somehat orphaned: they have nd_param_t entries that
are read-only, but no code (other than ndd) that actually reads
their value. Even the ETHER_STAT_ISMII() macro does not take the
above into consideration.
This brings up questions like "why do we need both PARAM_AUTONEG_CAP
and PARAM_LINK_AUTONEG?"
Can someone on this list provide some background on where this
duplication went wrong?
where I'm trying to head: I'd like to rip out the nd_param_t, and
collapse all the mii params into one bitmask managed in the bge_t.
--Sowmini