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

_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to