diff options
author | wpaul <wpaul@FreeBSD.org> | 1999-08-24 03:19:45 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 1999-08-24 03:19:45 +0000 |
commit | 19a3e3add0eeb9cd6220d0cb0c65cd9159a1ae53 (patch) | |
tree | 68ecfe229cb4634d1e73da46dd2902a637fa40bc /sys/pci/pci_ioctl.h | |
parent | 10d42c8b30de80d660675d510b8fc752666138bf (diff) | |
download | FreeBSD-src-19a3e3add0eeb9cd6220d0cb0c65cd9159a1ae53.zip FreeBSD-src-19a3e3add0eeb9cd6220d0cb0c65cd9159a1ae53.tar.gz |
Change PN_RXLEN from 1518 bytes to 1536 bytes. The chip always DMAs data
in 4 byte chunks. It turns out that with the 82c169C on the Netgear
FA-310TX Rev D2, if you tell the chip you have reserved a buffer of 1518
bytes, it will actually treat it as 1516 bytes since 1518 is divisible
by four. Consequently, a packet of 1514 bytes will always end up consuming
two buffers: the last coupleof bytes will spill over into the next
descriptor. This causes the pn_rx_bug_war() routine to trip unnecessarily.
I'm not sure if the 82c169B or 82c168 chips behave the same way; I'll
have to check them. In any case, this change should work just as well
with them. Note that the FA-310TX Rev D2 also has a Broadcom PHY
instead of a Level One LXT970 PHY, however this shouldn't make any
difference as far as the driver is concerned.
This change also allows me to do a way with one rounding overation in
pn_rx-buf_war().
Diffstat (limited to 'sys/pci/pci_ioctl.h')
0 files changed, 0 insertions, 0 deletions