[Intel-wired-lan] [PATCH v6 01/11] igc: Add skeletal frame for Intel(R) 2.5G Ethernet Controller support.

Corinna Vinschen vinschen at redhat.com
Thu Aug 23 16:21:04 UTC 2018


On Aug 23 08:57, Jeff Kirsher wrote:
> On Thu, 2018-08-23 at 17:21 +0200, Corinna Vinschen wrote:
> > On Aug 23 08:12, Jeff Kirsher wrote:
> > > On Thu, 2018-08-23 at 16:03 +0200, Corinna Vinschen wrote:
> > > > On Aug 23 10:05, Sasha Neftin wrote:
> > > > > This patch adds the beginning framework onto which I am going
> > to
> > > > add
> > > > > the igc driver which supports the Intel(R) I225-LM/I225-V 2.5G
> > > > > Ethernet Controller.
> > > > 
> > > > I'm curious.  The code looks very much like the igb code. 
> > Wouldn't
> > > > it
> > > > be simpler and less error prone to add these new NICs to igb,
> > rather
> > > > than creating a new driver by (mostly) copying the code from igb?
> > > > 
> > > > What's the idea behind this?
> > > 
> > > This new driver is for a new upcoming client part, not server
> > (which is
> > > the igb driver).  Yes, the way that this new client part does
> > resemble
> > > how the igb driver operates, but this new client part will not have
> > > many of the advance features (like SRIOV) that igb uses.  We also
> > want
> > > to keep the igb driver strictly for the 1GbE server devices.
> > 
> > Ok, thanks, but I'm still a bit puzzled.
> > 
> > What about E1000_DEV_ID_I354_BACKPLANE_2_5GBPS?  The later supposedly
> > already provides 2.5G within igb.  Is that the server part compared
> > to igc?  Otherwise, what's the equivalent server part providing 2.5G?
> 
> Yes, one of the last server devices we developed back in 2013 was I354
> and that device did support 2.5 GbE.  Again, this is a server part,
> which supports more advanced features that client parts do not.
> 
> There is not a 1:1 on server parts and client parts, sometimes there
> can be a server part that is similar to a client part or vice versa.
> 
> In this case, this new client part will be the next generation of
> client parts.  So these will be essentially the new "e1000e" (our other
> client driver), but since this next generation of client parts will
> have MAC/PHY communications that are more similar to how some of our
> server parts did, that is why portions of the driver will resemble igb.
> But feature wise the igc driver will be more like e1000e than igb.
> 
> Hope that helps.

Yes, Jeff, this really helps.

But this just reinforces my doubts that changing the E1000 prefix
to IGC is a good thing.  The comparison of binary values only gets
more complicated.  In the end we have, for instance, this:

  e1000:  #define E1000_ERR_NVM        1
  e1000e: #define E1000_ERR_NVM        1
  igb:    #define E1000_ERR_NVM        1

but

  igc:    #define IGC_ERR_NVM          1

This doesn't make sense.


Thanks,
Corinna
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20180823/f2087ca4/attachment.asc>


More information about the Intel-wired-lan mailing list