提交 f9d71644 编写于 作者: A Avraham Stern 提交者: Emmanuel Grumbach

iwlwifi: mvm: Configure fragmented scan for scheduled scan

Configure the FW to use fragmented scan when the traffic load is high
or low latency traffic is on. This is useful for scans that are
managed by the FW (e.g. scheduled scan).
Signed-off-by: NAvraham Stern <avraham.stern@intel.com>
Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
上级 85e5a387
...@@ -643,6 +643,7 @@ struct iwl_mvm { ...@@ -643,6 +643,7 @@ struct iwl_mvm {
unsigned int scan_status; unsigned int scan_status;
void *scan_cmd; void *scan_cmd;
struct iwl_mcast_filter_cmd *mcast_filter_cmd; struct iwl_mcast_filter_cmd *mcast_filter_cmd;
bool scan_fragmented;
/* max number of simultaneous scans the FW supports */ /* max number of simultaneous scans the FW supports */
unsigned int max_scans; unsigned int max_scans;
......
...@@ -920,6 +920,8 @@ int iwl_mvm_config_scan(struct iwl_mvm *mvm) ...@@ -920,6 +920,8 @@ int iwl_mvm_config_scan(struct iwl_mvm *mvm)
if (!scan_config) if (!scan_config)
return -ENOMEM; return -ENOMEM;
mvm->scan_fragmented = iwl_mvm_low_latency(mvm);
scan_config->flags = cpu_to_le32(SCAN_CONFIG_FLAG_ACTIVATE | scan_config->flags = cpu_to_le32(SCAN_CONFIG_FLAG_ACTIVATE |
SCAN_CONFIG_FLAG_ALLOW_CHUB_REQS | SCAN_CONFIG_FLAG_ALLOW_CHUB_REQS |
SCAN_CONFIG_FLAG_SET_TX_CHAINS | SCAN_CONFIG_FLAG_SET_TX_CHAINS |
...@@ -928,7 +930,10 @@ int iwl_mvm_config_scan(struct iwl_mvm *mvm) ...@@ -928,7 +930,10 @@ int iwl_mvm_config_scan(struct iwl_mvm *mvm)
SCAN_CONFIG_FLAG_SET_LEGACY_RATES | SCAN_CONFIG_FLAG_SET_LEGACY_RATES |
SCAN_CONFIG_FLAG_SET_MAC_ADDR | SCAN_CONFIG_FLAG_SET_MAC_ADDR |
SCAN_CONFIG_FLAG_SET_CHANNEL_FLAGS| SCAN_CONFIG_FLAG_SET_CHANNEL_FLAGS|
SCAN_CONFIG_N_CHANNELS(num_channels)); SCAN_CONFIG_N_CHANNELS(num_channels) |
(mvm->scan_fragmented ?
SCAN_CONFIG_FLAG_SET_FRAGMENTED :
SCAN_CONFIG_FLAG_CLEAR_FRAGMENTED));
scan_config->tx_chains = cpu_to_le32(iwl_mvm_get_valid_tx_ant(mvm)); scan_config->tx_chains = cpu_to_le32(iwl_mvm_get_valid_tx_ant(mvm));
scan_config->rx_chains = cpu_to_le32(iwl_mvm_scan_rx_ant(mvm)); scan_config->rx_chains = cpu_to_le32(iwl_mvm_scan_rx_ant(mvm));
scan_config->legacy_rates = iwl_mvm_scan_config_rates(mvm); scan_config->legacy_rates = iwl_mvm_scan_config_rates(mvm);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册