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