ath9k_hw: Fix RTT calibration
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Fri, 4 May 2012 07:53:59 +0000 (13:23 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 15 May 2012 21:27:55 +0000 (17:27 -0400)
commit8a90555fea9f2e1498a9efe4f25c32d2846f257f
tree2679b3273669a2448ff41266e74431e88e914e0e
parent7d4e15b177835dfddcab9851a889c28a85dde92e
ath9k_hw: Fix RTT calibration

This patch fixes multiple issues with the current RTT
implementation in ath9k.

* The data that is obtained from the RTT interface registers
  are stored in 31:5 - mask out the extra bits when reading them.

* A history buffer is maintained which is not needed at all.
  Remove this array and just store the baseband data for each
  chain (or bank).

* A 'num_readings' variable was being used to handle the
  last entry. But it was being used in an improper manner, with
  the result that the RTT values were never being written
  to the RTT Interface registers. Fix this by using a simple
  flag.

* Stop baseband operations before programming the calibration values
  to the HW.

* Do not restore RX gain settings as part of RTT.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_calib.c
drivers/net/wireless/ath/ath9k/ar9003_mci.c
drivers/net/wireless/ath/ath9k/ar9003_rtt.c
drivers/net/wireless/ath/ath9k/ar9003_rtt.h
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/hw.h