History log of /dflybsd-src/sys/dev/netif/re/if_revar.h (Results 51 – 52 of 52)
Revision Date Author Comments
# 7caafb85 23-Dec-2006 Sepherosa Ziehau <sephe@dragonflybsd.org>

- Don't call m_adj() to make RX buffer's _payload_ on longword aligned,
because some re(4) chips (e.g. RTL8101E) require RX buffer to be
8-bytes aligned. This change shows no noticeable performa

- Don't call m_adj() to make RX buffer's _payload_ on longword aligned,
because some re(4) chips (e.g. RTL8101E) require RX buffer to be
8-bytes aligned. This change shows no noticeable performance change.
Reported-by: Joe Talbott <josepht@cstone.net>
- Avoid writing extra hardware registers by writing 2 bytes to IDR4
instead instead of writing 4 bytes, bacause:
1) the extra two registers after IDR5 are reserved.
2) accessing arpcom.ac_enaddr[6,7] should be invalid.
- Add a flag field in re_softc and re_hwrev. Currently only one flag,
RE_F_HASMPC, is defined. This flag is used to indicate whether the
hardware has MPC register or not, so we can avoid writing to MPC's
position, if that position is reserved.
- Move descriptor ring address setting up before RX/TX enabling, since
some re(4) chips (e.g. RTL8101E) will try accessing descriptor ring
immediately after RX/TX is enabled, which results in intermittent
kernel panic or system hanging.
Paniced-by: Joe Talbott <josepht@cstone.net>
- Avoid calling re_init(), if hw.reX.tx_moderation is changed but NIC
is not up yet.
- Const-fy global hardware id arrays and nuke unused macro while I'm here.

Thank Joe Talbott <josepht@cstone.net> to help debugging and provide
valuable information (esp. locating the problematic RX/TX enabling :)

Thank dillon@ to provide debugging hints.

Tested-by:
Joe Talbott <josepht@cstone.net> (RTL8101E)
swildner@ (onboard RTL8169S) (*)
me (RTL8169S)

# (*) swildner@'s card is still half broken even after this commit :\

show more ...


# 5d686fbb 14-Nov-2006 Sepherosa Ziehau <sephe@dragonflybsd.org>

Sync re(4) with FreeBSD:
- Add support for RealTek 8169SC/8110SC and RTL8101E devices. The latter
is a PCIe 10/100 chip.
- Add support for RealTek RTL8168(B?)
- Fix EEPROM reading code
- Disable d

Sync re(4) with FreeBSD:
- Add support for RealTek 8169SC/8110SC and RTL8101E devices. The latter
is a PCIe 10/100 chip.
- Add support for RealTek RTL8168(B?)
- Fix EEPROM reading code
- Disable diagnostic code in re_attach() by default. It is almost useless
and has caused much trouble.
- Manually padding small IP datagrams to work arround hardware checksum
offload bug [1]. Enable IP/TCP/UDP checksum offload after this fix.
- Work arround hardware TX bug in some PCIe re(4) devices:
The TX command, which is issued when there is transmission in progress,
will get lost [2].
So at the end of re_txeof(), if there are still packets sitting in the
TX ring, we kick the TX engine again.
- Add a sysctl hw.reX.tx_moderation to turn on/off TX moderation. It is
on by default.
- Move softc related structs from if_rereg.h into newly created if_revar.h

Thank Bill Paul (wpaul@freebsd.org) and many other people for their work
on this driver.

#
# [1] Detailed description of this bug is at:
# FreeBSD dev/re/if_re.c rev1.70 by wpaul@freebsd.org
#
# [2] Detailed description of this bug is at:
# FreeBSD dev/re/if_re.c rev1.71 by wpaul@freebsd.org
#

show more ...


123