iwlwifi: rs: option to easily disable Tx MIMO
authorEyal Shapira <eyal@wizery.com>
Wed, 17 Sep 2014 10:56:29 +0000 (13:56 +0300)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 29 Oct 2014 10:49:11 +0000 (12:49 +0200)
The current TLC isn't optimized for low latency and some devices
have issues with MIMO. This kind of combo creates latency issues.
Allow to temporarily disable MIMO for tests in order to solve
the latency issues without the added complexity of MIMO.

Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/constants.h
drivers/net/wireless/iwlwifi/mvm/rs.c

index d4dfbe4cb66da5330b9e06251e0766a2ceaa8bea..dfec5b5e7e140360e891fb6852bbb1c1d5f7db62 100644 (file)
@@ -95,5 +95,6 @@
 #define IWL_MVM_FW_MCAST_FILTER_PASS_ALL       0
 #define IWL_MVM_QUOTA_THRESHOLD                        8
 #define IWL_MVM_RS_RSSI_BASED_INIT_RATE         0
+#define IWL_MVM_RS_DISABLE_MIMO                        0
 
 #endif /* __MVM_CONSTANTS_H */
index 18a539999580410dbb9caafdae6d975d15def1fe..0d836fe67e832e02d2954eba62ef675b49f3bdc1 100644 (file)
@@ -2684,6 +2684,9 @@ void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
                        lq_sta->ldpc = true;
        }
 
+       if (IWL_MVM_RS_DISABLE_MIMO)
+               lq_sta->active_mimo2_rate = 0;
+
        lq_sta->max_legacy_rate_idx = find_last_bit(&lq_sta->active_legacy_rate,
                                                    BITS_PER_LONG);
        lq_sta->max_siso_rate_idx = find_last_bit(&lq_sta->active_siso_rate,