iwlwifi: mvm: BT Coex - tune SMPS parameters
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sun, 6 Oct 2013 08:03:17 +0000 (11:03 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 11 Oct 2013 07:58:21 +0000 (09:58 +0200)
Tests have shown that we should go SMSP_STATIC when BT
traffic is high, and stay in dynamic if BT traffic is low.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/iwlwifi/mvm/bt-coex.c

index f612c27fb4d83e7af7a95c029b92dd15c0375020..9fda0c7aa9c7b706133d656d633924b2d5e33be5 100644 (file)
@@ -622,11 +622,11 @@ static void iwl_mvm_bt_notif_iterator(void *_data, u8 *mac,
                /* if secondary is not NULL, it might be a GO */
                data->secondary = chanctx_conf;
 
-       if (data->notif->bt_status)
-               smps_mode = IEEE80211_SMPS_DYNAMIC;
-
-       if (le32_to_cpu(data->notif->bt_activity_grading) >= BT_LOW_TRAFFIC)
+       if (le32_to_cpu(data->notif->bt_activity_grading) >= BT_HIGH_TRAFFIC)
                smps_mode = IEEE80211_SMPS_STATIC;
+       else if (le32_to_cpu(data->notif->bt_activity_grading) >=
+                BT_LOW_TRAFFIC)
+               smps_mode = IEEE80211_SMPS_DYNAMIC;
 
        IWL_DEBUG_COEX(data->mvm,
                       "mac %d: bt_status %d bt_activity_grading %d smps_req %d\n",