aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/main.c
diff options
context:
space:
mode:
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>2011-10-24 08:49:49 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-11-08 15:54:30 -0500
commit7dc181c273861c4d96991f59a4fdcda3a3eaccae (patch)
treed92c03f8e35868a2a29bf1f59d6797c233fce0a1 /drivers/net/wireless/ath/ath9k/main.c
parent38df2f07b7bc5309ebb159438b435d1f25f31e35 (diff)
ath9k: Add btcoex profile management support for AR9462
AR9462 chips have the capabilities to provoide bluetooth profile information. For non-AR9462 btcoex chips, the BT priority traffic was identified by periodically polling the respective registers and updated dutycycle, stomptype, etc. As AR9462 chip offers the BT profile informations, let us make use of that to update aggregation limit, dutycycle, stomptype and wieghtages. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/main.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 93fbe6f40898..e1e006d81f73 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1133,8 +1133,9 @@ static int ath9k_start(struct ieee80211_hw *hw)
1133 1133
1134 if ((ah->btcoex_hw.scheme != ATH_BTCOEX_CFG_NONE) && 1134 if ((ah->btcoex_hw.scheme != ATH_BTCOEX_CFG_NONE) &&
1135 !ah->btcoex_hw.enabled) { 1135 !ah->btcoex_hw.enabled) {
1136 ath9k_hw_btcoex_set_weight(ah, AR_BT_COEX_WGHT, 1136 if (!(sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_MCI))
1137 AR_STOMP_LOW_WLAN_WGHT); 1137 ath9k_hw_btcoex_set_weight(ah, AR_BT_COEX_WGHT,
1138 AR_STOMP_LOW_WLAN_WGHT);
1138 ath9k_hw_btcoex_enable(ah); 1139 ath9k_hw_btcoex_enable(ah);
1139 1140
1140 if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE) 1141 if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE)
@@ -1237,6 +1238,7 @@ static void ath9k_stop(struct ieee80211_hw *hw)
1237 ath9k_hw_btcoex_disable(ah); 1238 ath9k_hw_btcoex_disable(ah);
1238 if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE) 1239 if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE)
1239 ath9k_btcoex_timer_pause(sc); 1240 ath9k_btcoex_timer_pause(sc);
1241 ath_mci_flush_profile(&sc->btcoex.mci);
1240 } 1242 }
1241 1243
1242 spin_lock_bh(&sc->sc_pcu_lock); 1244 spin_lock_bh(&sc->sc_pcu_lock);