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:
parent
f48210cb66
commit
1be77fa6a9
@ -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);
|
||||
|
@ -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 \
|
||||
|
38
components/mlme/dispatcher/inc/cfg_mlme_dot11mode.h
Normal file
38
components/mlme/dispatcher/inc/cfg_mlme_dot11mode.h
Normal 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 */
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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",
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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));
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user