OpenCloudOS-Kernel/drivers/net/wireless/ath/ath5k
Bruno Randolf 2111ac0d88 ath5k: Adaptive Noise Immunity (ANI) Implementation
This is an Adaptive Noise Imunity (ANI) implementation for ath5k. I have looked
at both ath9k and HAL sources (they are nearly the same), and even though i
have implemented some things differently, the basic algorithm is practically
the same, for now. I hope that this can serve as a clean start to improve the
algorithm later.

This also adds a possibility to manually control ANI settings, right now only
thru a debugfs file:
  * set lowest sensitivity (=highest noise immunity):
	echo sens-low > /sys/kernel/debug/ath5k/phy0/ani
  * set highest sensitivity (=lowest noise immunity):
	echo sens-high > /sys/kernel/debug/ath5k/phy0/ani
  * automatically control immunity (default):
	echo ani-on > /sys/kernel/debug/ath5k/phy0/ani
  * to see the parameters in use and watch them change:
	cat /sys/kernel/debug/ath5k/phy0/ani

Manually setting sensitivity will turn the automatic control off. You can also
control each of the five immunity parameters (noise immunity, spur immunity,
firstep, ofdm weak signal detection, cck weak signal detection) manually thru
the debugfs file.

This is tested on AR5414 and nearly doubles the thruput in a noisy 2GHz band.

Signed-off-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-07 14:37:53 -04:00
..
Kconfig wireless: remove WLAN_80211 and WLAN_PRE80211 from Kconfig 2009-10-30 16:50:35 -04:00
Makefile ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
ani.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
ani.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
ath5k.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
attach.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
base.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
base.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
caps.c ath5k: add capability flag for phyerror counters 2010-03-31 14:39:10 -04:00
debug.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
debug.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
desc.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
desc.h ath5k: update phy errors codes 2010-03-31 14:39:10 -04:00
dma.c
eeprom.c ath5k: Minor EEPROM documentation updates 2010-03-10 17:44:42 -05:00
eeprom.h ath5k: Minor EEPROM documentation updates 2010-03-10 17:44:42 -05:00
gpio.c
initvals.c atheros: define shared bssidmask setting 2009-10-07 16:39:28 -04:00
led.c ath5k: adding LED support for AR5BXB63 cards 2010-01-27 15:01:24 -05:00
pcu.c ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
phy.c ath5k: move ath5k_hw_calibration_poll to base.c 2010-03-31 14:39:09 -04:00
qcu.c ath5k: remove some dead functions 2010-03-15 15:31:43 -04:00
reg.h ath5k: Adaptive Noise Immunity (ANI) Implementation 2010-04-07 14:37:53 -04:00
reset.c ath5k: remove double opmode definition 2010-03-10 17:44:33 -05:00
rfbuffer.h
rfgain.h
rfkill.c ath5k: minor rfkill cleanup 2009-06-10 13:28:39 -04:00