diff --git a/mlme/core/src/wlan_mlme_main.c b/mlme/core/src/wlan_mlme_main.c index 83c0653092..e29c309837 100644 --- a/mlme/core/src/wlan_mlme_main.c +++ b/mlme/core/src/wlan_mlme_main.c @@ -117,6 +117,33 @@ static void mlme_init_chainmask_cfg(struct wlan_objmgr_psoc *psoc, cfg_get(psoc, CFG_RX_CHAIN_MASK_5G); } +#ifdef WLAN_FEATURE_11W +static void mlme_init_pmf_cfg(struct wlan_objmgr_psoc *psoc, + struct wlan_mlme_generic *gen) +{ + gen->pmf_sa_query_max_retries = + cfg_get(psoc, CFG_PMF_SA_QUERY_MAX_RETRIES); + gen->pmf_sa_query_retry_interval = + cfg_get(psoc, CFG_PMF_SA_QUERY_RETRY_INTERVAL); +} +#else +static void mlme_init_pmf_cfg(struct wlan_objmgr_psoc *psoc, + struct wlan_mlme_generic *gen) +{ + gen->pmf_sa_query_max_retries = + cfg_default(CFG_PMF_SA_QUERY_MAX_RETRIES); + gen->pmf_sa_query_retry_interval = + cfg_default(CFG_PMF_SA_QUERY_RETRY_INTERVAL); +} +#endif /*WLAN_FEATURE_11W*/ + +static void mlme_init_generic_cfg(struct wlan_objmgr_psoc *psoc, + struct wlan_mlme_generic *gen) +{ + gen->rtt3_enabled = cfg_default(CFG_RTT3_ENABLE); + mlme_init_pmf_cfg(psoc, gen); +} + static void mlme_init_ht_cap_in_cfg(struct wlan_objmgr_psoc *psoc, struct wlan_mlme_ht_caps *ht_caps) { @@ -704,6 +731,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc) } mlme_cfg = &mlme_obj->cfg; + mlme_init_generic_cfg(psoc, &mlme_cfg->gen); mlme_init_ht_cap_in_cfg(psoc, &mlme_cfg->ht_caps); mlme_init_mbo_cfg(psoc, &mlme_cfg->mbo_cfg); mlme_init_qos_cfg(psoc, &mlme_cfg->qos_mlme_params); diff --git a/mlme/dispatcher/inc/cfg_mlme.h b/mlme/dispatcher/inc/cfg_mlme.h index 55689a7575..b1db68f517 100644 --- a/mlme/dispatcher/inc/cfg_mlme.h +++ b/mlme/dispatcher/inc/cfg_mlme.h @@ -24,6 +24,7 @@ #include "qdf_types.h" #include "cfg_mlme_chainmask.h" +#include "cfg_mlme_generic.h" #include "cfg_mlme_ht_caps.h" #include "cfg_mlme_he_caps.h" #include "cfg_mlme_lfr.h" @@ -41,6 +42,7 @@ /* Please Maintain Alphabetic Order here */ #define CFG_MLME_ALL \ CFG_CHAINMASK_ALL \ + CFG_GENERIC_ALL \ CFG_HT_CAPS_ALL \ CFG_HE_CAPS_ALL \ CFG_LFR_ALL \ diff --git a/mlme/dispatcher/inc/cfg_mlme_generic.h b/mlme/dispatcher/inc/cfg_mlme_generic.h new file mode 100644 index 0000000000..f5b26785e5 --- /dev/null +++ b/mlme/dispatcher/inc/cfg_mlme_generic.h @@ -0,0 +1,85 @@ +/* + * 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_GENERIC_H +#define __CFG_MLME_GENERIC_H + +#ifdef WLAN_FEATURE_11W +#define CFG_PMF_SA_QUERY_MAX_RETRIES_TYPE CFG_INI_UINT +#define CFG_PMF_SA_QUERY_RETRY_INTERVAL_TYPE CFG_INI_UINT +#else +#define CFG_PMF_SA_QUERY_MAX_RETRIES_TYPE CFG_UINT +#define CFG_PMF_SA_QUERY_RETRY_INTERVAL_TYPE CFG_UINT +#endif /*WLAN_FEATURE_11W*/ + +/* + * pmfSaQueryMaxRetries - Control PMF SA query retries for SAP + * @Min: 0 + * @Max: 20 + * @Default: 5 + * + * This ini to set the number of PMF SA query retries for SAP + * + * Related: None. + * + * Supported Feature: PMF(11W) + * + */ +#define CFG_PMF_SA_QUERY_MAX_RETRIES CFG_PMF_SA_QUERY_MAX_RETRIES_TYPE( \ + "pmfSaQueryMaxRetries", \ + 0, \ + 20, \ + 5, \ + CFG_VALUE_OR_DEFAULT, \ + "PMF SA query retries for SAP") +/* + * pmfSaQueryRetryInterval - Control PMF SA query retry interval + * for SAP in ms + * @Min: 10 + * @Max: 2000 + * @Default: 200 + * + * This ini to set the PMF SA query retry interval for SAP in ms + * + * Related: None. + * + * Supported Feature: PMF(11W) + * + */ +#define CFG_PMF_SA_QUERY_RETRY_INTERVAL CFG_PMF_SA_QUERY_RETRY_INTERVAL_TYPE( \ + "pmfSaQueryRetryInterval", \ + 10, \ + 2000, \ + 200, \ + CFG_VALUE_OR_DEFAULT, \ + "PMF SA query retry interval for SAP") + +#define CFG_RTT3_ENABLE CFG_BOOL( \ + "rtt3_enabled", \ + 1, \ + "RTT3 enable/disable info") + +#define CFG_GENERIC_ALL \ + CFG(CFG_PMF_SA_QUERY_MAX_RETRIES) \ + CFG(CFG_PMF_SA_QUERY_RETRY_INTERVAL) \ + CFG(CFG_RTT3_ENABLE) +#endif /* __CFG_MLME_GENERIC_H */ diff --git a/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/mlme/dispatcher/inc/wlan_mlme_public_struct.h index fe1b504a29..802bd7f6af 100644 --- a/mlme/dispatcher/inc/wlan_mlme_public_struct.h +++ b/mlme/dispatcher/inc/wlan_mlme_public_struct.h @@ -354,6 +354,19 @@ struct wlan_mlme_chainmask { uint8_t rx_chain_mask_5g; }; +/* struct wlan_mlme_generic - Generic CFG config items + * + * @rtt3_enabled: RTT3 enable or disable info + * @pmf_sa_query_max_retries: PMF query max retries for SAP + * @pmf_sa_query_retry_interval: PMF query retry interval for SAP + * + */ +struct wlan_mlme_generic { + bool rtt3_enabled; + uint8_t pmf_sa_query_max_retries; + uint16_t pmf_sa_query_retry_interval; +}; + /** * struct wlan_mlme_obss_ht40 - OBSS HT40 config items * @active_dwelltime: obss active dwelltime @@ -647,6 +660,7 @@ struct wlan_mlme_oce { * @scoring: BSS Scoring related CFG Items */ struct wlan_mlme_cfg { + struct wlan_mlme_generic gen; struct wlan_mlme_ht_caps ht_caps; struct wlan_mlme_he_caps he_caps; struct wlan_mlme_lfr_cfg lfr;