qcacld-3.0: Add Dot11 mode related CFG items in mlme cfg

Add dot11mode related cfg items in mlme cfg, and replace
old WNI dot11 modes with new MLME DOT11 mode enums

Change-Id: I6e866959f440ae781432c8aaa724b229c0874856
CRs-Fixed: 2362540
This commit is contained in:
gaurank kathpalia 2019-01-04 13:32:09 +05:30 committed by nshrivas
parent f48210cb66
commit 1be77fa6a9
17 changed files with 112 additions and 39 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2018-2019 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
@ -2027,6 +2027,12 @@ static void mlme_init_reg_cfg(struct wlan_objmgr_psoc *psoc,
reg->scan_11d_interval = cfg_get(psoc, CFG_SCAN_11D_INTERVAL);
}
static void
mlme_init_dot11_mode_cfg(struct wlan_mlme_dot11_mode *dot11_mode)
{
dot11_mode->dot11_mode = cfg_default(CFG_DOT11_MODE);
}
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
{
struct wlan_mlme_psoc_obj *mlme_obj;
@ -2065,6 +2071,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
mlme_init_ibss_cfg(psoc, &mlme_cfg->ibss);
mlme_init_feature_flag_in_cfg(psoc, &mlme_cfg->feature_flags);
mlme_init_scoring_cfg(psoc, &mlme_cfg->scoring);
mlme_init_dot11_mode_cfg(&mlme_cfg->dot11_mode);
mlme_init_threshold_cfg(psoc, &mlme_cfg->threshold);
mlme_init_acs_cfg(psoc, &mlme_cfg->acs);
mlme_init_power_cfg(psoc, &mlme_cfg->power);

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2018-2019 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
@ -35,6 +35,7 @@
#include "cfg_mlme_obss_ht40.h"
#include "cfg_mlme_dfs.h"
#include "cfg_mlme_mbo.h"
#include "cfg_mlme_dot11mode.h"
#include "cfg_mlme_nss_chains.h"
#include "cfg_mlme_vht_caps.h"
#include "cfg_qos.h"
@ -66,6 +67,7 @@
CFG_BTM_ALL \
CFG_CHAINMASK_ALL \
CFG_DFS_ALL \
CFG_DOT11_MODE_ALL \
CFG_EDCA_PARAMS_ALL \
CFG_FE_RRM_ALL \
CFG_FE_WLM_ALL \

View File

@ -0,0 +1,38 @@
/*
* Copyright (c) 2012-2019 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_DOT11MODE_H
#define __CFG_MLME_DOT11MODE_H
#define CFG_DOT11_MODE CFG_UINT( \
"dot11_mode", \
0, \
10, \
0, \
CFG_VALUE_OR_DEFAULT, \
"dot 11 mode")
#define CFG_DOT11_MODE_ALL \
CFG(CFG_DOT11_MODE) \
#endif /* __CFG_MLME_DOT11MODE_H */

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2018-2019 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
@ -142,6 +142,43 @@ struct mlme_edca_ac_vo {
uint32_t vo_aifs;
};
/**
* enum dot11_mode - Dot11 mode of the vdev
* MLME_DOT11_MODE_ALL: vdev supports all dot11 modes
* MLME_DOT11_MODE_11A: vdev just supports 11A mode
* MLME_DOT11_MODE_11B: vdev supports 11B mode, and modes above it
* MLME_DOT11_MODE_11G: vdev supports 11G mode, and modes above it
* MLME_DOT11_MODE_11N: vdev supports 11N mode, and modes above it
* MLME_DOT11_MODE_11G_ONLY: vdev just supports 11G mode
* MLME_DOT11_MODE_1N_ONLYA: vdev just supports 11N mode
* MLME_DOT11_MODE_11AC: vdev supports 11AC mode, and modes above it
* MLME_DOT11_MODE_11AC_ONLY: vdev just supports 11AC mode
* MLME_DOT11_MODE_11AX: vdev supports 11AX mode, and modes above it
* MLME_DOT11_MODE_11AX_ONLY: vdev just supports 11AX mode
*/
enum mlme_dot11_mode {
MLME_DOT11_MODE_ALL,
MLME_DOT11_MODE_11A,
MLME_DOT11_MODE_11B,
MLME_DOT11_MODE_11G,
MLME_DOT11_MODE_11N,
MLME_DOT11_MODE_11G_ONLY,
MLME_DOT11_MODE_11N_ONLY,
MLME_DOT11_MODE_11AC,
MLME_DOT11_MODE_11AC_ONLY,
MLME_DOT11_MODE_11AX,
MLME_DOT11_MODE_11AX_ONLY
};
/**
* struct wlan_mlme_dot11_mode - dot11 mode
*
* @dot11_mode: dot11 mode supported
*/
struct wlan_mlme_dot11_mode {
enum mlme_dot11_mode dot11_mode;
};
/**
* struct mlme_edca_ac_vi - cwmin, cwmax and aifs value for edca_ac_vi
*
@ -1906,6 +1943,7 @@ struct wlan_mlme_ibss_cfg {
* @wlm_config: WLM related CFG items
* @rrm_config: RRM related CFG items
* @mwc: MWC related CFG items
* @dot11_mode: dot11 mode supported
* @reg: REG related CFG itmes
*/
struct wlan_mlme_cfg {
@ -1947,6 +1985,7 @@ struct wlan_mlme_cfg {
struct wlan_mlme_fe_wlm wlm_config;
struct wlan_mlme_fe_rrm rrm_config;
struct wlan_mlme_mwc mwc;
struct wlan_mlme_dot11_mode dot11_mode;
struct wlan_mlme_reg reg;
};

View File

@ -25,7 +25,6 @@
enum {
WNI_CFG_STA_ID,
WNI_CFG_DOT11_MODE,
WNI_CFG_VALID_CHANNEL_LIST,
WNI_CFG_APSD_ENABLED,
WNI_CFG_CURRENT_TX_POWER_LEVEL,

View File

@ -40,7 +40,6 @@ const char *cfg_get_string(uint16_t cfg_id)
default:
break;
CASE_RETURN_STRING(WNI_CFG_STA_ID);
CASE_RETURN_STRING(WNI_CFG_DOT11_MODE);
CASE_RETURN_STRING(WNI_CFG_VALID_CHANNEL_LIST);
CASE_RETURN_STRING(WNI_CFG_APSD_ENABLED);
CASE_RETURN_STRING(WNI_CFG_CURRENT_TX_POWER_LEVEL);

View File

@ -29,12 +29,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = {
{WNI_CFG_STA_ID,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_RELOAD,
0, 255, 1},
{WNI_CFG_DOT11_MODE,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | CFG_CTL_RESTART |
CFG_CTL_NTF_LIM,
WNI_CFG_DOT11_MODE_STAMIN,
WNI_CFG_DOT11_MODE_STAMAX,
WNI_CFG_DOT11_MODE_STADEF},
{WNI_CFG_VALID_CHANNEL_LIST,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_RESTART |
CFG_CTL_NTF_LIM,

View File

@ -2663,7 +2663,7 @@ QDF_STATUS lim_update_ext_cap_ie(struct mac_context *mac_ctx,
/* from here ext cap ie starts, set EID */
local_ie_buf[*local_ie_len] = DOT11F_EID_EXTCAP;
wlan_cfg_get_int(mac_ctx, WNI_CFG_DOT11_MODE, &dot11mode);
dot11mode = mac_ctx->mlme_cfg->dot11_mode.dot11_mode;
if (IS_DOT11_MODE_VHT(dot11mode))
vht_enabled = true;

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2011-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2011-2019 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
@ -1343,7 +1343,7 @@ QDF_STATUS lim_populate_vht_mcs_set(struct mac_context *mac_ctx,
uint16_t mcs_map_mask2x2 = 0;
struct mlme_vht_capabilities_info *vht_cap_info;
wlan_cfg_get_int(mac_ctx, WNI_CFG_DOT11_MODE, &self_sta_dot11mode);
self_sta_dot11mode = mac_ctx->mlme_cfg->dot11_mode.dot11_mode;
if (!IS_DOT11_MODE_VHT(self_sta_dot11mode))
return QDF_STATUS_SUCCESS;
@ -1495,7 +1495,7 @@ lim_populate_own_rate_set(struct mac_context *mac_ctx,
is_arate = 0;
wlan_cfg_get_int(mac_ctx, WNI_CFG_DOT11_MODE, &self_sta_dot11mode);
self_sta_dot11mode = mac_ctx->mlme_cfg->dot11_mode.dot11_mode;
lim_get_phy_mode(mac_ctx, &phy_mode, session_entry);
/*
@ -2728,7 +2728,7 @@ lim_add_sta_self(struct mac_context *mac, uint16_t staIdx, uint8_t updateSta,
* command.*/
uint32_t selfStaDot11Mode = 0, selfTxWidth = 0;
wlan_cfg_get_int(mac, WNI_CFG_DOT11_MODE, &selfStaDot11Mode);
selfStaDot11Mode = mac->mlme_cfg->dot11_mode.dot11_mode;
wlan_cfg_get_int(mac, WNI_CFG_HT_CAP_INFO_SUPPORTED_CHAN_WIDTH_SET,
&selfTxWidth);
pe_debug("cfgDot11Mode: %d selfTxWidth: %d",

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2019 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
@ -490,7 +490,7 @@ static void lim_fill_dot11mode(struct mac_context *mac_ctx,
ft_session->dot11mode =
pe_session->ftPEContext.pFTPreAuthReq->dot11mode;
} else {
wlan_cfg_get_int(mac_ctx, WNI_CFG_DOT11_MODE, &self_dot11_mode);
self_dot11_mode = mac_ctx->mlme_cfg->dot11_mode.dot11_mode;
pe_debug("selfDot11Mode: %d", self_dot11_mode);
ft_session->dot11mode = self_dot11_mode;
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2016-2019 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
@ -516,7 +516,7 @@ void lim_process_sta_mlm_add_bss_rsp_ft(struct mac_context *mac,
listenInterval = mac->mlme_cfg->sap_cfg.listen_interval;
pAddStaParams->listenInterval = (uint16_t) listenInterval;
wlan_cfg_get_int(mac, WNI_CFG_DOT11_MODE, &selfStaDot11Mode);
selfStaDot11Mode = mac->mlme_cfg->dot11_mode.dot11_mode;
pAddStaParams->encryptType = pe_session->encryptType;
pAddStaParams->maxTxPower = pe_session->maxTxPower;

View File

@ -182,9 +182,8 @@ static void mlm_add_sta(struct mac_context *mac_ctx, tpAddStaParams sta_param,
uint8_t *bssid, uint8_t ht_capable, struct pe_session *session_entry)
{
uint32_t val;
uint32_t self_dot11mode = 0;
uint32_t self_dot11mode = mac_ctx->mlme_cfg->dot11_mode.dot11_mode;
wlan_cfg_get_int(mac_ctx, WNI_CFG_DOT11_MODE, &self_dot11mode);
sta_param->staType = STA_ENTRY_SELF; /* Identifying self */
qdf_mem_copy(sta_param->bssId, bssid, sizeof(tSirMacAddr));

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2019 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
@ -861,7 +861,7 @@ static QDF_STATUS lim_send_tdls_dis_rsp_frame(struct mac_context *mac,
pe_session,
&tdlsDisRsp.ExtCap);
wlan_cfg_get_int(mac, WNI_CFG_DOT11_MODE, &selfDot11Mode);
selfDot11Mode = mac->mlme_cfg->dot11_mode.dot11_mode;
/* Populate HT/VHT Capabilities */
populate_dot11f_tdls_ht_vht_cap(mac, selfDot11Mode, &tdlsDisRsp.HTCaps,
@ -1222,7 +1222,7 @@ QDF_STATUS lim_send_tdls_link_setup_req_frame(struct mac_context *mac,
* of peer caps
*/
wlan_cfg_get_int(mac, WNI_CFG_DOT11_MODE, &selfDot11Mode);
selfDot11Mode = mac->mlme_cfg->dot11_mode.dot11_mode;
/* Populate HT/VHT Capabilities */
populate_dot11f_tdls_ht_vht_cap(mac, selfDot11Mode, &tdlsSetupReq.HTCaps,
@ -1673,7 +1673,7 @@ static QDF_STATUS lim_send_tdls_setup_rsp_frame(struct mac_context *mac,
(mac->lim.gLimTDLSUapsdMask & 0x01);
}
wlan_cfg_get_int(mac, WNI_CFG_DOT11_MODE, &selfDot11Mode);
selfDot11Mode = mac->mlme_cfg->dot11_mode.dot11_mode;
/* Populate HT/VHT Capabilities */
populate_dot11f_tdls_ht_vht_cap(mac, selfDot11Mode, &tdlsSetupRsp.HTCaps,

View File

@ -6041,7 +6041,7 @@ QDF_STATUS lim_send_ext_cap_ie(struct mac_context *mac_ctx,
struct scheduler_msg msg = {0};
QDF_STATUS status;
wlan_cfg_get_int(mac_ctx, WNI_CFG_DOT11_MODE, &dot11mode);
dot11mode = mac_ctx->mlme_cfg->dot11_mode.dot11_mode;
if (IS_DOT11_MODE_VHT(dot11mode))
vht_enabled = true;
@ -7511,9 +7511,7 @@ QDF_STATUS lim_populate_he_mcs_set(struct mac_context *mac_ctx,
struct pe_session *session_entry, uint8_t nss)
{
bool support_2x2 = false;
uint32_t self_sta_dot11mode = 0;
wlan_cfg_get_int(mac_ctx, WNI_CFG_DOT11_MODE, &self_sta_dot11mode);
uint32_t self_sta_dot11mode = mac_ctx->mlme_cfg->dot11_mode.dot11_mode;
if (!IS_DOT11_MODE_HE(self_sta_dot11mode))
return QDF_STATUS_SUCCESS;

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2019 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
@ -1551,7 +1551,7 @@ populate_dot11f_rates_tdls(struct mac_context *p_mac,
uint32_t self_dot11mode = 0;
qdf_size_t num_rates;
wlan_cfg_get_int(p_mac, WNI_CFG_DOT11_MODE, &self_dot11mode);
self_dot11mode = p_mac->mlme_cfg->dot11_mode.dot11_mode;
/**
* Include 11b rates only when the device configured in

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2019 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
@ -1296,11 +1296,9 @@ QDF_STATUS csr_ready(struct mac_context *mac)
void csr_set_default_dot11_mode(struct mac_context *mac)
{
uint32_t wniDot11mode = 0;
wniDot11mode = csr_translate_to_wni_cfg_dot11_mode(mac,
mac->roam.configParam.uCfgDot11Mode);
cfg_set_int(mac, WNI_CFG_DOT11_MODE, wniDot11mode);
mac->mlme_cfg->dot11_mode.dot11_mode =
csr_translate_to_wni_cfg_dot11_mode(mac,
mac->roam.configParam.uCfgDot11Mode);
}
void csr_set_global_cfgs(struct mac_context *mac)

View File

@ -3126,7 +3126,7 @@ static void wma_get_phy_mode_cb(uint8_t chan, uint32_t chan_width,
return;
}
wlan_cfg_get_int(mac, WNI_CFG_DOT11_MODE, &dot11_mode);
dot11_mode = mac->mlme_cfg->dot11_mode.dot11_mode;
*phy_mode = wma_chan_phy_mode(chan, chan_width, dot11_mode);
}