freebsd-dev/sys/dev
Adrian Chadd bb06995571 Convert the TX path to use the new HAL methods for accessing the
TX descriptor link pointers.

This is required for the AR93xx and later chipsets.

The RX path is slightly different - the legacy RX path directly
accesses ath_desc->ds_link for now, however this isn't at all done
for EDMA (FIFO) RX.

Now, for those performing a little software archeology here:

This is all a bit sub-optimal. "struct ath_desc" is only really relevant
for the pre-AR93xx NICs - where ds_link and ds_data is always in the
same location.

The AR93xx and later NICs have different descriptor layouts altogether.

Now, for AR93xx and later NICs, you should never directly reference
ds_link and ds_data, as:

* the RX descriptors don't have either - the data is _after_ the RX
  descriptor.  They're just one large buffer.  There's also no need for
  a per-descriptor RX buffer size as they're all fixed sizes.

* the TX descriptors have 4 buffer and 4 length fields _and_ a link
  pointer.  Each frame takes up one TX FIFO pointer, but it can contain
  multiple subframes (either multiple frames in a buffer, and/or
  multiple frames in an aggregate/RIFS burst.)

* .. so, when TX frames are queued to a hardware queue, the link
  pointer is ONLY for buffers in that frame/aggregate.  The next frame
  starts in a new FIFO pointer.

* Finally, descriptor completion status is in a different ring.
  I'll write something up about that when its time to do so.

This was inspired by Linux ath9k and the reference driver but is a
reimplementation.

Obtained from:	Linux ath9k, Qualcomm Atheros
2012-07-19 03:51:16 +00:00
..
aac On BIO_ERROR, set bio_resid to stop losing data in the error case. 2012-07-18 18:10:27 +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 acpi_cpu: separate a notion of current deepest allowed+available Cx level 2012-07-13 08:11:55 +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 Revert revision 238172 of agp_i810.c. Correctness is considered more 2012-07-09 16:23:59 +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 Remove variables which are initialized but never used thereafter 2012-07-07 17:20:52 +00:00
ath Convert the TX path to use the new HAL methods for accessing the 2012-07-19 03:51:16 +00:00
atkbdc Add another PS/2 keyboard PNP ID. This ID is listed as 2012-07-06 12:13:28 +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 a bug in code that calculates the number of the first interrupt 2012-07-09 21:53:50 +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 Change the interface to the Energy Efficient Ethernet (EEE) 2012-07-07 20:21:05 +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 Fix breakage on pc98 by redefining DEBUG(). 2011-05-15 19:04:08 +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 Fix typo in a message. 2012-07-15 14:40:49 +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 Update to the ixgbe driver: 2012-07-05 20:51:44 +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 Make it possible to resize md(4) devices. 2012-07-07 20:32:21 +00:00
mem
mfi sys/dev/mfivar.h contains references to MFI_DEBUG, but it never gets turned on unless the file also includes opt_mfi.h. 2012-07-11 19:08:23 +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 Fix a small memory leak in mpssas_get_sata_identify(). The change has been 2012-07-18 09:06:07 +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 - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
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 For Intel Panther/Lynx Point USB 3.0 xHCI controllers enable SuperSpeed USB 2012-07-17 14:03:04 +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 Various VirtIO improvements 2012-07-11 02:57:19 +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 - Add the possibility to reuse the already last used timeout when patting 2011-04-27 16:43:03 +00:00
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