Move the fill and the tail pointer change to a later point, to make sure
authorpatrick <patrick@openbsd.org>
Sun, 31 Oct 2021 15:02:25 +0000 (15:02 +0000)
committerpatrick <patrick@openbsd.org>
Sun, 31 Oct 2021 15:02:25 +0000 (15:02 +0000)
commitb88bced15a37e8ec82fff126aa0bca31f9eac44e
treed9acb1c877c175f184c59248344a89dad8f66847
parent833067921015a0bb30717e533cc97d81b4f386a8
Move the fill and the tail pointer change to a later point, to make sure
that the RDT is written, and that it is written not too early.  Doing it
before writing IGC_RXDCTL definitely doesn't work.

The tail pointer needs to be set to the next empty slot, so it has to be
"last desc filled + 1".

Make sure sure that the rss mapping does not happen in the middle of the
RX checksum block, and that it happens only if nqueues > 1.  Also disable
storing bad packets.

With this, igc(4) receives packets just fine.

ok kevlo@
sys/dev/pci/if_igc.c