o Use mbufs, for the RX ring, instead of malloc()'ing an MCLBYTES sized buffer.
authorthib <thib@openbsd.org>
Fri, 18 Jul 2008 13:38:40 +0000 (13:38 +0000)
committerthib <thib@openbsd.org>
Fri, 18 Jul 2008 13:38:40 +0000 (13:38 +0000)
commit31d567d1e1eca0de2c2681092cc8dae31a5c69ac
tree364867d2c35d0f7fd3f14a5d837c6d1285f98ce6
parentc6438c483a04ae68a2ce4452b03c5c20e775d881
o Use mbufs, for the RX ring, instead of malloc()'ing an MCLBYTES sized buffer.
o On non-strict alignment archs, dont copy the mbuf, every time, unload it, and send
  it up the stack and just get a new one for the rx ring. We still do the copy on
  strict alignment archs though...
o create a function to handle mbuf allocation for the rx ring, vr_mbuf_alloc(),
  use it to allocate the mbufs and shuffle the bus dma setup around.

ideas/code from vic(4) and sis(4);

ok reyk@, brad@, dlg@
tested by many, been in snapshots for a while.
sys/dev/pci/if_vr.c
sys/dev/pci/if_vrreg.h