qcacld-3.0: Configuration to enable/disable LPRx

Add host support to enable/disable LPRx from ini.

Change-Id: I7a5acd34331cdd1f06a2d08317efcf04c6f608a7
CRs-Fixed: 2080316
This commit is contained in:
Ashish Kumar Dhanotiya 2017-07-21 14:18:14 +05:30 • committed by snandini
commit b8630abe6d
3 changed files with 38 additions and 0 deletions

View file

@ -11004,6 +11004,25 @@ enum hdd_external_acs_freq_band {
#define CFG_ROAM_NUM_DISALLOWED_APS_MAX (8)
#define CFG_ROAM_NUM_DISALLOWED_APS_DEFAULT (3)
/*
* <ini>
* gEnableLPRx - Enable/Disable LPRx
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini Enables or disables the LPRx in FW
*
* Usage: External
*
* </ini>
*/
#define CFG_LPRx_NAME "gEnableLPRx"
#define CFG_LPRx_MIN (0)
#define CFG_LPRx_MAX (1)
#define CFG_LPRx_DEFAULT (1)
/*
* Type declarations
*/
@ -11766,6 +11785,7 @@ struct hdd_config {
int8_t rssi_penalize_threshold_5g;
uint8_t rssi_penalize_factor_5g;
uint8_t max_rssi_penalize_5g;
bool enable_lprx;
};
#define VAR_OFFSET(_Struct, _Var) (offsetof(_Struct, _Var))

View file

@ -4583,6 +4583,13 @@ struct reg_table_entry g_registry_table[] = {
CFG_5G_MAX_RSSI_PENALIZE_DEFAULT,
CFG_5G_MAX_RSSI_PENALIZE_MIN,
CFG_5G_MAX_RSSI_PENALIZE_MAX),
REG_VARIABLE(CFG_LPRx_NAME, WLAN_PARAM_Integer,
struct hdd_config, enable_lprx,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_LPRx_DEFAULT,
CFG_LPRx_MIN,
CFG_LPRx_MAX),
};
@ -6135,6 +6142,9 @@ void hdd_cfg_print(hdd_context_t *pHddCtx)
hdd_debug("Name = [%s] Value = [%u]",
CFG_ROAM_NUM_DISALLOWED_APS_NAME,
pHddCtx->config->num_disallowed_aps);
hdd_debug("Name = [%s] value = [%u]",
CFG_LPRx_NAME,
pHddCtx->config->enable_lprx);
}

View file

@ -3633,6 +3633,14 @@ int hdd_set_fw_params(hdd_adapter_t *adapter)
return 0;
}
ret = sme_cli_set_command(adapter->sessionId,
WMI_PDEV_PARAM_DTIM_SYNTH,
hdd_ctx->config->enable_lprx, PDEV_CMD);
if (ret) {
hdd_err("Failed to set LPRx");
goto error;
}
if (hdd_ctx->config->enable2x2) {
hdd_debug("configuring 2x2 mode fw params");