Page MenuHomeFreeBSD

e1000: Add support for [Tiger, Alder, Meteor] Lake client platforms
ClosedPublic

Authored by kbowling on Apr 16 2021, 11:57 PM.
Tags
None
Referenced Files
F106268549: D29801.diff
Sat, Dec 28, 6:30 AM
Unknown Object (File)
Mon, Dec 16, 4:19 AM
Unknown Object (File)
Sat, Dec 14, 6:22 PM
Unknown Object (File)
Tue, Dec 10, 12:30 AM
Unknown Object (File)
Nov 12 2024, 4:31 PM
Unknown Object (File)
Nov 12 2024, 4:23 PM
Unknown Object (File)
Nov 12 2024, 4:19 PM
Unknown Object (File)
Oct 21 2024, 1:19 PM
Subscribers
None

Details

Summary

Add PCI IDs and basic support for Intel's newer client platforms.

MFC: 2 weeks

Test Plan

Taking a look at the BSDL DPDK driver I believe these changes to be sufficient for the first two https://github.com/DPDK/dpdk/tree/main/drivers/net/e1000. Meteor Lake is a ways out but no reason not to add the public IDs now.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kbowling created this revision.
kbowling edited the summary of this revision. (Show Details)
sys/dev/e1000/e1000_api.c
336

Missing break ?

kbowling updated this revision to Diff 87608.
kbowling marked an inline comment as done.

I can't see any problems in the diff.

This revision is now accepted and ready to land.Apr 18 2021, 8:36 PM

Were there any other hacks or hardware workarounds? I think they usually add some every generation, but maybe they've finally stopped with these last I219 versions.

sys/dev/e1000/if_em.c
183

I almost wish someone would correct these branding strings, but it would be a massive hassle.

In D29801#669698, @erj wrote:

Were there any other hacks or hardware workarounds? I think they usually add some every generation, but maybe they've finally stopped with these last I219 versions.

I at least couldn't find any special handling for any of these devices in the Linux or DPDK drivers.

@erj I am not aware of any. There is a generic I219 errata "em_flush_desc_rings" in the out of tree driver I am adapting to iflib e1000 that will be a separate review/commit.

sys/dev/e1000/if_em.c
183

I'm willing to do it if you can give me some pointers. I'll do so in a different review/commit.