Page MenuHomeFreeBSD

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

Authored by kbowling on Apr 16 2021, 11:57 PM.

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
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; 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
335

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
182

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
182

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