msk(4): Align RX buffer on 8bytes for hardware w/ ram buffer
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Mon, 11 Jul 2011 06:50:07 +0000 (14:50 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Mon, 11 Jul 2011 06:50:07 +0000 (14:50 +0800)
commit2a9b20a41f9ecbfd7ab7e2a8be8f0c959fbe9945
tree1af923ff13b5e8efb5e9c906a8ace29c77e59203
parent8510fba4bd32a72174ac7a8b2603e22ef2ff3eea
msk(4): Align RX buffer on 8bytes for hardware w/ ram buffer

Add another hardware bug workaround for Yukon II controllers that
have hardware ram buffer. The silicon bug seem to be triggered by
pause frames if receive buffer is not aligned on FIFO word(8 bytes).
To workaround the issue, make sure to align Rx buffers on 8 bytes.
Unfortunately this workaround requires yet another Rx fixup for
strict alignment architecture machines to align IP header.

For newer hardwares that lacks ram buffer may not have this bug so
check number of available ram buffer size to see the existence of
ram buffer.

Obtained-frim: FreeBSD 183346
sys/dev/netif/msk/if_msk.c
sys/dev/netif/msk/if_mskreg.h