freebsd-nq/sys/dev/ath
Adrian Chadd 2d20d6559d Add a per-node rate control routine for each rate control module.
For now, the only module implement is 'sample', and that's only partially
implemented.  The main issue here with reusing this structure in userland
is that it uses 'rix' everywhere, which requires the userland code to
have access to the current HAL rate table.

For now, this is a very large work in progress.

Specific details:

* The rate control information is per-node at the moment and wrapped
  in a TLV, to ease parsing and backwards compatibility.
* .. but so I can be slack for now, the userland statistics are just
  a copy of the kernel-land sample node state.
* However, for now use a temporary copy and change the rix entries
  to dot11rate entries to make it slightly easier to eyeball.

Problems:

* The actual rate information table is unfortunately indexed by rix
  and it doesn't contain a rate code.  So the userland side of this
  currently has no way to extract out a mapping.

TODO:

* Add a TLV payload to dump out the rate control table mapping so
  'rix' can be turned into a dot11 / MCS rate.
* .. then remove the temporary copy.
2012-07-20 01:36:02 +00:00
..
ath_dfs/null In a complete lack of foresight on my part, my previous commit broke 2012-06-24 08:47:19 +00:00
ath_hal Break out the TX descriptor link field into HAL methods. 2012-07-19 02:25:14 +00:00
ath_rate Add a per-node rate control routine for each rate control module. 2012-07-20 01:36:02 +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 Add OS_MEMCMP(). 2012-07-01 02:37:04 +00:00
if_ath_ahb.c Create an RX queue lock. 2012-07-14 02:22:17 +00:00
if_ath_beacon.c Convert the TX path to use the new HAL methods for accessing the 2012-07-19 03:51:16 +00:00
if_ath_beacon.h Migrate most of the beacon handling functions out to if_ath_beacon.c. 2012-05-20 04:14:29 +00:00
if_ath_debug.c Extend the RX descriptor completion debugging to log the larger 2012-07-09 06:39:46 +00:00
if_ath_debug.h Map ATH_KTR_* to 0 when ATH_DEBUG is not defined. This effectively NOPs 2012-07-11 12:10:13 +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 Fix EDMA RX to actually work without panicing the machine. 2012-07-14 02:07:51 +00:00
if_ath_pci.c Create an RX queue lock. 2012-07-14 02:22:17 +00:00
if_ath_rx_edma.c Log the number of handled decsriptors and valid descriptors when 2012-07-15 20:48:21 +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 Handle RX Keymiss events. 2012-07-15 20:51:41 +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 Handle RX Keymiss events. 2012-07-15 20:51: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 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_ht.c A few nitpicks: 2012-06-16 21:37:15 +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 Convert the TX path to use the new HAL methods for accessing the 2012-07-19 03:51:16 +00:00
if_ath_tx.h Revert r233227 and followup commits as it breaks CCMP PN replay detection. 2012-06-11 06:59:28 +00:00
if_ath.c Ensure that error is set. 2012-07-14 05:51:54 +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 Create an ioctl API for fetching the current rate control information. 2012-07-20 01:27:20 +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 Use HAL_NUM_RX_QUEUES rather than a magic constant. 2012-07-19 03:18:15 +00:00