summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/carl9170/phy.c
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@googlemail.com>2011-08-15 18:45:54 +0200
committerJohn W. Linville <linville@tuxdriver.com>2011-08-24 14:41:42 -0400
commit7ccc83b0fc69d5b18602aa250c10be0d3ae920c6 (patch)
tree3c6a3875b294d62df281f77edc0d392cee00a227 /drivers/net/wireless/ath/carl9170/phy.c
parentbfe2ed8f4df2e7b6991c4039bb624dee5f8b6583 (diff)
carl9170: fix timekeeping for HW_COUNTER firmwares
AR9170_PWR_REG_PLL_ADDAC is used to set the main clock divisor which affects the AHB/CPU speed. Because this would interfere with the firmware internal timekeeping, the function has to be moved into the firmware. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/carl9170/phy.c')
-rw-r--r--drivers/net/wireless/ath/carl9170/phy.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath/carl9170/phy.c b/drivers/net/wireless/ath/carl9170/phy.c
index aa147a9120b6..8635c5c8463c 100644
--- a/drivers/net/wireless/ath/carl9170/phy.c
+++ b/drivers/net/wireless/ath/carl9170/phy.c
@@ -578,11 +578,10 @@ static int carl9170_init_phy(struct ar9170 *ar, enum ieee80211_band band)
if (err)
return err;
- /* XXX: remove magic! */
- if (is_2ghz)
- err = carl9170_write_reg(ar, AR9170_PWR_REG_PLL_ADDAC, 0x5163);
- else
- err = carl9170_write_reg(ar, AR9170_PWR_REG_PLL_ADDAC, 0x5143);
+ if (!ar->fw.hw_counters) {
+ err = carl9170_write_reg(ar, AR9170_PWR_REG_PLL_ADDAC,
+ is_2ghz ? 0x5163 : 0x5143);
+ }
return err;
}