Steven Stallion wrote:
> Garrett D'Amore wrote:
>
>> Steven Stallion wrote:
>>
>>> General question about the MII/GMII impl:
>>>
>>> At the moment, it seems that the best location to track MII state is in
>>> mac_impl_t (i.e. mac_handle_t). I have added the following two members
>>> to the mac_impl_s struct:
>>>
>>> boolean_t mi_mii;
>>> mac_capab_t mi_mii_capab;
>>>
>>> Alternately, if it is not desirable to have the capab struct, it could
>>> be expressed as this:
>>>
>>> boolean_t mi_mii;
>>> mac_mii_read_t mi_mii_read;
>>> mac_mii_write_t mi_mii_write;
>>>
>>> Any objections/preferences?
>>>
>>> Steve
>>>
>>>
>> Look at how the other capabilities are implemented. I don't have a
>> *strong* opinion, but I suspect that you might find the latter fits more
>> closely with current practice. (That said, using a *pointer* to a
>> structure might be better ... less space used in the structure, at
>> slightly higher dereference lookup. The concern here is figuring out
>> how well the capabilities will scale when we have dozens or more of them.)
>>
>> -- Garrett
>>
>
> Makes sense.
>
> I opted for the second form (for now).
>
> I'm starting to write the concrete implementation, and I'm debating how
> to handle initializing MII. Is this something that should occur as a
> result of mac_start?
>
>
Probably not. Probably should be a utility function that the driver can
call for itself, probably in the implementation of mac_start. (The main
concern I have is that there could be dependencies between the MII and
MAC portions of the NIC, which Nemo won't know about.)
-- Garrett
_______________________________________________
networking-discuss mailing list
[email protected]