ath9k: do not miss longcal on AR9002
authorSergey Ryazanov <ryazanov.s.a@gmail.com>
Fri, 24 Apr 2020 00:49:20 +0000 (03:49 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 28 Apr 2020 09:07:14 +0000 (12:07 +0300)
commit41ba50fd6cac084a93e7651c528ef4bc37996ee2
treea3de2e69031f2c5c8a901d57e54374a9403c8aba
parent93f8d4223163c6ba4f2ec8ade4832ef40e2b1d0c
ath9k: do not miss longcal on AR9002

Each of AGC & I/Q calibrations can take a long time. Long calibration
and NF calibration in particular are forbiden for parallel run with
ADC & I/Q calibrations. So, the chip could not be ready to perform the
long calibration at the time of request. And a request to perform the
long calibration may be lost.

In order to fix this, preserve the long calibration request as a
calibration state flag and restore the long calibration request each
time the calibration function is called again (i.e. on each subsequent
ivocation of the short calibration).

This feature will be twice useful after the next change, which will
make it possible to start the long calibration before all ADCs & I/Q
calibrations are completed.

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-4-ryazanov.s.a@gmail.com
drivers/net/wireless/ath/ath9k/ar9002_calib.c
drivers/net/wireless/ath/ath9k/hw.h