ath9k_hw: improve ANI processing and rx desensitizing parameters
authorPaul Stewart <pstew@chromium.org>
Thu, 10 May 2012 00:15:43 +0000 (00:15 +0000)
committerOlof Johansson <olof@lixom.net>
Fri, 1 Jun 2012 07:02:47 +0000 (00:02 -0700)
commit1bda4998c47386180e4adfe1e2fb215d3e8663de
tree64db601102225e81ccf1e5b628fb6844601e648b
parentbcc90fc219426ce717e03ee530dc2f7e1bbfaa1a
ath9k_hw: improve ANI processing and rx desensitizing parameters

This patch improves ANI operations by switching among the immunity
levels based on PHY errors and beacon rssi which will adjust receiver
desensitizing parameters. The changes are

* Configure the Weak Signal Detection based on current immunity value.
* At highest OFDM immunity level poor performance was observed with
  strong interference. By tuning the FIR step and spur immunity levels
  and not changing any weak signal detection thresholds at any level
  helped to improve the performance.
* ANI took long time to recover back to lower immunity levels on heavy
  data load. As the listen time got reset to zero before reaching to
  the 5x of aniperiod, the immunity level is not lowering back even
  without any interference. This patch fix that.

Cc: Paul Stewart <pstew@google.com>
Cc: Susinder Gulasekaran <susinder@qca.qualcomm.com>
Signed-off-by: Suresh Chandrasekaran <csuresh@qca.qualcomm.com>
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
BUG=chrome-os-partner:4886
TEST=Torture testing Azimuth with hidden nodes; manual over-the-air
testing.
Originally-Reviewed-on: https://gerrit.chromium.org/gerrit/17978
Signed-off-by: Paul Stewart <pstew@google.com>
Change-Id: I0cc406de061bcea11065abcddec894b2087c524f
Reviewed-on: https://gerrit.chromium.org/gerrit/18628
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
drivers/net/wireless/ath/ath9k/ani.c
drivers/net/wireless/ath/ath9k/ani.h
drivers/net/wireless/ath/ath9k/ar5008_phy.c