]> git.baikalelectronics.ru Git - kernel.git/commit
ath9k: perform ANI cycle in idle state
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>
Wed, 10 Oct 2012 17:33:02 +0000 (23:03 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 19 Oct 2012 20:16:14 +0000 (16:16 -0400)
commit14a711306d81392b4a1c67874f2bb8741bc18900
tree10b86b2f70aac788ead6c49381ebe324be0dd982
parented5c84eb5ab6121d49bbaae9f13a97090a25f79b
ath9k: perform ANI cycle in idle state

As of now the ANI cycle is executed only when the chip is awake.
On idle state case, the station wakes up from network sleep for
beacon reception. Since most of the time, ANI cycle is not syncing
with beacon wakeup, ANI cycle is ignored. Approx 5 mins once, the
calibration is performed. This could affect the connection stability
when the station is idle for long. Even though the OFDM and CCK phy
error rates are too high, ANI is unable to tune its immunity level
as quick enough due to rare execution.

Here the experiment shows that OFDM and CCK levels are at default
even on higher phy error rate.

listenTime=44 OFDM:3 errs=121977/s CCK:2 errs=440818/s ofdm_turn=1

This change ensures that ANI calibration will be exectued atleast
once for every 10 seconds. The below result shows improvements and
immunity levels are adopted quick enough.

listenTime=557 OFDM:4 errs=752/s CCK:4 errs=125/s ofdm_turn=0

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ath9k.h
drivers/net/wireless/ath/ath9k/hw.h
drivers/net/wireless/ath/ath9k/link.c
drivers/net/wireless/ath/ath9k/main.c