mbox series

[0/6] ath9k: AR9002 calibration fixes

Message ID 20200424004923.17129-1-ryazanov.s.a@gmail.com (mailing list archive)
Headers show
Series ath9k: AR9002 calibration fixes | expand

Message

Sergey Ryazanov April 24, 2020, 12:49 a.m. UTC
Hello,

I am faced a situation where the AR9220 AGC is goes crazy in case of a
low Rx signal in a noisy environment. It seems like it turned off the
internal LNA, so low signal neighbours become completely inaccessable,
and RSSI of neighbours with a strong signal drops by around 30 dB.
Periodic NF calibration perfectly solves this situation. But the NF
calibration itself in some cases could be blocked by the ADCs & I/Q
calibrations forever. This series is an attempt to address these NF
calibration blocking issues.

The first patch disables ADC gain & offset calibrations for unsupported
channels. The second patch is a trivial code cleanup.

And the last four patches together prevent the NF calibration infinite
deferring. They limit the run time of individual calibration, allow
correct running of NF calibration in between ADCs & I/Q calibrations
and prevent missing of NF periodic calibrations.

Run tested with AR9220 based NIC.

Sergey Ryazanov (6):
  ath9k: fix AR9002 ADC and NF calibrations
  ath9k: remove needless NFCAL_PENDING flag setting
  ath9k: do not miss longcal on AR9002
  ath9k: interleaved NF calibration on AR9002
  ath9k: invalidate all calibrations at once
  ath9k: add calibration timeout for AR9002

 drivers/net/wireless/ath/ath9k/ar9002_calib.c | 49 +++++++++++++++----
 drivers/net/wireless/ath/ath9k/calib.c        | 16 +++---
 drivers/net/wireless/ath/ath9k/hw.h           |  2 +
 3 files changed, 51 insertions(+), 16 deletions(-)