Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/if_nfereg.h
RevisionDateAuthorComments
 1.8  05-Mar-2019  msaitoh Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes
if_upgt.c's ETHER_ALIGN from 0 to 2.
 1.7  17-Apr-2008  christos branches: 1.7.92;
sync with openbsd; fixes observed corruption issues.
 1.6  26-Jan-2008  tsutsui branches: 1.6.6;
Wakeup some newer chips from powerdown mode. From FreeBSD/Linux driver
via OpenBSD.

Tested by wiz@ in PR kern/37868.
 1.5  17-Dec-2007  tsutsui Handle a quirk of newer MCP6x chips on reading MAC address.
Fix from Richy Kim in PR kern/36576.
 1.4  28-Feb-2007  tsutsui branches: 1.4.16; 1.4.22; 1.4.24; 1.4.28;
Apply patches which may fix RX stall problem on nfe(4):
- make DMA descriptors volatile to avoid possible unintended reordering
which might cause some race conditions
- process interrupts until all NFE_IRQ_WANTED bits are handled

and also put misc fixes:
- return 1 and call nfe_start() in nfe_intr() only if any own interrupts
are actually handled
- use bus_dmamap_load_mbuf(9) for RX mbufs rather than bus_dmamap_load(9)
with mtod(9) and MCLBYTES
- check sc->txq.queued to see if TX descriptors are queued or handled
in nfe_start() and nfe_txeof()
- use proper BUS_DMASYNC_{PRE,POST} ops
- prepare and use NFE_[RT]X_NEXTDESC() macro
- rename NFE_TX_TCP_CSUM to NFE_TX_TCP_UDP_CSUM since it also enables
hardware udp4csum-tx for UDP4 packets
- some minor optimization
- misc KNF

Tested and confirmed by matthew green by
"to send >25MB/sec to nfe0 for over one hour,"
and also tested by me (with light TRX load on 100baseTX though)
for a month.
 1.3  09-Jan-2007  tsutsui branches: 1.3.2;
Enable hardware checksum support by hardware info taken from FreeBSD.
Tested on nForce3 250 and nForce4 by Chuck Silvers, Cesar Catrian Carreno,
and me.
 1.2  05-Jan-2007  jmcneill Fix incorrect definition of wake-on-LAN magic number, from FreeBSD.
 1.1  12-Mar-2006  chs branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.16; 1.1.20; 1.1.22; 1.1.26;
add nfe driver and manpage from OpenBSD.
 1.1.26.3  23-Feb-2008  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1061):
sys/dev/pci/if_nfe.c: revision 1.22, 1.23, 1.25, 1.27
sys/dev/pci/pcidevs: revision 1.914
sys/dev/pci/if_nfereg.h: revision 1.5, 1.6
share/man/man4/nfe.4: revision 1.4
sys/dev/pci/if_nfevar.h: revision 1.5, 1.6
Add NVIDIA MCP7[37] devices, from OpenBSD.
Attach to NVIDIA MCP67/73 Ethernet controllers.
Add the MCP{67,73} products on nfe_attach().
Sync with reality.
Handle a quirk of newer MCP6x chips on reading MAC address.
Fix from Richy Kim in PR kern/36576.
Wakeup some newer chips from powerdown mode. From FreeBSD/Linux driver
via OpenBSD.
Tested by wiz@ in PR kern/37868.
 1.1.26.2  07-Oct-2007  pavel Pull up following revisions (requested by cube in ticket #920):
sys/dev/pci/if_nfe.c: revision 1.14, 1.18-1.19
sys/dev/pci/if_nfereg.h: revision 1.4
sys/dev/pci/if_nfevar.h: revision 1.3
Apply patches which may fix RX stall problem on nfe(4):
- make DMA descriptors volatile to avoid possible unintended reordering
which might cause some race conditions
- process interrupts until all NFE_IRQ_WANTED bits are handled
and also put misc fixes:
- return 1 and call nfe_start() in nfe_intr() only if any own interrupts
are actually handled
- use bus_dmamap_load_mbuf(9) for RX mbufs rather than bus_dmamap_load(9)
with mtod(9) and MCLBYTES
- check sc->txq.queued to see if TX descriptors are queued or handled
in nfe_start() and nfe_txeof()
- use proper BUS_DMASYNC_{PRE,POST} ops
- prepare and use NFE_[RT]X_NEXTDESC() macro
- rename NFE_TX_TCP_CSUM to NFE_TX_TCP_UDP_CSUM since it also enables
hardware udp4csum-tx for UDP4 packets
- some minor optimization
- misc KNF
Tested and confirmed by matthew green by
"to send >25MB/sec to nfe0 for over one hour,"
and also tested by me (with light TRX load on 100baseTX though)
for a month.


From OpenBSD, rev 1.72:
In nfe_start() do a fast return if IFF_OACTIVE is set, in
this case we need a Tx interrupt to clean up the DMA ring
before if_start can be properly called.


- If the chip doesn't support jumbo frames, don't use bus_dmamap_load_mbuf
which expects a properly filled mbuf chain, but bus_dmamap_load for the
mbuf storage space instead.
- If the chip supports jumbo frames
+ keep track of which RX descriptor uses which jumbo mbuf buffer, so
that we can rewrite the physaddr field of the descriptor later, as it
might be partially overwritten by the hw
+ when we're out of jumbo mbufs, and if the packet is small enough,
copy it into a cluster mbuf
Those changes make my nfe(4) stable in both cases (defining NFE_NO_JUMBO
for the first one).
 1.1.26.1  19-Jan-2007  bouyer branches: 1.1.26.1.2;
Pull up following revision(s) (requested by tsutsui in ticket #370):
sys/dev/pci/if_nfe.c: revision 1.8 - 1.13
sys/dev/pci/if_nfereg.h: revision 1.2 - 1.3
several bug fixes and hardware checksum support for nfs(4).
 1.1.26.1.2.2  03-Jun-2008  skrll Sync with netbsd-4.
 1.1.26.1.2.1  29-Oct-2007  wrstuden Catch up with 4.0 RC3
 1.1.22.2  09-Sep-2006  rpaulo sync with head
 1.1.22.1  12-Mar-2006  rpaulo file if_nfereg.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:52:17 +0000
 1.1.20.1  12-Jan-2007  ad Sync with head.
 1.1.16.6  04-Feb-2008  yamt sync with head.
 1.1.16.5  21-Jan-2008  yamt sync with head
 1.1.16.4  03-Sep-2007  yamt sync with head.
 1.1.16.3  26-Feb-2007  yamt sync with head.
 1.1.16.2  21-Jun-2006  yamt sync with head.
 1.1.16.1  12-Mar-2006  yamt file if_nfereg.h was added on branch yamt-lazymbuf on 2006-06-21 15:05:04 +0000
 1.1.10.2  22-Apr-2006  simonb Sync with head.
 1.1.10.1  12-Mar-2006  simonb file if_nfereg.h was added on branch simonb-timecounters on 2006-04-22 11:39:14 +0000
 1.1.8.2  20-Apr-2006  snj Pull up following revision(s) (requested by tron in ticket #1266):
share/man/man4/Makefile: revision 1.377
sys/dev/pci/if_nfe.c: revision 1.1
sys/dev/pci/if_nfereg.h: revision 1.1
share/man/man4/nfe.4: revision 1.1
sys/dev/pci/if_nfevar.h: revision 1.1
distrib/sets/lists/man/mi: revision 1.863
add nfe driver and manpage from OpenBSD.
 1.1.8.1  12-Mar-2006  snj file if_nfereg.h was added on branch netbsd-3 on 2006-04-20 03:11:14 +0000
 1.1.6.2  19-Apr-2006  elad sync with head.
 1.1.6.1  12-Mar-2006  elad file if_nfereg.h was added on branch elad-kernelauth on 2006-04-19 03:25:35 +0000
 1.1.2.2  13-Mar-2006  yamt sync with head.
 1.1.2.1  12-Mar-2006  yamt file if_nfereg.h was added on branch yamt-pdpolicy on 2006-03-13 09:07:26 +0000
 1.3.2.1  12-Mar-2007  rmind Sync with HEAD.
 1.4.28.1  02-Jan-2008  bouyer Sync with HEAD
 1.4.24.1  26-Dec-2007  ad Sync with head.
 1.4.22.1  18-Feb-2008  mjf Sync with HEAD.
 1.4.16.2  23-Mar-2008  matt sync with HEAD
 1.4.16.1  09-Jan-2008  matt sync with HEAD
 1.6.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.7.92.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed