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 9045745b3d
commit 6e818c206e
4 changed files with 89 additions and 3 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;
};