mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-02 00:54:12 +00:00
iwlwifi: mvm: enable RX chain diversity if needed
In some situations (see comment) it makes sense to enable both chains (if available) to get better throughput by having chain diversity available. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
d6aeb354f9
commit
1a095d30d1
@ -156,6 +156,19 @@ static void iwl_mvm_phy_ctxt_cmd_data(struct iwl_mvm *mvm,
|
||||
idle_cnt = chains_static;
|
||||
active_cnt = chains_dynamic;
|
||||
|
||||
/* In scenarios where we only ever use a single-stream rates,
|
||||
* i.e. legacy 11b/g/a associations, single-stream APs or even
|
||||
* static SMPS, enable both chains to get diversity, improving
|
||||
* the case where we're far enough from the AP that attenuation
|
||||
* between the two antennas is sufficiently different to impact
|
||||
* performance.
|
||||
*/
|
||||
if (active_cnt == 1 && num_of_ant(mvm->fw->valid_rx_ant) > 1 &&
|
||||
!mvm->cfg->rx_with_siso_diversity) {
|
||||
idle_cnt = 2;
|
||||
active_cnt = 2;
|
||||
}
|
||||
|
||||
cmd->rxchain_info = cpu_to_le32(mvm->fw->valid_rx_ant <<
|
||||
PHY_RX_CHAIN_VALID_POS);
|
||||
cmd->rxchain_info |= cpu_to_le32(idle_cnt << PHY_RX_CHAIN_CNT_POS);
|
||||
|
Loading…
x
Reference in New Issue
Block a user