aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEyal Shapira <eyal@wizery.com>2015-01-16 04:01:51 -0500
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2015-01-22 10:55:23 -0500
commit2c59d80c448c8b6c0978986bd687466a233bd8ae (patch)
tree954659b3993976bf00aedbe55cd15ed7f489167b
parenta4ca3ed4ebefab9cfb342518009f2200847778e5 (diff)
iwlwifi: mvm: rs: refactor ht/vht init
Prepare to add some more code there so refactor to separate functions. Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/rs.c42
1 files changed, 4 insertions, 38 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.c b/drivers/net/wireless/iwlwifi/mvm/rs.c
index 997a3831117c..554b3a5e442c 100644
--- a/drivers/net/wireless/iwlwifi/mvm/rs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/rs.c
@@ -2714,44 +2714,10 @@ void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
2714 lq_sta->active_legacy_rate |= BIT(sband->bitrates[i].hw_value); 2714 lq_sta->active_legacy_rate |= BIT(sband->bitrates[i].hw_value);
2715 2715
2716 /* TODO: should probably account for rx_highest for both HT/VHT */ 2716 /* TODO: should probably account for rx_highest for both HT/VHT */
2717 if (!vht_cap || !vht_cap->vht_supported) { 2717 if (!vht_cap || !vht_cap->vht_supported)
2718 /* active_siso_rate mask includes 9 MBits (bit 5), 2718 rs_ht_init(mvm, sta, lq_sta, ht_cap);
2719 * and CCK (bits 0-3), supp_rates[] does not; 2719 else
2720 * shift to convert format, force 9 MBits off. 2720 rs_vht_init(mvm, sta, lq_sta, vht_cap);
2721 */
2722 lq_sta->active_siso_rate = ht_cap->mcs.rx_mask[0] << 1;
2723 lq_sta->active_siso_rate |= ht_cap->mcs.rx_mask[0] & 0x1;
2724 lq_sta->active_siso_rate &= ~((u16)0x2);
2725 lq_sta->active_siso_rate <<= IWL_FIRST_OFDM_RATE;
2726
2727 /* Same here */
2728 lq_sta->active_mimo2_rate = ht_cap->mcs.rx_mask[1] << 1;
2729 lq_sta->active_mimo2_rate |= ht_cap->mcs.rx_mask[1] & 0x1;
2730 lq_sta->active_mimo2_rate &= ~((u16)0x2);
2731 lq_sta->active_mimo2_rate <<= IWL_FIRST_OFDM_RATE;
2732
2733 lq_sta->is_vht = false;
2734 if (mvm->cfg->ht_params->ldpc &&
2735 (ht_cap->cap & IEEE80211_HT_CAP_LDPC_CODING))
2736 lq_sta->ldpc = true;
2737
2738 if (mvm->cfg->ht_params->stbc &&
2739 (num_of_ant(iwl_mvm_get_valid_tx_ant(mvm)) > 1) &&
2740 (ht_cap->cap & IEEE80211_HT_CAP_RX_STBC))
2741 lq_sta->stbc = true;
2742 } else {
2743 rs_vht_set_enabled_rates(sta, vht_cap, lq_sta);
2744 lq_sta->is_vht = true;
2745
2746 if (mvm->cfg->ht_params->ldpc &&
2747 (vht_cap->cap & IEEE80211_VHT_CAP_RXLDPC))
2748 lq_sta->ldpc = true;
2749
2750 if (mvm->cfg->ht_params->stbc &&
2751 (num_of_ant(iwl_mvm_get_valid_tx_ant(mvm)) > 1) &&
2752 (vht_cap->cap & IEEE80211_VHT_CAP_RXSTBC_MASK))
2753 lq_sta->stbc = true;
2754 }
2755 2721
2756 if (IWL_MVM_RS_DISABLE_P2P_MIMO && sta_priv->vif->p2p) 2722 if (IWL_MVM_RS_DISABLE_P2P_MIMO && sta_priv->vif->p2p)
2757 lq_sta->active_mimo2_rate = 0; 2723 lq_sta->active_mimo2_rate = 0;