]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/wireless/iwlwifi/mvm/rs.c
iwlwifi: mvm: BT Coex - update integration with rate control
[karo-tx-linux.git] / drivers / net / wireless / iwlwifi / mvm / rs.c
index 0faeecc0ab1cd19ae02ef07a2e08c8c2a259375d..a0b4cc8d9c3b412c931d04606d02b72c4d769e61 100644 (file)
@@ -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++;