freebsd-skq/sys
yongari c6a9c8f2c8 Overhaul bus_dma(9) usage in et(4) and clean up TX/RX path. This
change should make et(4) work on any architectures.
 o Remove m_getl inline function and replace it with stanard mbuf
   interfaces.  Previous code tried to minimize code duplication
   but this came from incorrect use of common DMA tag.
   Driver may be still use a common RX allocation handler with
   additional structure changes but I don't see much point to do
   that it would make it hard to understand the code.
 o Remove DragonflyBSD specific constant EVL_ENCAPLEN, use
   ETHER_VLAN_ENCAP_LEN instead.
 o Add bunch of new RX status definition.  It seems controller
   supports RX checksum offloading but I was not able to make the
   feature work yet.  Currently driver checks whether recevied
   frame is good one or not.
 o Avoid a typedef ending in '_t' as style(9) says.
 o Controller has no restriction on DMA address space, so there
   is no reason to limit the DMA address to 32bit.  Descriptor
   rings,  status blocks and TX/RX buffers now use full 64bit DMA
   addressing.
 o Allocate DMA memory shared between host and controller as
   coherent.
 o Create 3 separate DMA tags to be used as TX, mini RX ring and
   stanard RX ring.  Previously it created a single DMA tag and it
   was used to all three rings.
 o et(4) does not support jumbo frame at this moment and I still
   don't quite understand how jumbo frame works on this controller
   so use two RX rings to handle small sized frame and normal sized
   frame respectively.  The mini RX ring will be used to receive
   frames that are less than or equal to 127 bytes.  The second RX
   ring is used to receive frames that are not handled by the first
   RX ring.
   If jumbo frame support is implemented, driver may have to choose
   better RX scheme by letting the second RX ring handle jumbo
   frames.  This scheme will mimic Broadcom's efficient jumbo frame
   handling feature.  However RAM buffer size(16KB) of the
   controller is too small to hold 2 jumbo frames, if 9KB
   jumbo frame is used, I'm not sure how good performance would it
   have.
 o In et_rxeof(), make sure to check whether controller received
   good frame or not.  Passing corrupted frame to upper layer is
   bad idea.
 o If driver receives a bad frame or driver fails to allocate RX
   buffer due to resource shortage condition, reuse previously
   loaded DMA map for RX buffer instead of unloading/loading RX
   buffer again.
 o et_init_tx_ring() never fails so change return type to void.
 o In watchdog handler, show TX DMA write back status of errored
   frame which could be used as a clue to debug watchdog timeout.
 o Add missing bus_dmamap_sync() in various places such that et(4)
   should work with bounce buffers(e.g. PAE).
 o TX side bus_dmamap_load_mbuf_sg(9) support.
 o RX side bus_dmamap_load_mbuf_sg(9) support.
 o Controller has no DMA alignment limit in RX buffer so use
   m_adj(9) in RX buffer allocation to make IP header align on 2
   bytes boundary.  Otherwise it would trigger unaligned access
   error in upper layer on strict alignment architectures.
   One of down side of controller is it provides limited set of RX
   buffer length like most Intel controllers.  This is not problem
   at this moment because driver does not support jumbo frame yet
   but it may require alignment fixup code to support jumbo frame
   on strict alignment architectures.
 o In et_txeof(), don't zero TX descriptors for transmitted frames.
   TX descriptors don't need write access after transmission.
   Driver sets IFF_DRV_OACTIVE when the number of available TX
   descriptors are less than or equal to ET_NSEG_SPARE.  Make sure
   to clear IFF_DRV_OACTIVE only when the number of available TX
   descriptor is greater than ET_NSEG_SPARE.
2011-12-07 18:17:09 +00:00
..
amd64 Limit building sfxge(4) in-kernel to amd64 for the time being. We can put it 2011-11-28 18:51:40 +00:00
arm Fix OF_finddevice error return value in case of FDT. 2011-12-02 15:24:39 +00:00
boot zfsboot: print boot.config contents before parsing it 2011-12-04 21:32:18 +00:00
bsm
cam Move the scsi_da_bios_params() prototype from pc98_machdep.h to md_var.h 2011-11-27 16:22:19 +00:00
cddl Fix typo in copyright notice. 2011-11-28 21:42:31 +00:00
compat Protect process environment variables with p_candebug(). 2011-12-04 21:43:13 +00:00
conf MK_CTF is not defined when kmod.mk is used with old bsd.own.mk. 2011-12-06 18:01:09 +00:00
contrib Return value should be conditional on return value of pfsync_defer_ptr() 2011-11-30 08:47:17 +00:00
crypto Update Copyright. 2011-10-27 14:15:26 +00:00
ddb Follow up to r225203 refining break-to-debugger run-time configuration 2011-08-27 14:24:27 +00:00
dev Overhaul bus_dma(9) usage in et(4) and clean up TX/RX path. This 2011-12-07 18:17:09 +00:00
fs Initialize fifoinfo fi_wgen field on open. The only important is the 2011-12-04 19:25:49 +00:00
gdb
geom Close race between geom destruction on g_vfs_close() when softc destroyed 2011-12-02 17:09:48 +00:00
gnu Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
i386 Remove some more occurrences of amd(4) missed in r227982. 2011-11-26 18:02:39 +00:00
ia64 Introduce the option VFS_ALLOW_NONMPSAFE and turn it on by default on 2011-11-08 10:18:07 +00:00
isa - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
kern Eliminate stale numbers from a comment. 2011-12-07 16:27:23 +00:00
kgssapi Add missing break statement to make sure all 3DES etypes really are treated 2011-10-10 09:13:07 +00:00
libkern Add unicode support to msdosfs and smbfs; original pathes from imura, 2011-11-18 03:05:20 +00:00
mips Disable KDB/DDB options for XLP N32 compile. 2011-12-05 03:18:40 +00:00
modules Merge ACPICA 20111123. 2011-11-28 23:36:48 +00:00
net 1. Fix the handling of link reset while in netmap more. 2011-12-05 12:06:53 +00:00
net80211 .. add missing include from an incorrect merge. 2011-11-08 14:34:01 +00:00
netatalk
netgraph In r191367 the need for if_free_type() was removed and a new member 2011-11-11 22:57:52 +00:00
netinet Fix a very special case when SIOCAIFADDR supplies mask of 0.0.0.0, 2011-12-06 20:55:20 +00:00
netinet6 Fix double free. 2011-12-07 13:37:42 +00:00
netipsec Remove unused 'plen' variable. 2011-11-26 23:57:03 +00:00
netipx Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
netnatm
netncp Change ncp_scan_bindery_object() to pass a constant search string. 2011-10-16 08:44:03 +00:00
netsmb Add unicode support to msdosfs and smbfs; original pathes from imura, 2011-11-18 03:05:20 +00:00
nfs Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
nfsclient Rename vm_page_set_valid() to vm_page_set_valid_range(). 2011-11-30 17:39:00 +00:00
nfsserver Enhance the sequential access heuristic used to perform readahead in the 2011-12-01 18:46:28 +00:00
nlm Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ofed Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
opencrypto Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
pc98 Move the scsi_da_bios_params() prototype from pc98_machdep.h to md_var.h 2011-11-27 16:22:19 +00:00
pci To save more power, switch to 10/100Mbps link when controller is 2011-11-23 23:29:18 +00:00
powerpc Fix style(9) issues from r228270. 2011-12-05 14:13:21 +00:00
rpc Both a crash reported on freebsd-current on Oct. 18 under the 2011-11-03 14:38:03 +00:00
security Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
sparc64 Revert r225889 a bit. While it's correct that in total store order there's 2011-12-03 13:51:57 +00:00
sys Implement quick_exit() / at_quick_exit() from C++11 / C1x. Also add a 2011-12-07 15:25:48 +00:00
teken Link the demo application against ncursesw to make Unicode work. 2011-10-13 14:20:27 +00:00
tools Restore the comment that I removed by accident. 2011-11-09 13:26:59 +00:00
ufs Use implementation independent inoNN_t scalars for on-disk UFS structures 2011-11-09 07:48:48 +00:00
vm Introduce vm_reserv_alloc_contig() and teach vm_page_alloc_contig() how to 2011-12-05 18:29:25 +00:00
x86 Get rid of kludgy per-descriptor state handling in acpi_apm. 2011-12-05 16:08:18 +00:00
xdr
xen Use C99 initializers for members of evtchn_devsw. 2011-11-30 18:52:30 +00:00
Makefile Include sys/xen in cscope tag file generation. 2011-06-10 20:51:41 +00:00