freebsd-dev/sys/dev
Adrian Chadd cf2a77f961 Add some AR5416/AR5418 WAR's for power-on and suspend/resume:
* Now that ah_configPCIE is called for both power on and suspend/resume,
  make sure the right bit(s) are cleared and set when suspending and
  resuming.  Specifically:

  + force disable/enable the PCIe PHY upon suspend/resume;
  + reprogram the PCIe WAR register when resuming and upon power-on.

* Add a recipe which powers down any PCIe PHY hardware inside the AR5416
  (which is the PCI variant) to save on power.  I have (currently) no way
  to test exactly how much power is saved, if any.

Tested on:

* AR5416 cardbus - although unfortunately pccard/cbb/cardbus currently
  detaches the NIC upon suspend, I don't think it's a proper test case.

* AR5418 PCIe attached to expresscard - since we're not doing PCIe APSM,
  it's also not likely a full/good test case.

In both instances I went through a handful of suspend/resume cycles and
ensured that the STA vap reassociated correctly.

TODO:

* Setup a laptop to simply sit in a suspend/resume loop, making sure that
  the NIC always correctly comes back;

* Start doing suspend/resume tests with actual traffic going on in the
  background, as I bet this process is all quite racy at the present;

* Test adhoc/hostap mode, just to be completely sure it's working correctly;

* See if I can jury rig an external power source to an AR5416 to test out
  whether ah_disablePCIE() works.

Obtained from:	Qualcomm Atheros
2012-05-25 17:53:57 +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 missing MODULE_DEPEND() so that acpi.ko and aibs.ko can be 2012-02-28 15:12:26 +00:00
acpica Merge ACPICA 20120518. 2012-05-24 23:12:30 +00:00
adb Add support for special keys (volume/brightness/eject) on Apple laptops with 2011-10-16 21:01:42 +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 To send a frame, controller requires a prepended TX header and 2011-11-11 19:15:32 +00:00
age Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
agp A rewrite of the i810 bits of the agp(4) driver. New driver supports 2012-05-22 10:59:26 +00:00
aha
ahb Remove a stale comment. 2012-03-12 20:31:58 +00:00
ahci Add two functions xpt_batch_start() and xpt_batch_done() to the CAM SIM KPI 2012-05-12 13:55:36 +00:00
aic
aic7xxx Follow non-BSD case when GNU/Hurd is detected. 2012-03-25 21:54:36 +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 Add two functions xpt_batch_start() and xpt_batch_done() to the CAM SIM KPI 2012-05-12 13:55:36 +00:00
ath Add some AR5416/AR5418 WAR's for power-on and suspend/resume: 2012-05-25 17:53:57 +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 Don't force max payload size to 128. Root complex and Endpoint will 2012-05-23 03:35:08 +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 MFp4 bz_ipv6_fast: 2012-05-25 03:00:34 +00:00
cxgbe MFp4 bz_ipv6_fast: 2012-05-24 23:03:23 +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 the following clang warning in drm2: 2012-05-24 19:13:54 +00:00
e1000 Initialize "error" to zero when it's declared in em_setup_receive_ring() 2012-05-11 03:15:22 +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 a Clang warning. 2012-04-16 23:29:12 +00:00
fdc Replace inline static' by static inline'. 2011-12-13 14:06:01 +00:00
fdt Preset (clear) the ranges we're supposed to fill from the FDT. If a 2012-05-24 20:24:49 +00:00
fe Improve media status reporting, when the driver knows... 2012-01-30 22:47:02 +00:00
firewire Update sbp_targ such that it can actually handle multiple CTIO's during operation 2012-01-25 23:33:50 +00:00
flash Add a couple more SPI flash device IDs found in commercial 2012-01-04 04:17:03 +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 Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
hptmv Convert a number of drivers to obtaining their parent DMA tag from their 2012-03-12 08:03:51 +00:00
hptrr - Just use cam_calc_geometry(9) on newer version of FreeBSD rather than 2011-11-23 21:43:51 +00:00
hwpmc Soft PMC support for ARM. 2012-05-23 13:23:40 +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 memset sizeof 2012-02-22 01:08:59 +00:00
ispfw
iwi Use suspend/resume methods provided by net80211. This ensures that the 2012-03-23 19:32:30 +00:00
iwn remove unused vap variable 2012-05-20 10:02:24 +00:00
ixgb More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +00:00
ixgbe MFp4 bz_ipv6_fast: 2012-05-25 03:02:56 +00:00
jme
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 Fix and update battery status bits according to linux driver 2012-05-18 21:49:40 +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 o Fixes: 2012-04-21 01:51:16 +00:00
mn
mps Make the mps(4) module depend on the cam module. 2012-03-07 22:39:11 +00:00
mpt Refine r233827; as it turns out, controllers with a device ID of 0x0059 2012-04-04 20:42:45 +00:00
mse
msk For Yukon II controllers that implement optional temperature sensor 2012-04-25 02:46:13 +00:00
mvs Add two functions xpt_batch_start() and xpt_batch_done() to the CAM SIM KPI 2012-05-12 13:55:36 +00:00
mwl Fix the RX free list locking creation and destruction to be consistent 2012-04-17 04:52:57 +00:00
mxge More conversions of drivers to use the PCI parent DMA tag. 2012-03-12 18:15:08 +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 Import work done under project/nand (@235533) into head. 2012-05-17 10:11:18 +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 Replace inline static' by static inline'. 2011-12-13 14:06:01 +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 Add 'drmn' device as another drm child, to allow drm2 drivers to live 2012-05-23 17:09:14 +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 - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +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 Make sure we don't dereference a null pointer 2012-05-11 07:12:18 +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 Add two functions xpt_batch_start() and xpt_batch_done() to the CAM SIM KPI 2012-05-12 13:55:36 +00:00
sio kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +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 Added D_TRACKCLOSE to sndstat_cdevsw to fix the situation when 2012-05-02 19:32:11 +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 Merge from r225950: 2011-10-07 08:59:54 +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 Use bus_get_dma_tag() to inherit the 4G boundary restriction from the 2012-03-07 18:53:56 +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 Fix for the r235558: interrupt output pipe is optional, so fix the driver 2012-05-17 22:04:17 +00:00
utopia
vge Remove unused variable mii 2012-02-11 08:12:52 +00:00
viawd Correctly spell my email address. 2011-12-22 15:13:32 +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 Remove spurious 8bit chars, turning files into plain ASCII. 2012-01-15 13:23:54 +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 Provide wbwd(4), a driver for the watchdog timer found on various 2012-03-06 18:44:52 +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 Use suspend/resume methods provided by net80211. This ensures that the 2012-03-23 19:32:30 +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 Free ballooned pages with the corresponding malloc type. 2012-04-06 08:13:29 +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