diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2014-06-02 09:18:42 -0400 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2014-06-24 14:55:36 -0400 |
commit | 35fbf5d08e57cb4e7bd516781ba9499ff83688f6 (patch) | |
tree | c4c87084fd5fb69c5782126ab44a2f983aa1041f | |
parent | 7fa4fa0c441835ebe78aa25496ae952177e8bb84 (diff) |
iwlwifi: mvm: BT Coex - don't limit rate control if TTC is on
When the firmware enables TxTxCorunning, we can lift the
constaints on the rate control.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/coex.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/fw-api-coex.h | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/coex.c b/drivers/net/wireless/iwlwifi/mvm/coex.c index aab92a6b2f35..8d7146e54269 100644 --- a/drivers/net/wireless/iwlwifi/mvm/coex.c +++ b/drivers/net/wireless/iwlwifi/mvm/coex.c | |||
@@ -1212,6 +1212,9 @@ u16 iwl_mvm_coex_agg_time_limit(struct iwl_mvm *mvm, | |||
1212 | BT_HIGH_TRAFFIC) | 1212 | BT_HIGH_TRAFFIC) |
1213 | return LINK_QUAL_AGG_TIME_LIMIT_DEF; | 1213 | return LINK_QUAL_AGG_TIME_LIMIT_DEF; |
1214 | 1214 | ||
1215 | if (mvm->last_bt_notif.ttc_enabled) | ||
1216 | return LINK_QUAL_AGG_TIME_LIMIT_DEF; | ||
1217 | |||
1215 | lut_type = iwl_get_coex_type(mvm, mvmsta->vif); | 1218 | lut_type = iwl_get_coex_type(mvm, mvmsta->vif); |
1216 | 1219 | ||
1217 | if (lut_type == BT_COEX_LOOSE_LUT || lut_type == BT_COEX_INVALID_LUT) | 1220 | if (lut_type == BT_COEX_LOOSE_LUT || lut_type == BT_COEX_INVALID_LUT) |
@@ -1227,6 +1230,9 @@ bool iwl_mvm_bt_coex_is_mimo_allowed(struct iwl_mvm *mvm, | |||
1227 | struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta); | 1230 | struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta); |
1228 | enum iwl_bt_coex_lut_type lut_type; | 1231 | enum iwl_bt_coex_lut_type lut_type; |
1229 | 1232 | ||
1233 | if (mvm->last_bt_notif.ttc_enabled) | ||
1234 | return true; | ||
1235 | |||
1230 | if (le32_to_cpu(mvm->last_bt_notif.bt_activity_grading) < | 1236 | if (le32_to_cpu(mvm->last_bt_notif.bt_activity_grading) < |
1231 | BT_HIGH_TRAFFIC) | 1237 | BT_HIGH_TRAFFIC) |
1232 | return true; | 1238 | return true; |
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw-api-coex.h b/drivers/net/wireless/iwlwifi/mvm/fw-api-coex.h index 98175ca05e9d..39cb33a19862 100644 --- a/drivers/net/wireless/iwlwifi/mvm/fw-api-coex.h +++ b/drivers/net/wireless/iwlwifi/mvm/fw-api-coex.h | |||
@@ -305,6 +305,7 @@ enum iwl_bt_activity_grading { | |||
305 | * @bt_traffic_load: load of BT traffic | 305 | * @bt_traffic_load: load of BT traffic |
306 | * @bt_agg_traffic_load: aggregated load of BT traffic | 306 | * @bt_agg_traffic_load: aggregated load of BT traffic |
307 | * @bt_ci_compliance: 0 - no CI compliance, 1 - CI compliant | 307 | * @bt_ci_compliance: 0 - no CI compliance, 1 - CI compliant |
308 | * @ttc_enabled: true if ttc has been enabled by the firmware | ||
308 | * @primary_ch_lut: LUT used for primary channel | 309 | * @primary_ch_lut: LUT used for primary channel |
309 | * @secondary_ch_lut: LUT used for secondary channel | 310 | * @secondary_ch_lut: LUT used for secondary channel |
310 | * @bt_activity_grading: the activity of BT enum %iwl_bt_activity_grading | 311 | * @bt_activity_grading: the activity of BT enum %iwl_bt_activity_grading |
@@ -317,7 +318,8 @@ struct iwl_bt_coex_profile_notif { | |||
317 | u8 bt_traffic_load; | 318 | u8 bt_traffic_load; |
318 | u8 bt_agg_traffic_load; | 319 | u8 bt_agg_traffic_load; |
319 | u8 bt_ci_compliance; | 320 | u8 bt_ci_compliance; |
320 | u8 reserved[3]; | 321 | u8 ttc_enabled; |
322 | __le16 reserved; | ||
321 | 323 | ||
322 | __le32 primary_ch_lut; | 324 | __le32 primary_ch_lut; |
323 | __le32 secondary_ch_lut; | 325 | __le32 secondary_ch_lut; |