mirror_ubuntu-kernels/drivers/net/wireless/ath/ath9k
Sergey Ryazanov d6cae2bc19 ath9k: fix AR9002 ADC and NF calibrations
ADC calibration is only required for a 80 MHz sampling rate (i.e. for
40 MHz channels), when the chip utilizes the pair of ADCs in interleved
mode. Calibration on a 20 MHz channel will never be completed.

Previous channel check is trying to exclude all channels where the
calibration will get stuck. It effectively blocks the calibration run
for HT20 channels, but fails to exclude 20 MHz channels without HT (e.g.
legacy mode channels).

Fix this issue by reworking the channel check to explicitly allow ADCs
gain & DC offset calibrations for HT40 channels only. Also update the
complicated comment to make it clear that these calibrations are for
multi-ADC mode only.

Stuck ADCs calibration blocks the NF calibration, what could make it
impossible to work in a noisy evironment: too big Rx attentuation,
invalid RSSI value, etc. So this change is actually more of a NF
calibration fix rather then the ADC calibration fix.

Run tested with AR9220.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200424004923.17129-2-ryazanov.s.a@gmail.com
2020-04-28 12:07:09 +03:00
..
ahb.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
ani.c
ani.h
antenna.c ath9k: fix RX_STAT_INC() etc macros 2018-10-13 20:27:35 +03:00
ar953x_initvals.h
ar955x_1p0_initvals.h
ar956x_initvals.h
ar5008_initvals.h
ar5008_phy.c ath9k: ar5008_phy: mark expected switch fall-through 2018-11-05 13:15:24 +02:00
ar9001_initvals.h
ar9002_calib.c ath9k: fix AR9002 ADC and NF calibrations 2020-04-28 12:07:09 +03:00
ar9002_hw.c
ar9002_initvals.h
ar9002_mac.c
ar9002_phy.c ath9k: ar9002_phy: mark expected switch fall-throughs 2018-11-05 13:15:34 +02:00
ar9002_phy.h
ar9003_2p2_initvals.h
ar9003_aic.c ath9k: use true,false for bool variable 2020-01-26 12:19:02 +02:00
ar9003_aic.h
ar9003_buffalo_initvals.h
ar9003_calib.c
ar9003_eeprom.c ath9k_hw: fix uninitialized variable data 2019-10-01 14:18:43 +03:00
ar9003_eeprom.h ath9k: Read noise floor calibration data from eeprom 2018-01-25 07:33:36 +02:00
ar9003_hw.c net: Fix misspellings of "configure" and "configuration" 2019-10-28 13:41:01 -07:00
ar9003_mac.c ath9k: remove cast to void pointer 2017-09-25 10:13:58 +03:00
ar9003_mac.h
ar9003_mci.c ath9k: remove set but not used variable 'new_flags' 2018-11-05 13:18:34 +02:00
ar9003_mci.h
ar9003_paprd.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
ar9003_phy.c ath9k: drop redundant code in ar9003_hw_set_channel 2019-04-29 17:56:03 +03:00
ar9003_phy.h
ar9003_rtt.c
ar9003_rtt.h
ar9003_wow.c
ar9330_1p1_initvals.h
ar9330_1p2_initvals.h
ar9340_initvals.h
ar9462_2p0_initvals.h
ar9462_2p1_initvals.h
ar9485_initvals.h
ar9565_1p0_initvals.h
ar9565_1p1_initvals.h
ar9580_1p0_initvals.h
ath9k_pci_owl_loader.c ath9k: use iowrite32 over __raw_writel 2019-11-28 10:18:51 +02:00
ath9k.h ath9k: Switch to mac80211 TXQ scheduling and airtime APIs 2019-02-12 20:44:41 +02:00
beacon.c
btcoex.c
btcoex.h
calib.c ath9k: Fix get channel default noise floor 2018-02-07 16:14:08 +02:00
calib.h
channel.c ath9k: use timespec64 for tsf_ts 2018-06-29 14:44:49 +03:00
common-beacon.c
common-beacon.h
common-debug.c ath9k: add counters for good and errorneous FFT/spectral frames 2018-10-02 07:43:32 +03:00
common-debug.h ath9k: add counters for good and errorneous FFT/spectral frames 2018-10-02 07:43:32 +03:00
common-init.c ath9k: spelling s/premble/preamble/ 2018-03-26 18:22:44 +03:00
common-init.h
common-spectral.c ath9k: do not return invalid pointers as a *dentry 2019-02-07 16:59:04 +02:00
common-spectral.h ath9k: fix and simplify FFT max index retrieval 2018-10-02 07:43:56 +03:00
common.c Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git 2017-05-19 11:47:44 +03:00
common.h
debug_sta.c ath9k: Switch to mac80211 TXQ scheduling and airtime APIs 2019-02-12 20:44:41 +02:00
debug.c ath9k: debugfs: Fix SPUR-DOWN field 2019-02-26 15:08:16 +02:00
debug.h ath9k: Switch to mac80211 TXQ scheduling and airtime APIs 2019-02-12 20:44:41 +02:00
dfs_debug.c wireless: Use octal not symbolic permissions 2018-03-27 11:01:13 +03:00
dfs_debug.h
dfs.c ath: add support to get the detected radar specifications 2018-05-25 13:15:21 +03:00
dfs.h
dynack.c ath9k: dynack: set ackto to max timeout in ath_dynack_reset 2019-09-04 09:15:31 +03:00
dynack.h ath9k: dynack: make ewma estimation faster 2018-11-06 18:26:50 +02:00
eeprom_4k.c ath9k: Differentiate between max combined and per chain power 2019-04-29 17:53:43 +03:00
eeprom_9287.c
eeprom_def.c
eeprom.c ath9k: Differentiate between max combined and per chain power 2019-04-29 17:53:43 +03:00
eeprom.h ath9k: Add cast to u8 to FREQ2FBIN macro 2017-04-19 17:00:48 +03:00
gpio.c ath: Convert timers to use timer_setup() 2017-10-27 16:54:19 +03:00
hif_usb.c ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb 2020-04-07 07:57:26 +03:00
hif_usb.h ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb 2020-04-07 07:57:26 +03:00
htc_drv_beacon.c ath9k: remove cast to void pointer 2017-09-25 10:13:58 +03:00
htc_drv_debug.c wireless: Use octal not symbolic permissions 2018-03-27 11:01:13 +03:00
htc_drv_gpio.c
htc_drv_init.c ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx 2020-04-07 07:56:26 +03:00
htc_drv_main.c mac80211: simplify TX aggregation start 2019-10-04 13:58:13 +02:00
htc_drv_txrx.c ath9k_htc: Discard undersized packets 2019-10-01 14:49:00 +03:00
htc_hst.c ath9k: Fix use-after-free Write in ath9k_htc_rx_msg 2020-04-07 07:56:45 +03:00
htc_hst.h
htc.h ath: Convert timers to use timer_setup() 2017-10-27 16:54:19 +03:00
hw-ops.h
hw.c ath9k: Differentiate between max combined and per chain power 2019-04-29 17:53:43 +03:00
hw.h ath9k: Differentiate between max combined and per chain power 2019-04-29 17:53:43 +03:00
init.c Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git 2019-05-27 15:15:29 +03:00
Kconfig drivers: net: Fix Kconfig indentation, continued 2019-11-21 11:54:09 -08:00
link.c ath: Convert timers to use timer_setup() 2017-10-27 16:54:19 +03:00
mac.c ath9k: add MSI support 2018-01-16 16:29:22 +02:00
mac.h mac80211: separate encoding/bandwidth from flags 2017-04-28 10:41:45 +02:00
main.c Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git 2020-03-16 07:29:55 +02:00
Makefile ath9k: add loader for AR92XX (and older) pci(e) 2019-09-04 09:12:35 +03:00
mci.c ath9k: remove cast to void pointer 2017-09-25 10:13:58 +03:00
mci.h
pci.c ath: Use dev_get_drvdata where possible 2019-09-23 11:25:22 +03:00
phy.h
recv.c ath9k: correctly handle short radar pulses 2019-06-27 20:43:40 +03:00
reg_aic.h
reg_mci.h
reg_wow.h
reg.h ath9k: add MSI support 2018-01-16 16:29:22 +02:00
rng.c ath9k: avoid potential freezing during random generator read 2017-06-28 19:54:38 +03:00
tx99.c ath9k: add back support for using active monitor interfaces for tx99 2018-10-02 07:54:26 +03:00
wmi.c ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx 2020-04-07 07:56:26 +03:00
wmi.h ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx 2020-04-07 07:56:26 +03:00
wow.c
xmit.c mac80211: Fix setting txpower to zero 2020-02-14 09:57:00 +01:00