linux/drivers/net/wireless/ath/ath9k
Felix Fietkau 20bd2a0952 ath9k_hw: clean up per-channel calibration data
The noise floor history buffer is currently not kept per channel, which
can lead to problems when changing channels from a clean channel to a
noisy one. Also when switching from HT20 to HT40, the noise floor
history buffer is full of measurements, but none of them contain data
for the extension channel, which it needs quite a bit of time to recover
from.

This patch puts all the per-channel calibration data into a single data
structure, and gives the the driver control over whether that is used
per-channel or even not used for some channels.

For ath9k_htc, I decided to keep this per-channel in order to avoid
creating regressions.

For ath9k, the data is kept only for the operating channel, which saves
some space. ath9k_hw takes care of wiping old data when the operating
channel or its channel flags change.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-08-04 15:27:37 -04:00
..
Kconfig ath9k_htc: Support for AR9271 chipset. 2010-03-23 16:50:17 -04:00
Makefile ath9k_hw: add functions for controlling PA predistortion calibration 2010-06-14 15:39:32 -04:00
ahb.c drivers/net/wireless: Use wiphy_<level> 2010-07-27 15:14:13 -04:00
ani.c ath9k: add new ANI implementation for AR9003 2010-06-14 15:39:29 -04:00
ani.h ath9k: add new ANI implementation for AR9003 2010-06-14 15:39:29 -04:00
ar5008_initvals.h ath9k_hw: reformat the ar5008, ar9001 and ar9002 initvals to match ar9003 2010-07-02 13:44:34 -04:00
ar5008_phy.c ath9k_hw: fix invalid extension channel noisefloor readings in HT20 2010-07-26 15:32:42 -04:00
ar9001_initvals.h ath9k_hw: sync initvals for ar9001 and ar9002 with Atheros 2010-07-02 13:44:35 -04:00
ar9002_calib.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
ar9002_hw.c ath9k_hw: remove initvals for hardware which was never sold 2010-07-14 13:52:46 -04:00
ar9002_initvals.h ath9k_hw: remove initvals for hardware which was never sold 2010-07-14 13:52:46 -04:00
ar9002_mac.c ath9k_hw: report the TID in the tx status on AR5008-AR9002 2010-07-12 16:05:38 -04:00
ar9002_phy.c ath9k_hw: fix invalid extension channel noisefloor readings in HT20 2010-07-26 15:32:42 -04:00
ar9002_phy.h ath9k_hw: sanitize noise floor values properly on all chips 2010-07-02 13:44:36 -04:00
ar9003_2p0_initvals.h ath9k_hw: update 5 GHz tx gain tables for femless and high power PA 2010-06-14 15:39:30 -04:00
ar9003_2p2_initvals.h ath9k_hw: update 5 GHz tx gain tables for femless and high power PA 2010-06-14 15:39:30 -04:00
ar9003_calib.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
ar9003_eeprom.c ath9k_hw: fix antenna diversity on AR9285 2010-07-12 16:05:37 -04:00
ar9003_eeprom.h ath9k_hw: add support for parsing PA predistortion related EEPROM fields 2010-06-14 15:39:32 -04:00
ar9003_hw.c ath9k_hw: dynamically choose the SERDES array for low power 2010-06-23 15:14:03 -04:00
ar9003_mac.c ath9k_hw: Fix AR9003 MPDU delimeter CRC check for middle subframes 2010-07-16 14:03:42 -04:00
ar9003_mac.h ath9k_hw: report the TID in the tx status on AR5008-AR9002 2010-07-12 16:05:38 -04:00
ar9003_paprd.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
ar9003_phy.c ath9k_hw: fix analog shift register writes on AR9003 2010-08-04 15:27:37 -04:00
ar9003_phy.h ath9k_hw: add register definitions related to PA predistortion 2010-06-14 15:39:32 -04:00
ath9k.h ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
beacon.c ath9k: remove duplicate WMM AC definitions 2010-06-14 15:39:30 -04:00
btcoex.c
btcoex.h ath9k: Fix wifi disconnection when collocated bt scan is active 2010-01-22 16:11:32 -05:00
calib.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
calib.h ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
common.c ath9k: fix crash with WEP in ad-hoc mode 2010-07-02 13:44:38 -04:00
common.h ath9k_common: Move count_streams to common module 2010-06-04 16:00:39 -04:00
debug.c ath9k: add a debugfs entry for ignoring CCA on the extension channel in HT40 2010-06-14 15:39:31 -04:00
debug.h ath9k: enable the baseband watchdog events for AR9003 2010-06-02 16:13:00 -04:00
eeprom.c ath9k_hw: Cleanup TX power calculation for AR9287 2010-06-03 14:10:46 -04:00
eeprom.h ath9k_hw: fix antenna diversity on AR9285 2010-07-12 16:05:37 -04:00
eeprom_4k.c ath9k: remove unneeded calculation of minimal calibration power 2010-07-14 13:52:45 -04:00
eeprom_9287.c ath9k: remove unneeded calculation of minimal calibration power 2010-07-14 13:52:45 -04:00
eeprom_def.c ath9k: remove unneeded calculation of minimal calibration power 2010-07-14 13:52:45 -04:00
gpio.c ath9k: Add a module parameter to disable led blinking. 2010-06-23 15:14:05 -04:00
hif_usb.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-07-13 15:31:51 -04:00
hif_usb.h ath9k_htc: Add support for AR7010 2010-06-04 16:00:39 -04:00
htc.h ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
htc_drv_beacon.c ath9k_htc: use common WMM AC definitions instead of ath9k ones 2010-06-14 15:39:30 -04:00
htc_drv_init.c ath9k_htc: Update supported product list 2010-06-18 15:05:12 -04:00
htc_drv_main.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
htc_drv_txrx.c ath9k_htc: Fix ampdu_action callback 2010-06-15 16:02:22 -04:00
htc_hst.c ath9k_htc: Configure credit size for AR7010 2010-06-04 16:00:39 -04:00
htc_hst.h ath9k_htc: Fix array overflow 2010-05-12 16:39:06 -04:00
hw-ops.h ath9k: merge noisefloor load implementations 2010-07-12 16:05:39 -04:00
hw.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
hw.h ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
init.c ath9k: fix panic while cleaning up virtaul wifis 2010-07-14 13:52:45 -04:00
mac.c ath9k_hw: avoid setting cwmin/cwmax to 0 for IBSS for AR9003 2010-06-15 16:02:22 -04:00
mac.h ath9k_hw: report the TID in the tx status on AR5008-AR9002 2010-07-12 16:05:38 -04:00
main.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00
pci.c drivers/net/wireless: Use wiphy_<level> 2010-07-27 15:14:13 -04:00
phy.h ath9k_hw: add OFDM spur mitigation for AR9003 2010-04-16 15:43:38 -04:00
rc.c ath9k: remove unused base_index from rate table. 2010-07-27 14:59:59 -04:00
rc.h ath9k: remove unused base_index from rate table. 2010-07-27 14:59:59 -04:00
recv.c ath9k_hw: remove a useless function for setting the mac address 2010-06-14 15:39:31 -04:00
reg.h ath9k_htc: Add LED support for AR7010 2010-06-30 15:00:53 -04:00
virtual.c ath9k: Fix inconsistency between txq->stopped and the actual queue state 2010-07-26 15:32:41 -04:00
wmi.c ath9k: cleanup: remove unneeded null check 2010-06-02 16:13:33 -04:00
wmi.h ath9k_htc: Increase WMI timeout value 2010-04-26 14:21:20 -04:00
xmit.c ath9k_hw: clean up per-channel calibration data 2010-08-04 15:27:37 -04:00