freebsd-dev/sys/dev/ath
Adrian Chadd 548a605d0d Begin fleshing out some software queue awareness for TIM handling with
the power save queue.

* introduce some new ATH_NODE lock protected fields, tracking the
  net80211 psq and TIM state;
* when doing buffer transitions - ie, when sending and completing
  buffers - check the state of the SWQ and update the TIM appropriately.
* when clearing the TIM bit, if the SWQ is not empty then delay clearing
  it.

This is racy, but it's no less racy than the current net80211 power
save queue management code.  Specifically, with multiple TX threads,
it's quite plausible that parallel state updates will race and the
TIM will be left in an inconsistent state.  I'll address that in
a follow-up commit.
2012-10-28 21:13:12 +00:00
..
ath_dfs/null Disable strong signal diversity when enabling radar pulse detection 2012-09-02 05:01:10 +00:00
ath_hal Implement the quarter rate fractional channel programming for the 2012-10-04 15:42:45 +00:00
ath_rate Improve performance of the Sample rate algorithm on 802.11n networks. 2012-09-17 01:09:17 +00:00
ah_osdep.c Fix the HAL debugging to only use one bit to mark a message as unmaskable. 2012-07-01 02:34:32 +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 Flesh out a new DMA map for the EDMA TX completion status, as well 2012-07-23 02:49:25 +00:00
if_ath_beacon.c Extend the beacon code slightly to support AP mode beaconing for the 2012-08-11 23:26:19 +00:00
if_ath_beacon.h Extend the beacon code slightly to support AP mode beaconing for the 2012-08-11 23:26:19 +00:00
if_ath_debug.c Debugging output fixes: 2012-09-24 19:48:41 +00:00
if_ath_debug.h Pause and unpause the software queues for a given node based on the 2012-10-03 23:23:45 +00:00
if_ath_keycache.c Add a 'vap' to ath_keyset(). 2011-11-08 19:25:52 +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 the initial 802.11n bluetooth coexistence support code. 2012-06-26 22:16:53 +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_misc.h Begin fleshing out some software queue awareness for TIM handling with 2012-10-28 21:13:12 +00:00
if_ath_pci.c Flesh out a new DMA map for the EDMA TX completion status, as well 2012-07-23 02:49:25 +00:00
if_ath_rx_edma.c Migrate the ath(4) KTR logging to use an ATH_KTR() macro. 2012-09-24 20:35:56 +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 Break the RX processing up into smaller chunks of 128 frames each. 2012-10-14 20:31:38 +00:00
if_ath_rx.h Convert sc_rxpending to a per-EDMA queue, and use that for the legacy code. 2012-07-10 00:02:19 +00:00
if_ath_sysctl.c Migrate the ath(4) KTR logging to use an ATH_KTR() macro. 2012-09-24 20:35:56 +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 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_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 Initialise an uninitialised variable. 2012-08-21 16:44:25 +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 Migrate the TID TXQ accesses to a new set of macros, rather than reusing 2012-10-07 23:45:19 +00:00
if_ath_tx_ht.h Introduce TX aggregation and software TX queue management 2011-11-08 22:43:13 +00:00
if_ath_tx.c Begin fleshing out some software queue awareness for TIM handling with 2012-10-28 21:13:12 +00:00
if_ath_tx.h Begin fleshing out some software queue awareness for TIM handling with 2012-10-28 21:13:12 +00:00
if_ath.c Begin fleshing out some software queue awareness for TIM handling with 2012-10-28 21:13:12 +00:00
if_athdfs.h Change the ath_dfs_process_phy_err() method to take an mbuf rather than 2012-06-24 08:09:06 +00:00
if_athioctl.h Implement my first cut at filtered frames in aggregation sessions. 2012-09-18 10:14:17 +00:00
if_athrate.h Create an ioctl API for fetching the current rate control information. 2012-07-20 01:27:20 +00:00
if_athvar.h Begin fleshing out some software queue awareness for TIM handling with 2012-10-28 21:13:12 +00:00