freebsd-dev/sys/dev/ath
Adrian Chadd 7d567ed66f Add tracking for self-generated frames when the VAP is in sleep state.
The hardware can generate its own frames (eg RTS/CTS exchanges, other
kinds of 802.11 management stuff, especially when it comes to 802.11n)
and these also have PWRMGT flags.  So if the VAP is asleep but the
NIC is in force-awake for some reason, ensure that the self-generated
frames have PWRMGT set to 1.

Now, this (like basically everything to do with powersave) is still
racy - the only way to guarantee that it's all actually consistent
is to pause transmit and let it finish before transitioning the VAP
to sleep, but this at least gets the basic method of tracking and
updating the state debugged.

Tested:

* AR5416, STA mode
* AR9380, STA mode
2014-05-02 00:48:09 +00:00
..
ath_dfs/null The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
ath_hal * Only update ah_powerMode if we're setting the chip sleep state. 2014-04-30 02:03:13 +00:00
ath_rate The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
ah_osdep.c Add a function to check whether the given register can be accessed whilst 2014-04-09 03:51:05 +00:00
ah_osdep.h Migrate the ath_hal_filltxdesc() API to take a list of buffer/seglen values. 2012-08-05 10:12:27 +00:00
if_ath_ahb.c - Provide necessary includes, that before came via if.h pollution. 2013-10-28 22:26:03 +00:00
if_ath_alq.c Support sending ATH_ALQ messages with no payload. 2013-05-13 21:17:27 +00:00
if_ath_alq.h Add ALQ beacon debugging. 2013-05-13 21:18:00 +00:00
if_ath_beacon.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_beacon.h Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_btcoex.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
if_ath_btcoex.h Bring over the initial static bluetooth coexistence configuration 2013-06-07 09:02:02 +00:00
if_ath_debug.c TX EDMA debugging fixes: 2012-11-05 07:08:45 +00:00
if_ath_debug.h Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_keycache.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_keycache.h Add a 'vap' to ath_keyset(). 2011-11-08 19:25:52 +00:00
if_ath_led.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_led.h Refactor out the software LED config code into a common function, called 2011-12-26 05:46:22 +00:00
if_ath_lna_div.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
if_ath_lna_div.h Initial AR9485/AR933x 1x1 LNA diversity work. 2013-06-14 03:42:10 +00:00
if_ath_misc.h Add tracking for self-generated frames when the VAP is in sleep state. 2014-05-02 00:48:09 +00:00
if_ath_pci.c Include necessary headers that now are available due to pollution 2013-10-28 07:29:16 +00:00
if_ath_rx_edma.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_rx_edma.h Begin abstracting out the RX path in preparation for RX EDMA support. 2012-07-03 06:59:12 +00:00
if_ath_rx.c * Modify the beacon interval in debugging to be ni_intval, not 102400 2014-04-30 02:44:07 +00:00
if_ath_rx.h Fix the busdma logic to work with EDMA chipsets when using bounce 2013-04-04 08:21:56 +00:00
if_ath_spectral.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
if_ath_spectral.h Add a new (skeleton) spectral mode manager module. 2013-01-02 03:59:02 +00:00
if_ath_sysctl.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_sysctl.h Break out most of the HAL related tweaks into a per-HAL instance, 2011-06-23 02:38:36 +00:00
if_ath_tdma.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
if_ath_tdma.h Migrate the TDMA management functions out of if_ath.c into if_ath_tdma.c. 2012-05-20 02:49:42 +00:00
if_ath_tsf.h Migrate the bulk of the RX routines out from if_ath.c to if_ath_rx.[ch]. 2012-05-20 02:05:10 +00:00
if_ath_tx_edma.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
if_ath_tx_edma.h Begin separating out the TX DMA setup in preparation for TX EDMA support. 2012-07-23 03:52:18 +00:00
if_ath_tx_ht.c Implement my first cut at "correct" node power-save and 2013-05-15 18:33:05 +00:00
if_ath_tx_ht.h Implement my first cut at "correct" node power-save and 2013-05-15 18:33:05 +00:00
if_ath_tx.c Bring over some initial power save management support, reset path 2014-04-30 02:19:41 +00:00
if_ath_tx.h Implement a separate hardware queue threshold for aggregate and non-aggr 2013-05-21 18:13:57 +00:00
if_ath.c Add tracking for self-generated frames when the VAP is in sleep state. 2014-05-02 00:48:09 +00:00
if_athdfs.h Add a method to explicitly disable radar reporting if required. 2013-01-02 01:36:10 +00:00
if_athioctl.h Implement my first cut at "correct" node power-save and 2013-05-15 18:33:05 +00:00
if_athrate.h Update the rate series setup code to use the decisions already made in 2013-04-17 07:21:30 +00:00
if_athvar.h Add tracking for self-generated frames when the VAP is in sleep state. 2014-05-02 00:48:09 +00:00