Page MenuHomeFreeBSD

e1000: Add support for Ice Lake and Cannon Lake

Authored by kbowling on Dec 28 2017, 4:57 AM.
Referenced Files
Unknown Object (File)
Sun, Feb 18, 9:08 AM
Unknown Object (File)
Dec 31 2023, 8:14 AM
Unknown Object (File)
Dec 20 2023, 4:17 AM
Unknown Object (File)
Dec 10 2023, 2:30 PM
Unknown Object (File)
Nov 12 2023, 8:41 AM
Unknown Object (File)
Nov 10 2023, 8:41 AM
Unknown Object (File)
Nov 8 2023, 8:43 AM
Unknown Object (File)
Oct 7 2023, 7:35 AM



This adds initial support for Ice Lake and Cannon Lake ethernet.

It also addresses in for Sky Lake and Kabby Lake.

Test Plan

Untested, no access to HW yet

Diff Detail

rS FreeBSD src repository - subversion
Lint Not Applicable
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Dec 28 2017, 5:10 PM
This revision was automatically updated to reflect the committed changes.

We don't have anything for the Ice Lake hardware, but the Cannon Lake stuff looks like it's good.


The line above already sets this bit, along with another. In fact, the line above clears everything but bit 28 and 29, and possibly those two as well.

Anyway, how does this fix the errata in The description doesn't mention doing anything to the TARC0 register.


@erj this was taken from the Linux team's shared code

I'm not sure whether they intended or not to toggle all the bits but it made it past a bunch of people :/

The root cause for the fix seems to be attempting to slow down DMA

We can throw this at CNL and CFL ( Cannon Lake/Coffee Lake).


The linked patch includes the proper "~" before the constant in the block of code in netdev.c, so I think that was just missed here.

And my confusion in the second part was due to a typo in the comment -- this fix is for, not Modifying TARC0 (it looks like it's a register for enabling/disabling hardware workarounds) wouldn't be unexpected for something like that issue.


And to nitpick a little bit -- netdev.c isn't shared code; that's Linux-specific.

It appears the client team is committing important fixes directly to the Linux code without notifying us. :(

kbowling added inline comments.

@erj ok, I can't directly commit but I suggest you or @sbruno either backing out this errata part of my patch or just fixing it, these were both typos and my fault. can you settle up with the client team to figure out better communication with the shared teams?