mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-15 01:01:56 -04:00
qcacld-3.0: Add INI to configure min rssi for roamable AP in PER Roam
Add INI "gper_min_rssi_threshold_for_roam" to configure the minimum RSSI required for AP candidate to roam in PER based roaming. Change-Id: I5549c44d2dffb20e92923d3b62e08b94b7a87c9d CRs-Fixed: 2048414
This commit is contained in:
parent
d103458c97
commit
0641fabce5
3 changed files with 49 additions and 3 deletions
|
|
@ -9139,6 +9139,31 @@ enum hdd_wext_control {
|
|||
#define CFG_MAX_WOW_FILTERS_MAX (WOW_MAX_BITMAP_FILTERS)
|
||||
#define CFG_MAX_WOW_FILTERS_DEFAULT (WOW_MAX_BITMAP_FILTERS)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gper_min_rssi_threshold_for_roam - Minimum roamable AP RSSI for
|
||||
* candidate selection for PER based roam
|
||||
* @Min: 0
|
||||
* @Max: 96
|
||||
* @Default: 83
|
||||
*
|
||||
* Minimum roamable AP RSSI for candidate selection for PER based roam
|
||||
*
|
||||
* Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th,
|
||||
* gper_roam_th_percent, gper_roam_rest_time
|
||||
*
|
||||
* Supported Feature: LFR-3.0
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_PER_ROAM_MIN_CANDIDATE_RSSI "gper_min_rssi_threshold_for_roam"
|
||||
#define CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MIN (0)
|
||||
#define CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MAX (96)
|
||||
#define CFG_PER_ROAM_MIN_CANDIDATE_RSSI_DEFAULT (83)
|
||||
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gEnableImps - Enable/Disable IMPS
|
||||
|
|
@ -10957,6 +10982,7 @@ struct hdd_config {
|
|||
uint32_t per_roam_th_percent;
|
||||
uint32_t per_roam_rest_time;
|
||||
uint32_t per_roam_mon_time;
|
||||
uint32_t min_candidate_rssi;
|
||||
enum active_bpf_mode active_uc_bpf_mode;
|
||||
enum active_bpf_mode active_mc_bc_bpf_mode;
|
||||
bool enable_bcast_probe_rsp;
|
||||
|
|
|
|||
|
|
@ -4255,6 +4255,13 @@ struct reg_table_entry g_registry_table[] = {
|
|||
CFG_PER_ROAM_MONITOR_TIME_MIN,
|
||||
CFG_PER_ROAM_MONITOR_TIME_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_PER_ROAM_MIN_CANDIDATE_RSSI, WLAN_PARAM_Integer,
|
||||
struct hdd_config, min_candidate_rssi,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_PER_ROAM_MIN_CANDIDATE_RSSI_DEFAULT,
|
||||
CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MIN,
|
||||
CFG_PER_ROAM_MIN_CANDIDATE_RSSI_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_ACTIVE_UC_BPF_MODE_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, active_uc_bpf_mode,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
|
|
@ -5215,7 +5222,9 @@ static void hdd_per_roam_print_ini_config(hdd_context_t *hdd_ctx)
|
|||
hdd_debug("Name = [%s] Value = [%u]",
|
||||
CFG_PER_ROAM_MONITOR_TIME,
|
||||
hdd_ctx->config->per_roam_mon_time);
|
||||
|
||||
hdd_debug("Name = [%s] Value = [%u]",
|
||||
CFG_PER_ROAM_MIN_CANDIDATE_RSSI,
|
||||
hdd_ctx->config->min_candidate_rssi);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -7123,6 +7132,10 @@ static void hdd_update_per_config_to_sme(hdd_context_t *hdd_ctx,
|
|||
hdd_ctx->config->per_roam_mon_time;
|
||||
sme_config->csrConfig.per_roam_config.rx_per_mon_time =
|
||||
hdd_ctx->config->per_roam_mon_time;
|
||||
|
||||
/* Assigning minimum roamable AP RSSI for candidate selection */
|
||||
sme_config->csrConfig.per_roam_config.min_candidate_rssi =
|
||||
hdd_ctx->config->min_candidate_rssi;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2747,6 +2747,8 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
|
|||
pParam->per_roam_config.tx_per_mon_time;
|
||||
pMac->roam.configParam.per_roam_config.rx_per_mon_time =
|
||||
pParam->per_roam_config.rx_per_mon_time;
|
||||
pMac->roam.configParam.per_roam_config.min_candidate_rssi =
|
||||
pParam->per_roam_config.min_candidate_rssi;
|
||||
|
||||
pMac->fEnableDebugLog = pParam->fEnableDebugLog;
|
||||
|
||||
|
|
@ -2975,6 +2977,8 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
|
|||
cfg_params->per_roam_config.tx_per_mon_time;
|
||||
pParam->per_roam_config.rx_per_mon_time =
|
||||
cfg_params->per_roam_config.rx_per_mon_time;
|
||||
pParam->per_roam_config.min_candidate_rssi =
|
||||
cfg_params->per_roam_config.min_candidate_rssi;
|
||||
|
||||
pParam->conc_custom_rule1 = cfg_params->conc_custom_rule1;
|
||||
pParam->conc_custom_rule2 = cfg_params->conc_custom_rule2;
|
||||
|
|
@ -17864,15 +17868,18 @@ csr_create_per_roam_request(tpAniSirGlobal mac_ctx, uint8_t session_id)
|
|||
mac_ctx->roam.configParam.per_roam_config.tx_rate_thresh_percnt;
|
||||
req_buf->per_config.rx_rate_thresh_percnt =
|
||||
mac_ctx->roam.configParam.per_roam_config.rx_rate_thresh_percnt;
|
||||
req_buf->per_config.min_candidate_rssi =
|
||||
mac_ctx->roam.configParam.per_roam_config.min_candidate_rssi;
|
||||
|
||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||
"PER based roaming configuaration enable: %d vdev: %d high_rate_thresh: %d low_rate_thresh: %d rate_thresh_percnt: %d per_rest_time: %d monitor_time: %d",
|
||||
"PER based roaming configuaration enable: %d vdev: %d high_rate_thresh: %d low_rate_thresh: %d rate_thresh_percnt: %d per_rest_time: %d monitor_time: %d min cand rssi: %d",
|
||||
req_buf->per_config.enable, session_id,
|
||||
req_buf->per_config.tx_high_rate_thresh,
|
||||
req_buf->per_config.tx_low_rate_thresh,
|
||||
req_buf->per_config.tx_rate_thresh_percnt,
|
||||
req_buf->per_config.per_rest_time,
|
||||
req_buf->per_config.tx_per_mon_time);
|
||||
req_buf->per_config.tx_per_mon_time,
|
||||
req_buf->per_config.min_candidate_rssi);
|
||||
return req_buf;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue