qcacld-3.0: Add ini parameter for chain selection optimization

Add ini support to Enable/Disable chain selection optimization
for one chain dtim.

Change-Id: I95999a4204f2d978abc9951688332400b9670f0e
CRs-Fixed: 2189150
Esse commit está contido em:
Ashish Kumar Dhanotiya
2018-02-08 17:43:09 +05:30
commit de snandini
commit 191d164636
3 arquivos alterados com 41 adições e 0 exclusões

Ver arquivo

@@ -14341,6 +14341,24 @@ enum hdd_external_acs_freq_band {
#define CFG_WMI_WQ_WATCHDOG_MIN (0)
#define CFG_WMI_WQ_WATCHDOG_MAX (30) /* 30s */
#define CFG_WMI_WQ_WATCHDOG_DEFAULT (20) /* 20s */
/*
* <ini>
* gEnableDTIMSelectionDiversity - Enable/Disable chain
* selection optimization for one chain dtim
* @Min: 0
* @Max: 30
* @Default: 5
*
* Usage: External
*
* </ini>
*/
#define CFG_DTIM_SELECTION_DIVERSITY_NAME "gEnableDTIMSelectionDiversity"
#define CFG_DTIM_SELECTION_DIVERSITY_MIN (0)
#define CFG_DTIM_SELECTION_DIVERSITY_MAX (30)
#define CFG_DTIM_SELECTION_DIVERSITY_DEFAULT (5)
/*
* Type declarations
*/
@@ -15251,6 +15269,7 @@ struct hdd_config {
uint32_t neighbor_report_offload_cache_timeout;
uint32_t neighbor_report_offload_max_req_cap;
uint16_t wmi_wq_watchdog_timeout;
bool enable_dtim_selection_diversity;
};
#define VAR_OFFSET(_Struct, _Var) (offsetof(_Struct, _Var))

Ver arquivo

@@ -5526,6 +5526,14 @@ struct reg_table_entry g_registry_table[] = {
CFG_WMI_WQ_WATCHDOG_DEFAULT,
CFG_WMI_WQ_WATCHDOG_MIN,
CFG_WMI_WQ_WATCHDOG_MAX),
REG_VARIABLE(CFG_DTIM_SELECTION_DIVERSITY_NAME,
WLAN_PARAM_Integer,
struct hdd_config, enable_dtim_selection_diversity,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_DTIM_SELECTION_DIVERSITY_DEFAULT,
CFG_DTIM_SELECTION_DIVERSITY_MIN,
CFG_DTIM_SELECTION_DIVERSITY_MAX),
};
@@ -7416,6 +7424,9 @@ void hdd_cfg_print(struct hdd_context *hdd_ctx)
hdd_debug("Name = [%s] value = [%d]",
CFG_ENABLE_GCMP_NAME,
hdd_ctx->config->gcmp_enabled);
hdd_debug("Name = [%s] value = [%d]",
CFG_DTIM_SELECTION_DIVERSITY_NAME,
hdd_ctx->config->enable_dtim_selection_diversity);
hdd_cfg_print_11k_offload_params(hdd_ctx);
}

Ver arquivo

@@ -4256,6 +4256,17 @@ int hdd_set_fw_params(struct hdd_adapter *adapter)
goto error;
}
ret = sme_cli_set_command(
adapter->session_id,
WMI_PDEV_PARAM_1CH_DTIM_OPTIMIZED_CHAIN_SELECTION,
hdd_ctx->config->enable_dtim_selection_diversity,
PDEV_CMD);
if (ret) {
hdd_err("Failed to set DTIM_OPTIMIZED_CHAIN_SELECTION");
goto error;
}
if (adapter->device_mode == QDF_STA_MODE) {
sme_set_smps_cfg(adapter->session_id,
HDD_STA_SMPS_PARAM_UPPER_BRSSI_THRESH,