Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/if_nfevar.h
RevisionDateAuthorComments
 1.12  01-Mar-2020  thorpej - Range-limit our DMA tag to 40-bit.
- Eliminate __LP64__ ifdefs.
 1.11  13-Sep-2019  msaitoh if_flags is neither int nor short. It's unsigned short.
 1.10  03-Nov-2010  jakllsch branches: 1.10.60;
Make nfe(4) detachable.
 1.9  20-Apr-2008  cube branches: 1.9.22; 1.9.24;
Restore jumbo frame support and protect access to the DMA space for
received frames with a mutex.

Tested by Paul Goyette, Martin Husemann and myself.
 1.8  17-Apr-2008  christos branches: 1.8.2;
sync with openbsd; fixes observed corruption issues.
 1.7  26-Mar-2008  cube Split device_t and softc, and related cosmetic changes.
 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  09-Dec-2007  jmcneill branches: 1.4.2;
Merge jmcneill-pm branch.
 1.3  24-Sep-2007  cube branches: 1.3.4; 1.3.6; 1.3.8;
- 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.2  04-Mar-2007  christos branches: 1.2.2; 1.2.14; 1.2.16; 1.2.18;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.1  12-Mar-2006  chs branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.16; 1.1.22; 1.1.26; 1.1.28; 1.1.32;
add nfe driver and manpage from OpenBSD.
 1.1.32.2  03-Jun-2008  skrll Sync with netbsd-4.
 1.1.32.1  29-Oct-2007  wrstuden Catch up with 4.0 RC3
 1.1.28.1  12-Mar-2007  rmind Sync with HEAD.
 1.1.26.2  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.1  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.22.2  09-Sep-2006  rpaulo sync with head
 1.1.22.1  12-Mar-2006  rpaulo file if_nfevar.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:52:17 +0000
 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  27-Oct-2007  yamt sync with head.
 1.1.16.3  03-Sep-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_nfevar.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_nfevar.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_nfevar.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_nfevar.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_nfevar.h was added on branch yamt-pdpolicy on 2006-03-13 09:07:26 +0000
 1.2.18.1  06-Oct-2007  yamt sync with head.
 1.2.16.3  23-Mar-2008  matt sync with HEAD
 1.2.16.2  09-Jan-2008  matt sync with HEAD
 1.2.16.1  06-Nov-2007  matt sync with HEAD
 1.2.14.2  05-Oct-2007  joerg Convert nfe(4) to PNP power management.
 1.2.14.1  02-Oct-2007  joerg Sync with HEAD.
 1.2.2.1  09-Oct-2007  ad Sync with head.
 1.3.8.1  11-Dec-2007  yamt sync with head.
 1.3.6.1  26-Dec-2007  ad Sync with head.
 1.3.4.1  18-Feb-2008  mjf Sync with HEAD.
 1.4.2.1  02-Jan-2008  bouyer Sync with HEAD
 1.6.6.2  02-Jun-2008  mjf Sync with HEAD.
 1.6.6.1  03-Apr-2008  mjf Sync with HEAD.
 1.8.2.1  18-May-2008  yamt sync with head.
 1.9.24.1  05-Mar-2011  rmind sync with head
 1.9.22.1  06-Nov-2010  uebayasi Sync with HEAD.
 1.10.60.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.10.60.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed