summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/rs.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2013-10-06 11:41:20 +0300
committerJohannes Berg <johannes.berg@intel.com>2013-10-11 09:58:52 +0200
commitffa6c7077c3f7a433312b733688b9b14f38de17e (patch)
tree91f2cff075d263b235424f0541d769da4c77b039 /drivers/net/wireless/iwlwifi/mvm/rs.c
parente9fff7767e36d1ad993f9b4c0a2b5fc173268585 (diff)
downloadop-kernel-dev-ffa6c7077c3f7a433312b733688b9b14f38de17e.zip
op-kernel-dev-ffa6c7077c3f7a433312b733688b9b14f38de17e.tar.gz
iwlwifi: mvm: BT Coex - update integration with rate control
Remove code that is not needed and always allow MIMO when in tight mode. In loose mode, we should avoid MIMO since BT can use the other antenna to Rx while we Tx. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/rs.c')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/rs.c45
1 files changed, 2 insertions, 43 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.c b/drivers/net/wireless/iwlwifi/mvm/rs.c
index 0faeecc..a0b4cc8 100644
--- a/drivers/net/wireless/iwlwifi/mvm/rs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/rs.c
@@ -1402,29 +1402,9 @@ static int rs_move_siso_to_other(struct iwl_mvm *mvm,
u8 update_search_tbl_counter = 0;
int ret;
- switch (le32_to_cpu(mvm->last_bt_notif.bt_activity_grading)) {
- case IWL_BT_COEX_TRAFFIC_LOAD_NONE:
- /* nothing */
- break;
- case IWL_BT_COEX_TRAFFIC_LOAD_LOW:
- /* avoid switching to antenna B but allow MIMO */
- if (tbl->action == IWL_SISO_SWITCH_ANTENNA &&
- tbl->ant_type == ANT_A)
- tbl->action = IWL_SISO_SWITCH_MIMO2;
- break;
- case IWL_BT_COEX_TRAFFIC_LOAD_HIGH:
- case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS:
- /* A - avoid antenna B and MIMO. B - switch to A */
- if (tbl->ant_type == ANT_A)
- valid_tx_ant =
- first_antenna(iwl_fw_valid_tx_ant(mvm->fw));
+ if (tbl->action == IWL_SISO_SWITCH_MIMO2 &&
+ !iwl_mvm_bt_coex_is_mimo_allowed(mvm, sta))
tbl->action = IWL_SISO_SWITCH_ANTENNA;
- break;
- default:
- IWL_ERR(mvm, "Invalid BT load %d",
- le32_to_cpu(mvm->last_bt_notif.bt_activity_grading));
- break;
- }
start_action = tbl->action;
while (1) {
@@ -1519,27 +1499,6 @@ static int rs_move_mimo2_to_other(struct iwl_mvm *mvm,
u8 update_search_tbl_counter = 0;
int ret;
- switch (le32_to_cpu(mvm->last_bt_notif.bt_activity_grading)) {
- case IWL_BT_COEX_TRAFFIC_LOAD_NONE:
- /* nothing */
- break;
- case IWL_BT_COEX_TRAFFIC_LOAD_HIGH:
- case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS:
- /* avoid antenna B and MIMO */
- if (tbl->action != IWL_MIMO2_SWITCH_SISO_A)
- tbl->action = IWL_MIMO2_SWITCH_SISO_A;
- break;
- case IWL_BT_COEX_TRAFFIC_LOAD_LOW:
- /* avoid antenna B unless MIMO */
- if (tbl->action == IWL_MIMO2_SWITCH_SISO_B)
- tbl->action = IWL_MIMO2_SWITCH_SISO_A;
- break;
- default:
- IWL_ERR(mvm, "Invalid BT load %d",
- le32_to_cpu(mvm->last_bt_notif.bt_activity_grading));
- break;
- }
-
start_action = tbl->action;
while (1) {
lq_sta->action_counter++;
OpenPOWER on IntegriCloud