opnsense-src/sys/dev/ath
Adrian Chadd e2e4a2c2a1 Break out the legacy duration and protection code into routines,
call these after rate control selection is done.

The duration/protection code wasn't working - it expected the rix to
be valid.  Unfortunately after I moved the rate control selection into
late in the process, the rix value isn't valid and thus the protection/
duration code would get things wrong.

HT frames are now correctly protected with an RTS and for the AR5416,
this involves having the aggregate frames be limited to 8K.

TODO:

* Fix up the DMA sync to occur just before the frame is queued to the
  hardware.  I'm adjusting the duration here but not doing the DMA
  flush.

* Doubly/triply ensure that the aggregate frames are being limited to
  the correct size, or the AR5416 will get unhappy when TXing RTS-protected
  aggregates.
2012-04-07 05:48:26 +00:00
..
ath_dfs/null Contribute some example code which demonstrates how to initialise the 2012-02-06 20:23:21 +00:00
ath_hal Track and optionally log the actual sync interrupt cause. 2012-04-04 22:51:50 +00:00
ath_rate Add in some debugging code to check whether the current rate table has 2012-02-26 06:04:44 +00:00
ah_osdep.c Add a threadid to the ah_decode API. 2012-04-04 20:46:20 +00:00
ah_osdep.h Fix AR5416 and later parts when building with AH_DEBUG or similar defined: 2009-07-06 20:51:54 +00:00
if_ath.c Store away the RTS aggregate limit from the HAL. 2012-04-07 02:51:53 +00:00
if_ath_ahb.c Begin merging in some of my 802.11n TX aggregation driver changes. 2011-11-08 02:12:11 +00:00
if_ath_debug.c Remove duplicate txflags field from ath_buf. 2012-04-07 02:01:26 +00:00
if_ath_debug.h Add some new ath(4) debugging bits, from my if_ath_tx 11n TX branch. 2011-10-29 07:17:47 +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 Since the only thing with a mux is the AR5416 and later, and we're now 2011-12-26 07:48:29 +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 Introduce TX aggregation and software TX queue management 2011-11-08 22:43:13 +00:00
if_ath_pci.c Conditionally compile the PCI latency workaround; I think it's 2011-11-08 18:37:52 +00:00
if_ath_sysctl.c Break out the legacy duration and protection code into routines, 2012-04-07 05:48:26 +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_tx.c Break out the legacy duration and protection code into routines, 2012-04-07 05:48:26 +00:00
if_ath_tx.h Delay sequence number allocation for A-MPDU until just before the frame 2012-03-20 04:50:25 +00:00
if_ath_tx_ht.c As I thought, this is a bad idea. When forming aggregates, the RTS/CTS 2012-04-07 05:46:00 +00:00
if_ath_tx_ht.h Introduce TX aggregation and software TX queue management 2011-11-08 22:43:13 +00:00
if_athdfs.h Change the prototype so the radar enable can fail. 2012-01-28 21:44:42 +00:00
if_athioctl.h Break out the legacy duration and protection code into routines, 2012-04-07 05:48:26 +00:00
if_athrate.h Introduce TX aggregation and software TX queue management 2011-11-08 22:43:13 +00:00
if_athvar.h Store away the RTS aggregate limit from the HAL. 2012-04-07 02:51:53 +00:00