qcacld-3.0: Add MLME-CFG items for feature flags
Add these cfg mlme items for feature flags:- 1. ACCEPT_SHORT_SLOT_ASSOC_ONLY 2. HCF_ENABLED 3. RSN_ENABLED 4. 11G_SHORT_PREAMBLE_ENABLED 5. 11G_SHORT_SLOT_TIME_ENABLED 6. CHANNEL_BONDING_MODE 7. CFG_BLOCK_ACK_ENABLED Change-Id: Id55299ece0169d40608df8508fbd768bb8aed741 CRs-Fixed: 2315584
This commit is contained in:

committed by
nshrivas

parent
1dc31cf88d
commit
b30be33530
@@ -392,6 +392,24 @@ static void mlme_init_rates_in_cfg(struct wlan_objmgr_psoc *psoc,
|
|||||||
CFG_INI_DISABLE_HIGH_HT_RX_MCS_2x2);
|
CFG_INI_DISABLE_HIGH_HT_RX_MCS_2x2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mlme_init_feature_flag_in_cfg(
|
||||||
|
struct wlan_objmgr_psoc *psoc,
|
||||||
|
struct wlan_mlme_feature_flag *feature_flags)
|
||||||
|
{
|
||||||
|
feature_flags->accept_short_slot_assoc =
|
||||||
|
cfg_default(CFG_ACCEPT_SHORT_SLOT_ASSOC_ONLY);
|
||||||
|
feature_flags->enable_hcf = cfg_default(CFG_HCF_ENABLED);
|
||||||
|
feature_flags->enable_rsn = cfg_default(CFG_RSN_ENABLED);
|
||||||
|
feature_flags->enable_short_preamble_11g =
|
||||||
|
cfg_default(CFG_11G_SHORT_PREAMBLE_ENABLED);
|
||||||
|
feature_flags->enable_short_slot_time_11g =
|
||||||
|
cfg_default(CFG_11G_SHORT_SLOT_TIME_ENABLED);
|
||||||
|
feature_flags->channel_bonding_mode =
|
||||||
|
cfg_default(CFG_CHANNEL_BONDING_MODE);
|
||||||
|
feature_flags->enable_block_ack = cfg_default(CFG_BLOCK_ACK_ENABLED);
|
||||||
|
feature_flags->enable_ampdu = cfg_get(psoc, CFG_ENABLE_AMPDUPS);
|
||||||
|
}
|
||||||
|
|
||||||
static void mlme_init_sap_protection_cfg(struct wlan_objmgr_psoc *psoc,
|
static void mlme_init_sap_protection_cfg(struct wlan_objmgr_psoc *psoc,
|
||||||
struct wlan_mlme_sap_protection
|
struct wlan_mlme_sap_protection
|
||||||
*sap_protection_params)
|
*sap_protection_params)
|
||||||
@@ -916,6 +934,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
|||||||
mlme_init_obss_ht40_cfg(psoc, &mlme_cfg->obss_ht40);
|
mlme_init_obss_ht40_cfg(psoc, &mlme_cfg->obss_ht40);
|
||||||
mlme_init_sta_cfg(psoc, &mlme_cfg->sta);
|
mlme_init_sta_cfg(psoc, &mlme_cfg->sta);
|
||||||
mlme_init_lfr_cfg(psoc, &mlme_cfg->lfr);
|
mlme_init_lfr_cfg(psoc, &mlme_cfg->lfr);
|
||||||
|
mlme_init_feature_flag_in_cfg(psoc, &mlme_cfg->feature_flags);
|
||||||
mlme_init_scoring_cfg(psoc, &mlme_cfg->scoring);
|
mlme_init_scoring_cfg(psoc, &mlme_cfg->scoring);
|
||||||
mlme_init_oce_cfg(psoc, &mlme_cfg->oce);
|
mlme_init_oce_cfg(psoc, &mlme_cfg->oce);
|
||||||
|
|
||||||
|
@@ -39,11 +39,13 @@
|
|||||||
#include "cfg_mlme_sap.h"
|
#include "cfg_mlme_sap.h"
|
||||||
#include "cfg_mlme_scoring.h"
|
#include "cfg_mlme_scoring.h"
|
||||||
#include "cfg_mlme_oce.h"
|
#include "cfg_mlme_oce.h"
|
||||||
|
#include "cfg_mlme_feature_flag.h"
|
||||||
|
|
||||||
/* Please Maintain Alphabetic Order here */
|
/* Please Maintain Alphabetic Order here */
|
||||||
#define CFG_MLME_ALL \
|
#define CFG_MLME_ALL \
|
||||||
CFG_CHAINMASK_ALL \
|
CFG_CHAINMASK_ALL \
|
||||||
CFG_EDCA_PARAMS_ALL \
|
CFG_EDCA_PARAMS_ALL \
|
||||||
|
CFG_FEATURE_FLAG_ALL \
|
||||||
CFG_GENERIC_ALL \
|
CFG_GENERIC_ALL \
|
||||||
CFG_HT_CAPS_ALL \
|
CFG_HT_CAPS_ALL \
|
||||||
CFG_HE_CAPS_ALL \
|
CFG_HE_CAPS_ALL \
|
||||||
@@ -57,6 +59,6 @@
|
|||||||
CFG_SAP_PROTECTION_ALL \
|
CFG_SAP_PROTECTION_ALL \
|
||||||
CFG_SCORING_ALL \
|
CFG_SCORING_ALL \
|
||||||
CFG_STA_ALL \
|
CFG_STA_ALL \
|
||||||
CFG_VHT_CAPS_ALL
|
CFG_VHT_CAPS_ALL \
|
||||||
|
|
||||||
#endif /* __CFG_MLME_H */
|
#endif /* __CFG_MLME_H */
|
||||||
|
100
mlme/dispatcher/inc/cfg_mlme_feature_flag.h
Normal file
100
mlme/dispatcher/inc/cfg_mlme_feature_flag.h
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
/*
|
||||||
|
* 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_FEATURE_FLAG_H
|
||||||
|
#define __CFG_MLME_FEATURE_FLAG_H
|
||||||
|
|
||||||
|
#define CFG_ACCEPT_SHORT_SLOT_ASSOC_ONLY CFG_BOOL( \
|
||||||
|
"accept_short_slot_assoc", \
|
||||||
|
0, \
|
||||||
|
"Accept short slot assoc only")
|
||||||
|
|
||||||
|
#define CFG_HCF_ENABLED CFG_BOOL( \
|
||||||
|
"enable_hcf", \
|
||||||
|
0, \
|
||||||
|
"HCF enabled")
|
||||||
|
|
||||||
|
#define CFG_RSN_ENABLED CFG_BOOL( \
|
||||||
|
"enable_rsn", \
|
||||||
|
0, \
|
||||||
|
"RSN enabled")
|
||||||
|
|
||||||
|
#define CFG_11G_SHORT_PREAMBLE_ENABLED CFG_BOOL( \
|
||||||
|
"enable_short_preamble_11g", \
|
||||||
|
0, \
|
||||||
|
"Short Preamble Enable")
|
||||||
|
|
||||||
|
#define CFG_11G_SHORT_SLOT_TIME_ENABLED CFG_BOOL( \
|
||||||
|
"enable_short_slot_time_11g", \
|
||||||
|
1, \
|
||||||
|
"Short Slot time enable")
|
||||||
|
|
||||||
|
#define CFG_CHANNEL_BONDING_MODE CFG_UINT( \
|
||||||
|
"channel_bonding_mode", \
|
||||||
|
0, \
|
||||||
|
10, \
|
||||||
|
0, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"channel bonding mode")
|
||||||
|
|
||||||
|
#define CFG_BLOCK_ACK_ENABLED CFG_UINT( \
|
||||||
|
"enable_block_ack", \
|
||||||
|
0, \
|
||||||
|
3, \
|
||||||
|
0, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"enable block Ack")
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gEnableAMPDUPS - Enable the AMPDUPS
|
||||||
|
* @Min: 0
|
||||||
|
* @Max: 1
|
||||||
|
* @Default: 0
|
||||||
|
*
|
||||||
|
* This ini is used to set default AMPDUPS
|
||||||
|
*
|
||||||
|
* Related: None
|
||||||
|
*
|
||||||
|
* Supported Feature: STA
|
||||||
|
*
|
||||||
|
* Usage: Internal/External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CFG_ENABLE_AMPDUPS CFG_INI_BOOL( \
|
||||||
|
"gEnableAMPDUPS", \
|
||||||
|
0, \
|
||||||
|
"Enable AMPDU")
|
||||||
|
|
||||||
|
#define CFG_FEATURE_FLAG_ALL \
|
||||||
|
CFG(CFG_ACCEPT_SHORT_SLOT_ASSOC_ONLY) \
|
||||||
|
CFG(CFG_HCF_ENABLED) \
|
||||||
|
CFG(CFG_RSN_ENABLED) \
|
||||||
|
CFG(CFG_11G_SHORT_PREAMBLE_ENABLED) \
|
||||||
|
CFG(CFG_11G_SHORT_SLOT_TIME_ENABLED) \
|
||||||
|
CFG(CFG_CHANNEL_BONDING_MODE) \
|
||||||
|
CFG(CFG_BLOCK_ACK_ENABLED) \
|
||||||
|
CFG(CFG_ENABLE_AMPDUPS)
|
||||||
|
|
||||||
|
#endif /* __CFG_MLME_FEATURE_FLAG_H */
|
||||||
|
|
@@ -453,6 +453,28 @@ struct wlan_mlme_rates {
|
|||||||
#define MLME_PROTECTION_ENABLED_OLBC_RIFS 14
|
#define MLME_PROTECTION_ENABLED_OLBC_RIFS 14
|
||||||
#define MLME_PROTECTION_ENABLED_OLBC_OBSS 15
|
#define MLME_PROTECTION_ENABLED_OLBC_OBSS 15
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct wlan_mlme_feature_flag - feature related information
|
||||||
|
* @accept_short_slot_assoc: enable short sloc feature
|
||||||
|
* @enable_hcf: enable HCF feature
|
||||||
|
* @enable_rsn: enable RSN for connection
|
||||||
|
* @enable_short_preamble_11g: enable short preamble for 11g
|
||||||
|
* @channel_bonding_mode: channel bonding mode
|
||||||
|
* @enable_block_ack: enable block ack feature
|
||||||
|
* @enable_ampdu: Enable AMPDU feature
|
||||||
|
*/
|
||||||
|
|
||||||
|
struct wlan_mlme_feature_flag {
|
||||||
|
bool accept_short_slot_assoc;
|
||||||
|
bool enable_hcf;
|
||||||
|
bool enable_rsn;
|
||||||
|
bool enable_short_preamble_11g;
|
||||||
|
bool enable_short_slot_time_11g;
|
||||||
|
uint32_t channel_bonding_mode;
|
||||||
|
uint32_t enable_block_ack;
|
||||||
|
bool enable_ampdu;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* struct wlan_mlme_sap_protection_cfg - SAP erp protection config items
|
* struct wlan_mlme_sap_protection_cfg - SAP erp protection config items
|
||||||
*
|
*
|
||||||
@@ -798,6 +820,7 @@ struct wlan_mlme_oce {
|
|||||||
* @sap_protection_cfg: SAP erp protection related CFG items
|
* @sap_protection_cfg: SAP erp protection related CFG items
|
||||||
* @sta: sta CFG Items
|
* @sta: sta CFG Items
|
||||||
* @scoring: BSS Scoring related CFG Items
|
* @scoring: BSS Scoring related CFG Items
|
||||||
|
* @feature_flags: Feature flag config items
|
||||||
*/
|
*/
|
||||||
struct wlan_mlme_cfg {
|
struct wlan_mlme_cfg {
|
||||||
struct wlan_mlme_edca_params edca_params;
|
struct wlan_mlme_edca_params edca_params;
|
||||||
@@ -816,6 +839,7 @@ struct wlan_mlme_cfg {
|
|||||||
struct wlan_mlme_sta_cfg sta;
|
struct wlan_mlme_sta_cfg sta;
|
||||||
struct wlan_mlme_scoring_cfg scoring;
|
struct wlan_mlme_scoring_cfg scoring;
|
||||||
struct wlan_mlme_oce oce;
|
struct wlan_mlme_oce oce;
|
||||||
|
struct wlan_mlme_feature_flag feature_flags;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user