handle the status ring entries as 64bit words instead of a struct.
authordlg <dlg@openbsd.org>
Mon, 10 Jan 2022 04:11:13 +0000 (04:11 +0000)
committerdlg <dlg@openbsd.org>
Mon, 10 Jan 2022 04:11:13 +0000 (04:11 +0000)
commitf86fe765762b07cae5866f7a06815314f09e9feb
tree309c16233aa7551c0dd3a4d1b047eafe594824d5
parent657fbe7d7f05fef92f4822ab7faca391089cc430
handle the status ring entries as 64bit words instead of a struct.

the status ring entries are 8 bytes/64bit, and depending on the
type of entry it has fields all over the place. this loads the
descriptor with a single 64bit read, and then shifts and masks the
bits out of it depending on the type of descriptor. this looks
cleaner for the tx completions in particular.
sys/dev/pci/if_msk.c
sys/dev/pci/if_mskvar.h