diff options
| author | Abhishek Singh <absingh@codeaurora.org> | 2017-10-04 13:53:18 +0530 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-10-04 08:44:05 -0700 |
| commit | 0ae2e7c343e4aeb3f8df200d7b8a7632d3158acb (patch) | |
| tree | 4759145a3bfbf42d87430678dcce1223128b3ec1 | |
| parent | 26763775d86233521a58fe550eea4c2e07db5593 (diff) | |
qcacld-3.0: Add INI to disable AP scoring logic for roaming
Adds an INI disable_scoring_for_roam, to disable AP scoring logic
for roaming.
Change-Id: Iaa29b3a3f1710fad0b25ecc991ad787527d0544f
CRs-Fixed: 2120919
| -rw-r--r-- | core/hdd/inc/wlan_hdd_cfg.h | 23 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_cfg.c | 12 | ||||
| -rw-r--r-- | core/mac/inc/sir_api.h | 1 | ||||
| -rw-r--r-- | core/sme/src/csr/csr_api_roam.c | 4 |
4 files changed, 40 insertions, 0 deletions
diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h index 876f75174814..5d67323f9882 100644 --- a/core/hdd/inc/wlan_hdd_cfg.h +++ b/core/hdd/inc/wlan_hdd_cfg.h @@ -12672,6 +12672,28 @@ enum hw_filter_mode { /* * <ini> + * disable_scoring_for_roam - disable candidate selection logic for + * roaming + * @Min: 0 + * @Max: 1 + * @Default: 1 + * + * This ini is used to enable/disable candidate selection logic to be used + * during Firmware roaming. + * + * Supported Feature: STA Candidate selection + * + * Usage: External + * + * </ini> + */ +#define CFG_ENABLE_CANDIDATE_SEL_ROAM_NAME "disable_scoring_for_roam" +#define CFG_ENABLE_CANDIDATE_SEL_ROAM_DEFAULT (1) +#define CFG_ENABLE_CANDIDATE_SEL_ROAM_MIN (0) +#define CFG_ENABLE_CANDIDATE_SEL_ROAM_MAX (1) + +/* + * <ini> * gChanSwitchHostapdRateEnabled - Enable/disable hostapd rate when doing SAP * channel switch * @Min: 0 @@ -13546,6 +13568,7 @@ struct hdd_config { uint32_t esp_qbss_score_slots7_to_4; uint32_t esp_qbss_score_slots11_to_8; uint32_t esp_qbss_score_slots15_to_12; + bool disable_scoring_for_roam; bool chan_switch_hostapd_rate_enabled; }; diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c index 3568a2d9820e..ec431957a5d2 100644 --- a/core/hdd/src/wlan_hdd_cfg.c +++ b/core/hdd/src/wlan_hdd_cfg.c @@ -5155,6 +5155,13 @@ struct reg_table_entry g_registry_table[] = { CFG_ESP_QBSS_SCORE_IDX15_TO_12_MIN, CFG_ESP_QBSS_SCORE_IDX15_TO_12_MAX), + REG_VARIABLE(CFG_ENABLE_CANDIDATE_SEL_ROAM_NAME, WLAN_PARAM_Integer, + struct hdd_config, disable_scoring_for_roam, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_ENABLE_CANDIDATE_SEL_ROAM_DEFAULT, + CFG_ENABLE_CANDIDATE_SEL_ROAM_MIN, + CFG_ENABLE_CANDIDATE_SEL_ROAM_MAX), + REG_VARIABLE(CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME, WLAN_PARAM_Integer, struct hdd_config, chan_switch_hostapd_rate_enabled, @@ -6913,6 +6920,9 @@ void hdd_cfg_print(hdd_context_t *pHddCtx) hdd_debug("Name = [%s] value = [%u]", CFG_ESP_QBSS_SCORE_IDX15_TO_12_NAME, pHddCtx->config->esp_qbss_score_slots15_to_12); + hdd_debug("Name = [%s] value = [%u]", + CFG_ENABLE_CANDIDATE_SEL_ROAM_NAME, + pHddCtx->config->disable_scoring_for_roam); hdd_debug("Name = [%s] value = [%u]", CFG_DOT11P_MODE_NAME, @@ -8217,6 +8227,8 @@ static void hdd_update_bss_score_params(struct hdd_config *config, { int total_weight; + score_params->disable_scoring_for_roam = + config->disable_scoring_for_roam; score_params->weight_cfg.rssi_weightage = config->rssi_weightage; score_params->weight_cfg.ht_caps_weightage = config->ht_caps_weightage; score_params->weight_cfg.vht_caps_weightage = diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index 9c68b8e25eed..b63085556501 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -3483,6 +3483,7 @@ struct sir_per_slot_scoring { }; struct sir_score_config { + bool disable_scoring_for_roam; struct sir_weight_config weight_cfg; struct sir_rssi_cfg_score rssi_score; struct sir_per_slot_scoring esp_qbss_scoring; diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 1fde2891853b..be8e7e7e34e7 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -19133,6 +19133,10 @@ static void csr_update_score_params(tpAniSirGlobal mac_ctx, weight_config = &bss_score_params->weight_cfg; rssi_score = &bss_score_params->rssi_score; + if (bss_score_params->disable_scoring_for_roam) + req_score_params->disable_bitmap = + WLAN_ROAM_SCORING_DISABLE_ALL; + req_score_params->rssi_weightage = weight_config->rssi_weightage; req_score_params->ht_weightage = weight_config->ht_caps_weightage; req_score_params->vht_weightage = weight_config->vht_caps_weightage; |
