History log of /dragonfly/sys/dev/netif/nfe/if_nfereg.h (Results 1 – 16 of 16)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0
# 86d7f5d3 26-Nov-2011 John Marino <draco@marino.st>

Initial import of binutils 2.22 on the new vendor branch

Future versions of binutils will also reside on this branch rather
than continuing to create new binutils branches for each new version.


Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0
# 5df3a6aa 09-Sep-2009 Matthew Dillon <dillon@apollo.backplane.com>

NFE - Change default RX ring size from 128 -> 256, Adjust moderation timer.

* NFE does not seem to be able to flow control the phy. TCP reception
using window scaling and large socket bufs can bl

NFE - Change default RX ring size from 128 -> 256, Adjust moderation timer.

* NFE does not seem to be able to flow control the phy. TCP reception
using window scaling and large socket bufs can blow out the receiver ring
before the interrupt has a chance to drain it.

This results in the receiver dropping a packet and the transmitter
seeing bursts of duplicate TCP acks and having to go into recovery.

* Shorten the moderation timer from 500uS to 250uS, increasing its
frequency from 2000Hz to 4000Hz. Note that the moderation timer
only kicks in when the discrete interrupt rate exceeds the frequency.

* The problem still occurs with the larger RX ring and shorter moderation
timer, but not nearly as often.

show more ...


Revision tags: v2.3.2, v2.3.1, v2.2.1, v2.2.0, v2.3.0
# 244a9aa3 17-Jan-2009 Sepherosa Ziehau <sephe@dragonflybsd.org>

nfe(4): busdma(9) correction

- Use bus_dmamem_coherent()
- Fix busdma(9) parameters


Revision tags: v2.1.1, v2.0.1
# d378110e 12-Jul-2008 Sepherosa Ziehau <sephe@dragonflybsd.org>

- Check number of free TX descs before trying to xmit packets
- Recollect TX descs in nfe_start() if nfe(4) is going to enter OACTIVE
- Use dynamic segment limit for bus_dmamap_load() in nfe_encap()

- Check number of free TX descs before trying to xmit packets
- Recollect TX descs in nfe_start() if nfe(4) is going to enter OACTIVE
- Use dynamic segment limit for bus_dmamap_load() in nfe_encap()

This change gives me following result on AMD64X2 3600+ with MCP51:

10 seconds, TX 64bytes packets, before/after

256 TX desc
imtimer | packets | if_snd full | if_oerrors
-125 1.08M/1.08M 84532/82786 90/0
-250 990K/1.08M 3735886/157125 38872/0

4096 TX desc
imtimer | packets | if_snd full | if_oerrors
-125 1.08M/1.09M 0/0 45/0
-250 1.08M/1.10M 0/0 39/0

It gives great improvement when number of TX desc is 256 (default),
and it at least will not loose any packets if number TX desc is 4096.

show more ...


# b4633098 12-Jul-2008 Sepherosa Ziehau <sephe@dragonflybsd.org>

Add tunable for number of TX desc


# 9e1f5a3c 12-Jul-2008 Sepherosa Ziehau <sephe@dragonflybsd.org>

- Decrease NFE_MAX_SCATTER to 32, should be enough
- Increase ifnet.if_snd length to (NFE_TX_RING_COUNT - 1)


# c58816ed 12-Jul-2008 Sepherosa Ziehau <sephe@dragonflybsd.org>

Use softc sc_rx_ring_count to allocate jumbo frame instead of nfe_rx_ring_count


# 53f1d017 27-Jun-2008 Sepherosa Ziehau <sephe@dragonflybsd.org>

Rework stop path.

Obtained-from: forcedeth


# faaea42e 27-Jun-2008 Sepherosa Ziehau <sephe@dragonflybsd.org>

- Rename NFE_RXTX_V[32]MAGIC to NFE_RXTX_DESC_V[32].
- Change NFE_RXTX_DESC_V3 from 0x2200 to 0xc02200; it is quite interesting
the thing actually worked.
- Add rxtxctl_desc in softc, which stores

- Rename NFE_RXTX_V[32]MAGIC to NFE_RXTX_DESC_V[32].
- Change NFE_RXTX_DESC_V3 from 0x2200 to 0xc02200; it is quite interesting
the thing actually worked.
- Add rxtxctl_desc in softc, which stores the desc type of rxtxctl. Set
it up during attach.
- Add power control fixes on attach and init path.

Obtained-from: forcedeth

show more ...


# 755f8683 27-Jun-2008 Sepherosa Ziehau <sephe@dragonflybsd.org>

- Disable WOL during attach, don't mess with it during init
- NFE_WOL_MAGIC -> NFE_WOL_ENABLE

Obtained-from: forthdeth


# f1fbd292 25-Jun-2008 Sepherosa Ziehau <sephe@dragonflybsd.org>

TX_UNK -> TX_POLL

According-to: Linux forcedeth


# ec9403d0 10-Sep-2007 Sepherosa Ziehau <sephe@dragonflybsd.org>

- Add interrupt moderation support by only using TIMER intr; IM is not
possible when RX or TX intr is enabled. With this change, my nfe(4)
can TX at line speed finally (mtu 1500).
- Add per ifac

- Add interrupt moderation support by only using TIMER intr; IM is not
possible when RX or TX intr is enabled. With this change, my nfe(4)
can TX at line speed finally (mtu 1500).
- Add per iface sysctl node hw.nfeX.imtime to enable, disable and set
interrupt moderation time. Set it to -1 will disable IM; 64-128
seems to be a reasonable value range. This sysctl variable is _not_
on by default, and can be tuned when the iface is running.
- Nuke global sysctl nodes, make them per iface.

# We may consider using TIMER intr under all situations, but with larger
# imtime when IM is not enabled, since for certain type of nfe(4), TX
# interrupts may never come.

show more ...


# 11db6c57 08-Aug-2007 Sepherosa Ziehau <sephe@dragonflybsd.org>

Add hardware csum offload support.

Tested-by: "Rumko" <rumcic@gmail.com>
Obtained-from: Peer Chen at nVIDIA via FreeBSD


# a455c52e 17-Jun-2007 Sepherosa Ziehau <sephe@dragonflybsd.org>

- Make "ifconfig nfeX mtu xxx" work.
- Don't use jumbo frames by default for chips that support jumbo frames.
Jumbo frame pool is still allocated in case mtu is set above 1500.
Tested-by: "Rumko"

- Make "ifconfig nfeX mtu xxx" work.
- Don't use jumbo frames by default for chips that support jumbo frames.
Jumbo frame pool is still allocated in case mtu is set above 1500.
Tested-by: "Rumko" <rumcic@gmail.com>
- Make number of RX descriptors tunable, hw.nfe.rx_ring_count, default
value seems to be too small if jumbo frames are used. Add a read-only
sysctl node hw.nfe.rx_ring_count, which reflects the value of the newly
added tunable.
Submitted-by: "Rumko" <rumcic@gmail.com> (w/ modification)

show more ...


# 5d07d784 21-Oct-2006 Sepherosa Ziehau <sephe@dragonflybsd.org>

WOL_MAGIC 0x7770 -> 0x1111

Obtained-from: FreeBSD

# This "magic" change of the "magic" value is submitted by
# Peer Chen at nVIDIA
# to FreeBSD


# ae813fd8 27-Aug-2006 Sepherosa Ziehau <sephe@dragonflybsd.org>

- Port nfe(4) from OpenBSD.
- Use spare RX DMA map to recover from bus_dmamap_load_mbuf() failure in
nfe_newbuf_sda().
- In nfe_encap(), properly handle excessive fragmented frame with m_defrag(),

- Port nfe(4) from OpenBSD.
- Use spare RX DMA map to recover from bus_dmamap_load_mbuf() failure in
nfe_newbuf_sda().
- In nfe_encap(), properly handle excessive fragmented frame with m_defrag(),
instead of descard it.
- Use additional serializer to protect jumbo buffer pool.
- In nfe_enacp(), set NFE_TX_VALID for each segments after all segment
are in place. Otherwise TX engine will be confused and never generates
TX interrupts, which triggers the unpleasant "watchdog timeout".
Diagnosed-and-fixed-by: dillon@
- Add polling(4) support. By: dillon@

Thank Jonathan Gray <jsg@openbsd.org> and
Damien Bergamini <damien.bergamini@free.fr> for their work on this driver.

Thank Matthew Dillon (dillon@) for diagnosing and fixing the serious bug
in TX path.

Tested-by: dillon@ corecode@(an early version)

show more ...