From 40e1d24a1bfaed83fafadcf78c4d8aef92a9bfd1 Mon Sep 17 00:00:00 2001 From: Ashwini Patil Date: Fri, 10 Mar 2017 03:41:03 +0530 Subject: qcacld-3.0: Add ini items used in mbo bss transition context Add ini items for current and candidate rssi thresholds used in mbo bss transition context. Change-Id: I834c87aaaf776cdc293718fb994b4aae38af6a8b CRs-Fixed: 2007107 --- core/hdd/inc/wlan_hdd_cfg.h | 99 +++++++++++++++++++++++++++++++++++++++++++++ core/hdd/src/wlan_hdd_cfg.c | 32 +++++++++++++++ 2 files changed, 131 insertions(+) diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h index dd43dde6758e..776a2821daaf 100644 --- a/core/hdd/inc/wlan_hdd_cfg.h +++ b/core/hdd/inc/wlan_hdd_cfg.h @@ -10305,6 +10305,100 @@ enum dot11p_mode { #define CFG_PROBE_REQ_OUI_NAME "gProbeReqOUIs" #define CFG_PROBE_REQ_OUI_DEFAULT "" +/* + * + * g_mbo_candidate_rssi_thres - Candidate AP's minimum RSSI to accept + * @Min: -120 + * @Max: 0 + * @Default: -72 + * + * This ini specifies the minimum RSSI value a candidate should have to accept + * it as a target for transition. + * + * Related: N/A + * + * Supported Feature: MBO + * + * Usage: Internal + * + * + */ +#define CFG_MBO_CANDIDATE_RSSI_THRESHOLD_NAME "g_mbo_candidate_rssi_thres" +#define CFG_CANDIDATE_RSSI_THRESHOLD_DEFAULT (-72) +#define CFG_CANDIDATE_RSSI_THRESHOLD_MIN (-120) +#define CFG_CANDIDATE_RSSI_THRESHOLD_MAX (0) + +/* + * + * g_mbo_current_rssi_thres - Connected AP's RSSI threshold to consider a + * transition + * @Min: -120 + * @Max: 0 + * @Default: -65 + * + * This ini is used to configure connected AP's RSSI threshold value to consider + * a transition. + * + * Related: N/A + * + * Supported Feature: MBO + * + * Usage: Internal + * + * + */ +#define CFG_MBO_CURRENT_RSSI_THRESHOLD_NAME "g_mbo_current_rssi_thres" +#define CFG_CURRENT_RSSI_THRESHOLD_DEFAULT (-65) +#define CFG_CURRENT_RSSI_THRESHOLD_MIN (-120) +#define CFG_CURRENT_RSSI_THRESHOLD_MAX (0) + +/* + * + * g_mbo_current_rssi_mcc_thres - connected AP's RSSI threshold value to prefer + * against a MCC + * @Min: -120 + * @Max: 0 + * @Default: -75 + * + * This ini is used to configure connected AP's minimum RSSI threshold that is + * preferred against a MCC case, if the candidate can cause MCC. + * + * Related: N/A + * + * Supported Feature: MBO + * + * Usage: Internal + * + * + */ +#define CFG_MBO_CUR_RSSI_MCC_THRESHOLD_NAME "g_mbo_current_rssi_mcc_thres" +#define CFG_MBO_CUR_RSSI_MCC_THRESHOLD_DEFAULT (-75) +#define CFG_MBO_CUR_RSSI_MCC_THRESHOLD_MIN (-120) +#define CFG_MBO_CUR_RSSI_MCC_THRESHOLD_MAX (0) + +/* + * + * g_mbo_candidate_rssi_btc_thres - Candidate AP's minimum RSSI threshold to + * prefer it even in case of BT coex + * @Min: -120 + * @Max: 0 + * @Default: -70 + * + * This ini is used to configure candidate AP's minimum RSSI threshold to prefer + * it for transition even in case of BT coex. + * + * Related: N/A + * + * Supported Feature: MBO + * + * Usage: Internal + * + * + */ +#define CFG_MBO_CAND_RSSI_BTC_THRESHOLD_NAME "g_mbo_candidate_rssi_btc_thres" +#define CFG_MBO_CAND_RSSI_BTC_THRESHOLD_DEFAULT (-70) +#define CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MIN (-120) +#define CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MAX (0) /*--------------------------------------------------------------------------- Type declarations @@ -11050,6 +11144,11 @@ struct hdd_config { /* Probe Request multiple vendor OUIs */ uint8_t probe_req_ouis[MAX_PRB_REQ_VENDOR_OUI_INI_LEN]; + + int8_t mbo_candidate_rssi_thres; + int8_t mbo_current_rssi_thres; + int8_t mbo_current_rssi_mcc_thres; + int8_t mbo_candidate_rssi_btc_thres; }; #define VAR_OFFSET(_Struct, _Var) (offsetof(_Struct, _Var)) diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c index 32c813685eec..3a47656101e9 100644 --- a/core/hdd/src/wlan_hdd_cfg.c +++ b/core/hdd/src/wlan_hdd_cfg.c @@ -4469,6 +4469,38 @@ REG_TABLE_ENTRY g_registry_table[] = { struct hdd_config, probe_req_ouis, VAR_FLAGS_OPTIONAL, (void *)CFG_PROBE_REQ_OUI_DEFAULT), + + REG_VARIABLE(CFG_MBO_CANDIDATE_RSSI_THRESHOLD_NAME, + WLAN_PARAM_SignedInteger, struct hdd_config, + mbo_candidate_rssi_thres, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_CANDIDATE_RSSI_THRESHOLD_DEFAULT, + CFG_CANDIDATE_RSSI_THRESHOLD_MIN, + CFG_CANDIDATE_RSSI_THRESHOLD_MAX), + + REG_VARIABLE(CFG_MBO_CURRENT_RSSI_THRESHOLD_NAME, + WLAN_PARAM_SignedInteger, struct hdd_config, + mbo_current_rssi_thres, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_CURRENT_RSSI_THRESHOLD_DEFAULT, + CFG_CURRENT_RSSI_THRESHOLD_MIN, + CFG_CURRENT_RSSI_THRESHOLD_MAX), + + REG_VARIABLE(CFG_MBO_CUR_RSSI_MCC_THRESHOLD_NAME, + WLAN_PARAM_SignedInteger, struct hdd_config, + mbo_current_rssi_mcc_thres, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_MBO_CUR_RSSI_MCC_THRESHOLD_DEFAULT, + CFG_MBO_CUR_RSSI_MCC_THRESHOLD_MIN, + CFG_MBO_CUR_RSSI_MCC_THRESHOLD_MAX), + + REG_VARIABLE(CFG_MBO_CAND_RSSI_BTC_THRESHOLD_NAME, + WLAN_PARAM_SignedInteger, struct hdd_config, + mbo_candidate_rssi_btc_thres, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_MBO_CAND_RSSI_BTC_THRESHOLD_DEFAULT, + CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MIN, + CFG_MBO_CAND_RSSI_BTC_THRESHOLD_MAX), }; /** -- cgit v1.2.3