freebsd-skq/sys/dev
adrian 8af1316f3a Begin abstracting out the RX path in preparation for RX EDMA support.
The RX EDMA support requires a modified approach to the RX descriptor
handling.

Specifically:

* There's now two RX queues - high and low priority;
* The RX queues are implemented as FIFOs; they're now an array of pointers
  to buffers;
* .. and the RX buffer and descriptor are in the same "buffer", rather than
  being separate.

So to that end, this commit abstracts out most of the RX related functions
from the bulk of the driver.  Notably, the RX DMA/buffer allocation isn't
updated, primarily because I haven't yet fleshed out what it should look
like.

Whilst I'm here, create a set of matching but mostly unimplemented EDMA
stubs.

Tested:

  * AR9280, station mode

TODO:

  * Thorough AP and other mode testing for non-EDMA chips;
  * Figure out how to allocate RX buffers suitable for RX EDMA, including
    correctly setting the mbuf length to compensate for the RX descriptor
    and completion status area.
2012-07-03 06:59:12 +00:00
..
aac Use bus_get_dma_tag() to inherit the PCI bus' 4G boundary constraint. 2012-03-07 18:52:46 +00:00
acpi_support Add acpi_asus_wmi(4) -- driver for random extras found on WMI-compatible 2012-07-02 08:31:29 +00:00
acpica Revert r238004 as more review has come in and there is now a discussion 2012-07-02 17:55:29 +00:00
adb Release the ADB keyboard mutex when handling the power button 2012-06-23 13:52:44 +00:00
adlink
advansys Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
ae Fix the build. 2012-06-06 09:07:50 +00:00
age Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
agp Correct device id for GPU on some server SandyBridge model. 2012-06-23 15:36:32 +00:00
aha
ahb Remove a stale comment. 2012-03-12 20:31:58 +00:00
ahci Partially revert r236666: 2012-06-10 11:17:14 +00:00
aic
aic7xxx Fix an issue that caused the kernel to panic inside CTL when trying 2012-06-26 14:51:35 +00:00
alc Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
ale - Const'ify the device lookup-table. 2012-04-04 21:09:02 +00:00
amdsbwd amdsbwd: update to support SB8xx southbridges 2011-06-07 06:18:02 +00:00
amdtemp - Add support for Family 12h, 14h and 15h processors. 2012-02-24 00:02:46 +00:00
amr The amr(4) firmware contains a rather dubious "feature" where it 2012-04-20 20:27:31 +00:00
an Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
arcmsr Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
asmc
asr Replace homegrown list implementation in sys/dev/asr/asr.c with 2012-04-20 21:17:33 +00:00
ata - As a baind-aid, disable ATAPI DMA when using ATA_CAM for these controllers 2012-06-14 22:19:23 +00:00
ath Begin abstracting out the RX path in preparation for RX EDMA support. 2012-07-03 06:59:12 +00:00
atkbdc Add a PNP ID for Japanese 106-key keyboard. 2012-03-28 17:58:37 +00:00
auxio
bce Make IPMI work in the bce driver even when the interface is 2012-05-23 01:20:25 +00:00
bfe ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
bge Fix typo. 2012-06-07 03:22:20 +00:00
bktr Remove a few bits of FreeBSD 2.x compatibility code. 2011-11-14 18:21:27 +00:00
bm ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
buslogic Remove comments about creating DMA tags as children of the DMA tags of their 2012-03-12 19:29:32 +00:00
bwi Add opt_wlan.h includes, so IEEE80211_* configuration changes are 2012-05-12 15:11:53 +00:00
bwn Fix some net80211 enum nits: 2011-12-17 10:23:17 +00:00
bxe Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
cardbus - Add a bus_dma tag to each PCI bus that is a child of a Host-PCI bridge. 2012-03-02 20:38:04 +00:00
cas - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
ce Fix clang warnings in sys/dev/ce/if_ce.c and sys/dev/cp/if_cp.c, 2011-12-29 17:46:24 +00:00
cesa Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
cfe kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
cfi CFI fixes for big endian archs. 2012-03-27 15:13:12 +00:00
ciss Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
cm Replace inline static' by static inline'. 2011-12-13 14:06:01 +00:00
cmx
coretemp #PROCHOT assertion is sticky after reading the MSR (accordingly with 2011-09-19 10:58:30 +00:00
cp Fix clang warnings in sys/dev/ce/if_ce.c and sys/dev/cp/if_cp.c, 2011-12-29 17:46:24 +00:00
cpuctl Add VIA microde update support to cpuctl(4) and cpucontrol(8). 2011-12-12 12:30:44 +00:00
cpufreq
cs Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ct
ctau
cx
cxgb cxgb(4): IPv6 rx/tx hw checksum, IPv6 TSO and LRO too. 2012-06-30 02:11:53 +00:00
cxgbe Fix inverted test that resulted in incorrect multicast hw programming. 2012-07-03 06:56:11 +00:00
cy
dc - Change the module order of these MAC drivers to be last so they are 2012-05-11 02:40:40 +00:00
dcons kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
de More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
digi
dpms
dpt Fix the following clang warning in dpt(4): 2012-04-21 14:23:46 +00:00
drm In sys/dev/drm/radeon_state.c, use the correct printf length modifiers 2011-12-30 02:07:50 +00:00
drm2 Fix millisecond to ticks conversion in drm_msleep(). 2012-06-28 17:15:16 +00:00
e1000 Commit a portion of 233708 I missed earlier and don't include the 2012-06-01 15:52:41 +00:00
ed Fix off by one error in mbuf access. Previously it caused panic. 2011-12-05 18:10:43 +00:00
eisa - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
en Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
ep ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
esp Fix build: 2012-05-23 06:49:50 +00:00
et style. No functional changes. 2012-01-10 20:52:02 +00:00
etherswitch Setup the CPU port and broadcast map on the AR7240, rather than 2012-05-12 21:08:07 +00:00
ex Convert files to UTF-8 2012-01-15 13:23:18 +00:00
exca
fatm
fb Fix the previous commit to only copy the data we were asked to and not 2012-06-18 07:54:10 +00:00
fdc Replace inline static' by static inline'. 2011-12-13 14:06:01 +00:00
fdt Simplify simplebus_setup_intr and don't call MD code directly. We can 2012-07-02 23:53:08 +00:00
fe Improve media status reporting, when the driver knows... 2012-01-30 22:47:02 +00:00
filemon There's no need to make filemon specific to i386 and amd64. All 2012-07-02 20:36:26 +00:00
firewire Fix an issue that caused the kernel to panic inside CTL when trying 2012-06-26 14:51:35 +00:00
flash Revert r236529, re-enabling verification of the flashed content as 2012-06-18 20:19:07 +00:00
fxp - Change the module order of these MAC drivers to be last so they are 2012-05-11 02:40:40 +00:00
gem - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
glxiic MFC 2011-05-16 16:34:03 +00:00
glxsb More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
gpio Remove extra semicolon which rendered condition useless 2012-04-02 00:11:26 +00:00
gxemul Add a trivial driver for the GXemul Ethernet device. Probably quite buggy and 2012-05-07 04:15:46 +00:00
hatm More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
hifn Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
hme - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
hpt27xx Remove spurious 8bit chars, turning files into plain ASCII. 2012-01-15 13:23:33 +00:00
hptiop Adding missing dependancies for loading hptiop(4), hptmv(4) and isp(4) as modules. 2012-06-01 04:34:49 +00:00
hptmv Adding missing dependancies for loading hptiop(4), hptmv(4) and isp(4) as modules. 2012-06-01 04:34:49 +00:00
hptrr attach_generic causes missing devices in /dev when the driver 2012-06-17 02:46:27 +00:00
hwpmc Disable hwpmc(4) support for Intel Xeon Sandy Bridge (Model 0x2D). 2012-06-17 13:48:39 +00:00
ic
ichsmb - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
ichwd Remove use of explicit bus space tags and handles and use methods that 2012-01-05 16:27:32 +00:00
ida Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
ie Isolate v_caddr_t in the ie driver. 2012-01-31 13:00:40 +00:00
ieee488 Convert files to UTF-8 2012-01-15 13:23:43 +00:00
if_ndis Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
iicbus Don't include MIPS machine headers. There's no need for it. 2012-05-19 17:42:11 +00:00
iir Remove comments about creating DMA tags as children of the DMA tags of their 2012-03-12 19:29:32 +00:00
io
ipmi Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ips Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
ipw Use suspend/resume methods provided by net80211. This ensures that the 2012-03-23 19:32:30 +00:00
isci Wait until completion context unwinds before retrying CCBs that have been 2012-05-21 22:54:33 +00:00
iscsi/initiator Update to version 2.3.1.0 2012-04-13 18:21:56 +00:00
isp Unbreak register tests for parallel SCSI. 2012-06-25 03:06:29 +00:00
ispfw Roll to the latest 2400/2500 firmware available from the public QLogic 2012-06-17 21:47:24 +00:00
iwi Use suspend/resume methods provided by net80211. This ensures that the 2012-03-23 19:32:30 +00:00
iwn We need to defer passing the DELBA request to the firmware until the aggr 2012-06-27 16:07:01 +00:00
ixgb More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
ixgbe Correct typo(?) and actually set PTHRESH to 32 and not 16 as per Intel 2012-06-07 22:57:26 +00:00
jme Fix a logic error when use PCIY_PMG capability 2012-06-07 02:24:27 +00:00
joy
kbd Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
kbdmux Restore binary compatibility for GIO_KEYMAP and PIO_KEYMAP. 2011-07-17 08:19:19 +00:00
ksyms Get rid of D_PSEUDO. 2011-10-18 08:09:44 +00:00
le Make sparc64 compatible with NEW_PCIB and enable it: 2011-10-02 23:22:38 +00:00
led
lge ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
lindev
lmc More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
malo Fix some net80211 enum nits: 2011-12-17 10:23:17 +00:00
mc146818
mca - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
mcd
md Document a large number of currently undocumented sysctls. While here 2011-12-13 00:38:50 +00:00
mem
mfi Correct sizeof usage 2012-06-25 05:41:16 +00:00
mge More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
mii More Cicada/Vitesse PHY ids. 2012-05-25 15:05:17 +00:00
mk48txx Add support for MK48T37. 2011-05-15 13:17:08 +00:00
mlx Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
mly Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
mmc Add missing prototypes. While at it, sort them alphabetically. 2012-06-02 20:47:00 +00:00
mn
mps Change the mps(4) driver to only scan a target if that is what is 2012-06-29 17:00:52 +00:00
mpt Fix an issue that caused the kernel to panic inside CTL when trying 2012-06-26 14:51:35 +00:00
mse
msk For Yukon II controllers that implement optional temperature sensor 2012-04-25 02:46:13 +00:00
mvs - Limit r214102 workaround to only x86. On arm it causes more problems 2012-06-12 11:08:51 +00:00
mwl Fix the RX free list locking creation and destruction to be consistent 2012-04-17 04:52:57 +00:00
mxge Update mxge(4) firmware to the latest version available from 2012-05-29 00:53:51 +00:00
my ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
nand Add a driver for the Freescale FCM module in the localbus controller. 2012-07-03 01:00:29 +00:00
ncv
netmap this file is too old and not interesting anymore now that netmap 2012-05-17 20:05:13 +00:00
nfe ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
nge - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
nmdm Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
nsp
null Fix for PR 138526. 2012-01-11 15:00:16 +00:00
nve More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
nvram
nvram2env
nxge Fix the following compilation warnings in nxge(4): 2012-04-20 21:43:19 +00:00
oce Use pci_find_cap() instead of pci_find_extcap() to locate PCI 2012-03-03 18:03:50 +00:00
ofw Make ofw_bus_get_node() consistently return -1 when there is no associated 2012-03-15 22:53:39 +00:00
patm More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
pbio
pccard Simplify resource activation a bit. 2012-06-28 07:26:44 +00:00
pccbb Some laptops have weak power controllers that cannot tolerate multiple 2012-01-27 21:49:02 +00:00
pcf Make ofw_bus_get_node() consistently return -1 when there is no associated 2012-03-15 22:53:39 +00:00
pci For subtractively decoding bridges, don't try to grow windows but pass 2012-06-27 22:17:52 +00:00
pcn Fix logic error 2012-02-27 08:57:02 +00:00
pdq
powermac_nvram "nvram,flash" may not be the first in the compatible list property of the 2012-05-20 02:43:54 +00:00
ppbus Rename device_delete_all_children() into device_delete_children(). 2011-11-22 21:56:55 +00:00
ppc Rename device_delete_all_children() into device_delete_children(). 2011-11-22 21:56:55 +00:00
pst Convert files to UTF-8 2012-01-15 13:23:18 +00:00
pty Fix whitespace inconsistencies in the TTY layer and its drivers owned by me. 2011-06-26 18:26:20 +00:00
puc Remove Moxa CP-132EL definition (RS422/485-only board). 2012-06-21 04:57:59 +00:00
qlxgb Do not announce IPv6 TSO support yet. The in-tree driver does not seem 2012-04-23 21:49:11 +00:00
quicc - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
ral Add support for Ralink RT2800/RT3000 chipsets. 2012-05-10 17:41:16 +00:00
random Add support for the extended FPU states on amd64, both for native 2012-01-21 17:45:27 +00:00
rc
re Fix size of the bcopy when extracting ethernet address 2012-06-25 05:47:12 +00:00
rndtest Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
rp
rt ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
safe More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
sbni
scc - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
scd
sdhci Add support for RICOH R5CE823 card reader, that can be found in 2012-02-09 10:20:41 +00:00
sec Recognize version 3.1 of the SEC crypto engine. 2012-05-24 21:24:23 +00:00
sf Remove unused variable mii. 2012-05-11 03:17:32 +00:00
sfxge M_DONTWAIT is a flag from historical mbuf(9) 2012-04-10 06:52:21 +00:00
sge - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
si
siba Expand the set of APIs available for locating PCI capabilities: 2012-03-03 18:08:57 +00:00
siis Partially revert r236666: 2012-06-10 11:17:14 +00:00
sio Document some MP assumptions for sio. 2012-06-28 07:28:39 +00:00
sis ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
sk ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
smbus - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
smc - Do not reinitialize the card if it is already running. 2012-04-07 06:56:38 +00:00
sn ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
snc ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
snp Second-to-last commit implementing Capsicum capabilities in the FreeBSD 2011-08-11 12:30:23 +00:00
sound Remove 14 not very useful characters " HDA CODEC PCM" from HDA pcm device 2012-07-02 20:25:50 +00:00
speaker Do not define bool/true/false if the symbols already exist. 2011-12-12 18:43:24 +00:00
spibus Replace inline static' by static inline'. 2011-12-13 14:06:01 +00:00
ste - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
stg
stge ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
streams Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
sym Fix a braino in r236469; the number of DMA tags required for handling 2012-06-14 20:49:22 +00:00
syscons Move tty_opened_ns() into syscons.c which is currently the 2012-03-29 15:47:29 +00:00
tdfx Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ti Eliminate vestiges of page coloring. 2011-12-15 05:07:16 +00:00
tl ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
tpm
trm More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
tsec Do not reinitialise the interface if it is already running, this prevents the 2012-05-09 00:56:11 +00:00
twa Return CAM_SEL_TIMEOUT and CAM_DEV_NOT_THERE instead of CAM_TID_INVALID 2012-06-22 21:46:41 +00:00
twe Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
tws Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
tx
txp
uart Complete polled-mode operation by using a callout if the device will be 2012-04-12 18:46:48 +00:00
ubsec More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
usb Add IDs for some USB controllers I have around. Just a cosmetics. 2012-07-02 19:35:56 +00:00
utopia
vge Remove unused variable mii 2012-02-11 08:12:52 +00:00
viawd Fix viawd(4) that was only working as a module. 2012-06-20 09:01:44 +00:00
virtio Sync with Bryan Venteicher's virtio git repo: 2012-04-16 18:29:12 +00:00
vkbd Get rid of D_PSEUDO. 2011-10-18 08:09:44 +00:00
vr Convert the if_vr(4) driver model to the interrupt filter model and use 2012-05-12 14:37:25 +00:00
vte Remove unused variable mii. 2011-11-23 05:34:01 +00:00
vx ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
vxge Fix warning generated by clang; 2012-06-01 04:23:20 +00:00
watchdog
wb ether_ifattach() sets if_mtu to ETHERMTU, don't bother set it again 2012-01-07 09:41:57 +00:00
wbwd Add device ids for the Winbond 83627DHG-P chip and set the registers to 2012-05-29 16:39:42 +00:00
wds Final pass at having devices use their bus parent for dma tags. The 2012-03-12 19:29:35 +00:00
wi If an interrupt is received with no vap attached, just fail LINK events. 2012-02-25 08:01:29 +00:00
wl
wpi Add a missing #include, required for IEEE80211_DEBUG. 2012-06-01 06:20:39 +00:00
wtap Remove this - it's not needed as it's defined in ieee80211_freebsd.h. 2012-03-19 13:54:15 +00:00
xe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
xen Fix a bug which causes a panic in daopen(). The panic is caused by 2012-06-24 04:29:03 +00:00
xl - Change the module order of these MAC drivers to be last so they are 2012-05-11 02:40:40 +00:00