From ec7dc2502a3b3a0e11e4bf945f6b8df325143329 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Thu, 6 Sep 2018 15:38:49 +0530 Subject: [PATCH] qcacld-3.0: ADD MLME CFG items of WMM CFG Items Add the following WMM CFG items to MLME cfg Items: 1. WNI_CFG_QOS_ENABLED 2. WNI_CFG_WME_ENABLED 3. WNI_CFG_MAX_SP_LENGTH 4. WNI_CFG_WSM_ENABLED 5. WNI_CFG_EDCA_PROFILE Deleted following WMM CFG Items: 1. WNI_CFG_ADMIT_POLICY 2. WNI_CFG_ADMIT_BWFACTOR Change-Id: I16f9c5a71d1e8fe7cb1b029e3ec7ec2159bdd5b4 CRs-Fixed: 2304998 --- components/mlme/core/src/wlan_mlme_main.c | 11 ++++ components/mlme/dispatcher/inc/cfg_mlme.h | 2 + .../mlme/dispatcher/inc/cfg_mlme_fe_wmm.h | 64 +++++++++++++++++++ .../dispatcher/inc/wlan_mlme_public_struct.h | 18 ++++++ core/mac/inc/wni_cfg.h | 5 -- core/mac/src/cfg/cfg_api.c | 7 +- core/mac/src/cfg/cfg_param_name.c | 5 -- core/mac/src/cfg/cfg_proc_msg.c | 28 -------- core/mac/src/pe/include/lim_admit_control.h | 2 - core/mac/src/pe/lim/lim_admit_control.c | 29 --------- .../src/pe/lim/lim_process_assoc_req_frame.c | 16 ++--- core/mac/src/pe/lim/lim_process_cfg_updates.c | 21 +++--- core/mac/src/pe/lim/lim_process_tdls.c | 19 ++---- core/mac/src/pe/sch/sch_message.c | 14 +--- .../src/sys/legacy/src/utils/src/parser_api.c | 20 ++---- core/sme/src/csr/csr_api_roam.c | 4 +- core/wma/src/wma_scan_roam.c | 18 ++---- 17 files changed, 130 insertions(+), 153 deletions(-) create mode 100644 components/mlme/dispatcher/inc/cfg_mlme_fe_wmm.h diff --git a/components/mlme/core/src/wlan_mlme_main.c b/components/mlme/core/src/wlan_mlme_main.c index 191fd3223aaa..7c0e571f219e 100644 --- a/components/mlme/core/src/wlan_mlme_main.c +++ b/components/mlme/core/src/wlan_mlme_main.c @@ -1123,6 +1123,16 @@ static void mlme_init_wep_cfg(struct wlan_mlme_wep_cfg *wep_params) mlme_init_wep_keys(wep_params); } +static void mlme_init_wmm_in_cfg(struct wlan_objmgr_psoc *psoc, + struct wlan_mlme_wmm_params *wmm_params) +{ + wmm_params->qos_enabled = cfg_default(CFG_QOS_ENABLED); + wmm_params->wme_enabled = cfg_default(CFG_WME_ENABLED); + wmm_params->max_sp_length = cfg_default(CFG_MAX_SP_LENGTH); + wmm_params->wsm_enabled = cfg_default(CFG_WSM_ENABLED); + wmm_params->edca_profile = cfg_default(CFG_EDCA_PROFILE); +} + QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc) { struct wlan_mlme_psoc_obj *mlme_obj; @@ -1140,6 +1150,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc) mlme_init_edca_params(&mlme_cfg->edca_params); mlme_init_timeout_cfg(psoc, &mlme_cfg->timeouts); mlme_init_ht_cap_in_cfg(psoc, &mlme_cfg->ht_caps); + mlme_init_wmm_in_cfg(psoc, &mlme_cfg->wmm_params); mlme_init_mbo_cfg(psoc, &mlme_cfg->mbo_cfg); mlme_init_qos_cfg(psoc, &mlme_cfg->qos_mlme_params); mlme_init_rates_in_cfg(psoc, &mlme_cfg->rates); diff --git a/components/mlme/dispatcher/inc/cfg_mlme.h b/components/mlme/dispatcher/inc/cfg_mlme.h index 8b6cf37f2db3..b58556b5bca1 100644 --- a/components/mlme/dispatcher/inc/cfg_mlme.h +++ b/components/mlme/dispatcher/inc/cfg_mlme.h @@ -39,6 +39,7 @@ #include "wlan_mlme_product_details_cfg.h" #include "cfg_mlme_sta.h" #include "cfg_sap_protection.h" +#include "cfg_mlme_fe_wmm.h" #include "cfg_mlme_sap.h" #include "cfg_mlme_scoring.h" #include "cfg_mlme_oce.h" @@ -62,6 +63,7 @@ CFG_OCE_ALL \ CFG_QOS_ALL \ CFG_RATES_ALL \ + CFG_WMM_PARAMS_ALL\ CFG_SAP_ALL \ CFG_SAP_PROTECTION_ALL \ CFG_SCORING_ALL \ diff --git a/components/mlme/dispatcher/inc/cfg_mlme_fe_wmm.h b/components/mlme/dispatcher/inc/cfg_mlme_fe_wmm.h new file mode 100644 index 000000000000..c0b19ac81871 --- /dev/null +++ b/components/mlme/dispatcher/inc/cfg_mlme_fe_wmm.h @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2012-2018 The Linux Foundation. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for + * any purpose with or without fee is hereby granted, provided that the + * above copyright notice and this permission notice appear in all + * copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE + * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/** + * DOC: This file contains centralized definitions of converged configuration. + */ + +#ifndef __CFG_MLME_FE_WMM_H +#define __CFG_MLME_FE_WMM_H + +#define CFG_QOS_ENABLED CFG_BOOL( \ + "qos_enabled", \ + 0, \ + "QOS Enabled") + +#define CFG_WME_ENABLED CFG_BOOL( \ + "wme_enabled", \ + 1, \ + "WME Enabled") + +#define CFG_MAX_SP_LENGTH CFG_UINT( \ + "max_sp_length", \ + 0, \ + 3, \ + 0, \ + CFG_VALUE_OR_DEFAULT, \ + "MAX sp length") + +#define CFG_WSM_ENABLED CFG_BOOL( \ + "wsm_enabled", \ + 0, \ + "WSM Enabled") + +#define CFG_EDCA_PROFILE CFG_UINT( \ + "edca_profile", \ + 0, \ + 4, \ + 1, \ + CFG_VALUE_OR_DEFAULT, \ + "Edca Profile") + +#define CFG_WMM_PARAMS_ALL \ + CFG(CFG_QOS_ENABLED) \ + CFG(CFG_WME_ENABLED) \ + CFG(CFG_MAX_SP_LENGTH) \ + CFG(CFG_WSM_ENABLED) \ + CFG(CFG_EDCA_PROFILE) + +#endif /* __CFG_MLME_FE_WMM_H */ diff --git a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h index 5364f8a57a7d..143a2e338612 100644 --- a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h +++ b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h @@ -834,6 +834,22 @@ struct wlan_mlme_lfr_cfg { uint32_t max_num_pre_auth; }; +/** +* struct wlan_mlme_wmm_params - WMM CFG Items + * @qos_enabled: AP is enabled with 11E + * @wme_enabled: AP is enabled with WMM + * @max_sp_length: Maximum SP Length + * @wsm_enabled: AP is enabled with WSM + * @edca_profile: edca profile id + */ +struct wlan_mlme_wmm_params { + bool qos_enabled; + bool wme_enabled; + uint8_t max_sp_length; + bool wsm_enabled; + uint32_t edca_profile; +}; + /** * struct wlan_mlme_weight_config - weight params to * calculate best candidate @@ -1066,6 +1082,7 @@ struct wlan_mlme_wep_cfg { * @acs: ACS related CFG items * @feature_flags: Feature flag config items * @wep_params: WEP related config items + * @wmm_params: WMM related CFG Items */ struct wlan_mlme_cfg { struct wlan_mlme_chainmask chainmask_cfg; @@ -1090,6 +1107,7 @@ struct wlan_mlme_cfg { struct wlan_mlme_acs acs; struct wlan_mlme_feature_flag feature_flags; struct wlan_mlme_wep_cfg wep_params; + struct wlan_mlme_wmm_params wmm_params; }; #endif diff --git a/core/mac/inc/wni_cfg.h b/core/mac/inc/wni_cfg.h index 73b48f0fd5d2..bd53e859fc26 100644 --- a/core/mac/inc/wni_cfg.h +++ b/core/mac/inc/wni_cfg.h @@ -41,7 +41,6 @@ enum { WNI_CFG_VALID_CHANNEL_LIST, WNI_CFG_APSD_ENABLED, WNI_CFG_SHORT_PREAMBLE, - WNI_CFG_QOS_ENABLED, WNI_CFG_11D_ENABLED, WNI_CFG_MAX_TX_POWER_2_4, WNI_CFG_MAX_TX_POWER_5, @@ -51,10 +50,6 @@ enum { WNI_CFG_11G_SHORT_PREAMBLE_ENABLED, WNI_CFG_11G_SHORT_SLOT_TIME_ENABLED, WNI_CFG_11G_ONLY_POLICY, - WNI_CFG_WME_ENABLED, - WNI_CFG_MAX_SP_LENGTH, - WNI_CFG_WSM_ENABLED, - WNI_CFG_EDCA_PROFILE, WNI_CFG_LOCAL_POWER_CONSTRAINT, WNI_CFG_ADMIT_POLICY, WNI_CFG_ADMIT_BWFACTOR, diff --git a/core/mac/src/cfg/cfg_api.c b/core/mac/src/cfg/cfg_api.c index f83f16e734ae..8d161ec20c43 100644 --- a/core/mac/src/cfg/cfg_api.c +++ b/core/mac/src/cfg/cfg_api.c @@ -761,12 +761,7 @@ QDF_STATUS cfg_get_capability_info(tpAniSirGlobal pMac, uint16_t *pCap, pCapInfo->spectrumMgt = 1; } /* QoS bit */ - if (wlan_cfg_get_int(pMac, WNI_CFG_QOS_ENABLED, &val) != - QDF_STATUS_SUCCESS) { - pe_err("cfg get WNI_CFG_QOS_ENABLED failed"); - return QDF_STATUS_E_FAILURE; - } - if (val) + if (pMac->mlme_cfg->wmm_params.qos_enabled) pCapInfo->qos = 1; /* APSD bit */ diff --git a/core/mac/src/cfg/cfg_param_name.c b/core/mac/src/cfg/cfg_param_name.c index 403a4698e493..588749ecb35c 100644 --- a/core/mac/src/cfg/cfg_param_name.c +++ b/core/mac/src/cfg/cfg_param_name.c @@ -56,7 +56,6 @@ const char *cfg_get_string(uint16_t cfg_id) CASE_RETURN_STRING(WNI_CFG_VALID_CHANNEL_LIST); CASE_RETURN_STRING(WNI_CFG_APSD_ENABLED); CASE_RETURN_STRING(WNI_CFG_SHORT_PREAMBLE); - CASE_RETURN_STRING(WNI_CFG_QOS_ENABLED); CASE_RETURN_STRING(WNI_CFG_11D_ENABLED); CASE_RETURN_STRING(WNI_CFG_MAX_TX_POWER_2_4); CASE_RETURN_STRING(WNI_CFG_MAX_TX_POWER_5); @@ -66,10 +65,6 @@ const char *cfg_get_string(uint16_t cfg_id) CASE_RETURN_STRING(WNI_CFG_11G_SHORT_PREAMBLE_ENABLED); CASE_RETURN_STRING(WNI_CFG_11G_SHORT_SLOT_TIME_ENABLED); CASE_RETURN_STRING(WNI_CFG_11G_ONLY_POLICY); - CASE_RETURN_STRING(WNI_CFG_WME_ENABLED); - CASE_RETURN_STRING(WNI_CFG_MAX_SP_LENGTH); - CASE_RETURN_STRING(WNI_CFG_WSM_ENABLED); - CASE_RETURN_STRING(WNI_CFG_EDCA_PROFILE); CASE_RETURN_STRING(WNI_CFG_LOCAL_POWER_CONSTRAINT); CASE_RETURN_STRING(WNI_CFG_ADMIT_POLICY); CASE_RETURN_STRING(WNI_CFG_ADMIT_BWFACTOR); diff --git a/core/mac/src/cfg/cfg_proc_msg.c b/core/mac/src/cfg/cfg_proc_msg.c index 0e4eefd12dc9..e60baae6614d 100644 --- a/core/mac/src/cfg/cfg_proc_msg.c +++ b/core/mac/src/cfg/cfg_proc_msg.c @@ -101,12 +101,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = { WNI_CFG_SHORT_PREAMBLE_STAMIN, WNI_CFG_SHORT_PREAMBLE_STAMAX, WNI_CFG_SHORT_PREAMBLE_STADEF}, - {WNI_CFG_QOS_ENABLED, - CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | - CFG_CTL_RESTART, - WNI_CFG_QOS_ENABLED_STAMIN, - WNI_CFG_QOS_ENABLED_STAMAX, - WNI_CFG_QOS_ENABLED_STADEF}, {WNI_CFG_11D_ENABLED, CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | CFG_CTL_RESTART, @@ -150,28 +144,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = { WNI_CFG_11G_ONLY_POLICY_STAMIN, WNI_CFG_11G_ONLY_POLICY_STAMAX, WNI_CFG_11G_ONLY_POLICY_STADEF}, - {WNI_CFG_WME_ENABLED, - CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | - CFG_CTL_RESTART, - WNI_CFG_WME_ENABLED_STAMIN, - WNI_CFG_WME_ENABLED_STAMAX, - WNI_CFG_WME_ENABLED_STADEF}, - {WNI_CFG_MAX_SP_LENGTH, - CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT, - WNI_CFG_MAX_SP_LENGTH_STAMIN, - WNI_CFG_MAX_SP_LENGTH_STAMAX, - WNI_CFG_MAX_SP_LENGTH_STADEF}, - {WNI_CFG_WSM_ENABLED, - CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT, - WNI_CFG_WSM_ENABLED_STAMIN, - WNI_CFG_WSM_ENABLED_STAMAX, - WNI_CFG_WSM_ENABLED_STADEF}, - {WNI_CFG_EDCA_PROFILE, - CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | - CFG_CTL_NTF_SCH, - WNI_CFG_EDCA_PROFILE_STAMIN, - WNI_CFG_EDCA_PROFILE_STAMAX, - WNI_CFG_EDCA_PROFILE_STADEF}, {WNI_CFG_LOCAL_POWER_CONSTRAINT, CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | CFG_CTL_RESTART, diff --git a/core/mac/src/pe/include/lim_admit_control.h b/core/mac/src/pe/include/lim_admit_control.h index 35204cbdbbf6..b8cb161c07bc 100644 --- a/core/mac/src/pe/include/lim_admit_control.h +++ b/core/mac/src/pe/include/lim_admit_control.h @@ -70,8 +70,6 @@ lim_admit_control_delete_ts(tpAniSirGlobal pMac, tSirMacTSInfo *tsinfo, uint8_t *tsStatus, uint8_t *tspecIdx); -extern QDF_STATUS lim_update_admit_policy(tpAniSirGlobal pMac); - QDF_STATUS lim_admit_control_init(tpAniSirGlobal pMac); #ifdef FEATURE_WLAN_ESE QDF_STATUS lim_send_hal_msg_add_ts(tpAniSirGlobal pMac, diff --git a/core/mac/src/pe/lim/lim_admit_control.c b/core/mac/src/pe/lim/lim_admit_control.c index 4009b9af7f2e..1b90a9bce523 100644 --- a/core/mac/src/pe/lim/lim_admit_control.c +++ b/core/mac/src/pe/lim/lim_admit_control.c @@ -815,35 +815,6 @@ QDF_STATUS lim_admit_control_init(tpAniSirGlobal pMac) return QDF_STATUS_SUCCESS; } -/** ------------------------------------------------------------- - \fn lim_update_admit_policy - \brief Set the admit control policy based on CFG parameters - \param tpAniSirGlobal pMac - \return QDF_STATUS - status - -------------------------------------------------------------*/ - -QDF_STATUS lim_update_admit_policy(tpAniSirGlobal pMac) -{ - uint32_t val; - - if (wlan_cfg_get_int(pMac, WNI_CFG_ADMIT_POLICY, &val) != QDF_STATUS_SUCCESS) { - pe_err("Unable to get CFG_ADMIT_POLICY"); - return QDF_STATUS_E_FAILURE; - } - pMac->lim.admitPolicyInfo.type = (uint8_t) val; - if (wlan_cfg_get_int(pMac, WNI_CFG_ADMIT_BWFACTOR, &val) != QDF_STATUS_SUCCESS) { - pe_err("Unable to get CFG_ADMIT_BWFACTOR"); - return QDF_STATUS_E_FAILURE; - } - pMac->lim.admitPolicyInfo.bw_factor = (uint8_t) val; - - pe_debug("LIM: AdmitPolicy: %d bw_factor: %d", - pMac->lim.admitPolicyInfo.type, - pMac->lim.admitPolicyInfo.bw_factor); - - return QDF_STATUS_SUCCESS; -} - /** ------------------------------------------------------------- \fn lim_send_hal_msg_add_ts \brief Send halMsg_AddTs to HAL diff --git a/core/mac/src/pe/lim/lim_process_assoc_req_frame.c b/core/mac/src/pe/lim/lim_process_assoc_req_frame.c index 5a653973dd48..030bc933c510 100644 --- a/core/mac/src/pe/lim/lim_process_assoc_req_frame.c +++ b/core/mac/src/pe/lim/lim_process_assoc_req_frame.c @@ -2303,7 +2303,7 @@ void lim_send_mlm_assoc_ind(tpAniSirGlobal mac_ctx, uint8_t sub_type; const uint8_t *wpsie = NULL; uint8_t maxidx, i; - uint32_t tmp; + bool wme_enable; /* Get a copy of the already parsed Assoc Request */ assoc_req = @@ -2434,17 +2434,9 @@ void lim_send_mlm_assoc_ind(tpAniSirGlobal mac_ctx, } if (assoc_req->wmeInfoPresent) { - if (wlan_cfg_get_int (mac_ctx, - (uint16_t) WNI_CFG_WME_ENABLED, &tmp) - != QDF_STATUS_SUCCESS) - pe_err("wlan_cfg_get_int failed for id: %d", - WNI_CFG_WME_ENABLED); - - /* check whether AP is enabled with WMM */ - if (tmp) - assoc_ind->WmmStaInfoPresent = 1; - else - assoc_ind->WmmStaInfoPresent = 0; + /* Set whether AP is enabled with WMM or not */ + wme_enable = mac_ctx->mlme_cfg->wmm_params.wme_enabled; + assoc_ind->WmmStaInfoPresent = wme_enable; /* * Note: we are not rejecting association here * because IOT will fail diff --git a/core/mac/src/pe/lim/lim_process_cfg_updates.c b/core/mac/src/pe/lim/lim_process_cfg_updates.c index b1b15946676b..a2e20c5d4a5c 100644 --- a/core/mac/src/pe/lim/lim_process_cfg_updates.c +++ b/core/mac/src/pe/lim/lim_process_cfg_updates.c @@ -297,6 +297,7 @@ void lim_apply_configuration(tpAniSirGlobal pMac, tpPESession psessionEntry) static void lim_update_config(tpAniSirGlobal pMac, tpPESession psessionEntry) { uint32_t val; + bool enabled; if (wlan_cfg_get_int(pMac, WNI_CFG_SHORT_PREAMBLE, &val) != QDF_STATUS_SUCCESS) pe_err("cfg get short preamble failed"); @@ -304,16 +305,12 @@ static void lim_update_config(tpAniSirGlobal pMac, tpPESession psessionEntry) /* In STA case this parameter is filled during the join request */ if (LIM_IS_AP_ROLE(psessionEntry) || - LIM_IS_IBSS_ROLE(psessionEntry)) { - if (wlan_cfg_get_int(pMac, WNI_CFG_WME_ENABLED, &val) != - QDF_STATUS_SUCCESS) - pe_err("cfg get wme enabled failed"); - psessionEntry->limWmeEnabled = (val) ? 1 : 0; + LIM_IS_IBSS_ROLE(psessionEntry)) { + enabled = pMac->mlme_cfg->wmm_params.wme_enabled; + psessionEntry->limWmeEnabled = (enabled) ? 1 : 0; } - - if (wlan_cfg_get_int(pMac, WNI_CFG_WSM_ENABLED, &val) != QDF_STATUS_SUCCESS) - pe_err("cfg get wsm enabled failed"); - psessionEntry->limWsmEnabled = (val) ? 1 : 0; + enabled = pMac->mlme_cfg->wmm_params.wsm_enabled; + psessionEntry->limWsmEnabled = (enabled) ? 1 : 0; if ((!psessionEntry->limWmeEnabled) && (psessionEntry->limWsmEnabled)) { pe_err("Can't enable WSM without WME"); @@ -321,10 +318,8 @@ static void lim_update_config(tpAniSirGlobal pMac, tpPESession psessionEntry) } /* In STA , this parameter is filled during the join request */ if (LIM_IS_AP_ROLE(psessionEntry) || LIM_IS_IBSS_ROLE(psessionEntry)) { - if (wlan_cfg_get_int(pMac, WNI_CFG_QOS_ENABLED, &val) != - QDF_STATUS_SUCCESS) - pe_err("cfg get qos enabled failed"); - psessionEntry->limQosEnabled = (val) ? 1 : 0; + enabled = pMac->mlme_cfg->wmm_params.qos_enabled; + psessionEntry->limQosEnabled = (enabled) ? 1 : 0; } psessionEntry->limHcfEnabled = pMac->mlme_cfg->feature_flags.enable_hcf; diff --git a/core/mac/src/pe/lim/lim_process_tdls.c b/core/mac/src/pe/lim/lim_process_tdls.c index c3f02c081b6e..11a58b2522e5 100644 --- a/core/mac/src/pe/lim/lim_process_tdls.c +++ b/core/mac/src/pe/lim/lim_process_tdls.c @@ -1125,6 +1125,8 @@ QDF_STATUS lim_send_tdls_link_setup_req_frame(tpAniSirGlobal pMac, QDF_STATUS qdf_status; uint32_t selfDot11Mode; uint8_t smeSessionId = 0; + uint8_t sp_length = 0; + /* Placeholder to support different channel bonding mode of TDLS than AP. */ /* Today, WNI_CFG_CHANNEL_BONDING_MODE will be overwritten when connecting to AP */ /* To support this feature, we need to introduce WNI_CFG_TDLS_CHANNEL_BONDING_MODE */ @@ -1169,9 +1171,9 @@ QDF_STATUS lim_send_tdls_link_setup_req_frame(tpAniSirGlobal pMac, &tdlsSetupReq.ExtCap); if (1 == pMac->lim.gLimTDLSWmmMode) { - uint32_t val = 0; pe_debug("populate WMM IE in Setup Request Frame"); + sp_length = pMac->mlme_cfg->wmm_params.max_sp_length; /* include WMM IE */ tdlsSetupReq.WMMInfoStation.version = SIR_MAC_OUI_VERSION_1; tdlsSetupReq.WMMInfoStation.acvo_uapsd = @@ -1182,12 +1184,7 @@ QDF_STATUS lim_send_tdls_link_setup_req_frame(tpAniSirGlobal pMac, ((pMac->lim.gLimTDLSUapsdMask & 0x04) >> 2); tdlsSetupReq.WMMInfoStation.acbe_uapsd = ((pMac->lim.gLimTDLSUapsdMask & 0x08) >> 3); - - if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_SP_LENGTH, &val) != - QDF_STATUS_SUCCESS) - pe_warn("could not retrieve Max SP Length"); - - tdlsSetupReq.WMMInfoStation.max_sp_length = (uint8_t) val; + tdlsSetupReq.WMMInfoStation.max_sp_length = sp_length; tdlsSetupReq.WMMInfoStation.present = 1; } else { /* @@ -1579,6 +1576,7 @@ static QDF_STATUS lim_send_tdls_setup_rsp_frame(tpAniSirGlobal pMac, void *pPacket; QDF_STATUS qdf_status; uint32_t selfDot11Mode; + uint8_t max_sp_length = 0; /* Placeholder to support different channel bonding mode of TDLS than AP. */ /* Today, WNI_CFG_CHANNEL_BONDING_MODE will be overwritten when connecting to AP */ /* To support this feature, we need to introduce WNI_CFG_TDLS_CHANNEL_BONDING_MODE */ @@ -1632,9 +1630,9 @@ static QDF_STATUS lim_send_tdls_setup_rsp_frame(tpAniSirGlobal pMac, &tdlsSetupRsp.ExtCap); if (1 == pMac->lim.gLimTDLSWmmMode) { - uint32_t val = 0; pe_debug("populate WMM IE in Setup Response frame"); + max_sp_length = pMac->mlme_cfg->wmm_params.max_sp_length; /* include WMM IE */ tdlsSetupRsp.WMMInfoStation.version = SIR_MAC_OUI_VERSION_1; tdlsSetupRsp.WMMInfoStation.acvo_uapsd = @@ -1645,10 +1643,7 @@ static QDF_STATUS lim_send_tdls_setup_rsp_frame(tpAniSirGlobal pMac, ((pMac->lim.gLimTDLSUapsdMask & 0x04) >> 2); tdlsSetupRsp.WMMInfoStation.acbe_uapsd = ((pMac->lim.gLimTDLSUapsdMask & 0x08) >> 3); - if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_SP_LENGTH, &val) != - QDF_STATUS_SUCCESS) - pe_warn("could not retrieve Max SP Length"); - tdlsSetupRsp.WMMInfoStation.max_sp_length = (uint8_t) val; + tdlsSetupRsp.WMMInfoStation.max_sp_length = max_sp_length; tdlsSetupRsp.WMMInfoStation.present = 1; } else { /* diff --git a/core/mac/src/pe/sch/sch_message.c b/core/mac/src/pe/sch/sch_message.c index 68dfc188702d..46c11287e896 100644 --- a/core/mac/src/pe/sch/sch_message.c +++ b/core/mac/src/pe/sch/sch_message.c @@ -107,8 +107,6 @@ static void sch_edca_profile_update_all(tpAniSirGlobal pmac) void sch_process_message(tpAniSirGlobal pMac, struct scheduler_msg *pSchMsg) { - tpPESession psessionEntry = &pMac->lim.gpSession[0]; - switch (pSchMsg->type) { case SIR_CFG_PARAM_UPDATE_IND: switch (pSchMsg->bodyval) { @@ -117,10 +115,6 @@ void sch_process_message(tpAniSirGlobal pMac, struct scheduler_msg *pSchMsg) sch_edca_profile_update_all(pMac); break; - case WNI_CFG_EDCA_PROFILE: - sch_edca_profile_update(pMac, psessionEntry); - break; - default: pe_err("Cfg param %d indication not handled", pSchMsg->bodyval); @@ -174,13 +168,9 @@ sch_get_params(tpAniSirGlobal pMac, val = WNI_CFG_EDCA_PROFILE_ETSI_EUROPE; pe_debug("switch to ETSI EUROPE profile country code %c%c", country_code_str[0], country_code_str[1]); - } else if (wlan_cfg_get_int(pMac, WNI_CFG_EDCA_PROFILE, &val) != - QDF_STATUS_SUCCESS) { - pe_err("failed to cfg get EDCA_PROFILE id %d", - WNI_CFG_EDCA_PROFILE); - return QDF_STATUS_E_FAILURE; + } else { + val = pMac->mlme_cfg->wmm_params.edca_profile; } - if (val >= WNI_CFG_EDCA_PROFILE_MAX) { pe_warn("Invalid EDCA_PROFILE %d, using %d instead", val, WNI_CFG_EDCA_PROFILE_ANI); diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index 67d73cc12a51..1bc496286515 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -1454,14 +1454,12 @@ void populate_dot11f_qos_caps_station(tpAniSirGlobal pMac, tpPESession pe_session, tDot11fIEQOSCapsStation *pDot11f) { - uint32_t val = 0; + uint8_t max_sp_length = 0; - if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_SP_LENGTH, &val) != - QDF_STATUS_SUCCESS) - pe_err("could not retrieve Max SP Length"); + max_sp_length = pMac->mlme_cfg->wmm_params.max_sp_length; pDot11f->more_data_ack = 0; - pDot11f->max_sp_length = (uint8_t) val; + pDot11f->max_sp_length = max_sp_length; pDot11f->qack = 0; if (pMac->lim.gUapsdEnable) { @@ -1944,8 +1942,9 @@ void populate_dot11f_wmm_info_station_per_session(tpAniSirGlobal pMac, tpPESession psessionEntry, tDot11fIEWMMInfoStation *pInfo) { - uint32_t val = 0; + uint8_t max_sp_length = 0; + max_sp_length = pMac->mlme_cfg->wmm_params.max_sp_length; pInfo->version = SIR_MAC_OUI_VERSION_1; pInfo->acvo_uapsd = LIM_UAPSD_GET(ACVO, psessionEntry->gUapsdPerAcBitmask); @@ -1956,11 +1955,7 @@ void populate_dot11f_wmm_info_station_per_session(tpAniSirGlobal pMac, pInfo->acbe_uapsd = LIM_UAPSD_GET(ACBE, psessionEntry->gUapsdPerAcBitmask); - if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_SP_LENGTH, &val) != - QDF_STATUS_SUCCESS) - pe_err("could not retrieve Max SP Length"); - - pInfo->max_sp_length = (uint8_t) val; + pInfo->max_sp_length = max_sp_length; pInfo->present = 1; } @@ -6038,8 +6033,7 @@ populate_dot11f_timing_advert_frame(tpAniSirGlobal mac_ctx, if (val) frame->Capabilities.spectrumMgt = 1; - wlan_cfg_get_int(mac_ctx, WNI_CFG_QOS_ENABLED, &val); - if (val) + if (mac_ctx->mlme_cfg->wmm_params.qos_enabled) frame->Capabilities.qos = 1; wlan_cfg_get_int(mac_ctx, WNI_CFG_APSD_ENABLED, &val); diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index fe1bb49d1adb..51f6a029d1af 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -2772,8 +2772,8 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac, pMac->roam.configParam.is_force_1x1 = pParam->is_force_1x1; pMac->roam.configParam.WMMSupportMode = pParam->WMMSupportMode; - cfg_set_int(pMac, WNI_CFG_WME_ENABLED, - (pParam->WMMSupportMode == eCsrRoamWmmNoQos) ? 0 : 1); + pMac->mlme_cfg->wmm_params.wme_enabled = + (pParam->WMMSupportMode == eCsrRoamWmmNoQos) ? 0 : 1; pMac->roam.configParam.Is11eSupportEnabled = pParam->Is11eSupportEnabled; pMac->roam.configParam.Is11dSupportEnabled = diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index d6e46da7ca69..1f3e40082bfe 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -2721,14 +2721,10 @@ QDF_STATUS wma_roam_scan_fill_self_caps(tp_wma_handle wma_handle, } if (val) selfCaps.spectrumMgt = 1; - if (wlan_cfg_get_int(pMac, WNI_CFG_QOS_ENABLED, &val) != - QDF_STATUS_SUCCESS) { - QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR, - "Failed to get WNI_CFG_QOS_ENABLED"); - return QDF_STATUS_E_FAILURE; - } - if (val) + + if (pMac->mlme_cfg->wmm_params.qos_enabled) selfCaps.qos = 1; + if (wlan_cfg_get_int(pMac, WNI_CFG_APSD_ENABLED, &val) != QDF_STATUS_SUCCESS) { QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR, @@ -2813,13 +2809,7 @@ QDF_STATUS wma_roam_scan_fill_self_caps(tp_wma_handle wma_handle, roam_offload_params->asel_cap = nCfgValue8 & 0xFF; /* QOS Info */ - if (wlan_cfg_get_int(pMac, WNI_CFG_MAX_SP_LENGTH, &nCfgValue) != - QDF_STATUS_SUCCESS) { - QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR, - "Failed to get WNI_CFG_MAX_SP_LENGTH"); - return QDF_STATUS_E_FAILURE; - } - nCfgValue8 = (uint8_t) nCfgValue; + nCfgValue8 = pMac->mlme_cfg->wmm_params.max_sp_length; macQosInfoSta.maxSpLen = nCfgValue8; macQosInfoSta.moreDataAck = 0; macQosInfoSta.qack = 0;