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:
gaurank kathpalia
2018-09-10 10:05:25 +05:30
committed by nshrivas
parent 93b3235b38
commit e5a17e4acb
19 changed files with 172 additions and 146 deletions

View File

@@ -39,11 +39,13 @@
#include "cfg_mlme_sap.h"
#include "cfg_mlme_scoring.h"
#include "cfg_mlme_oce.h"
#include "cfg_mlme_feature_flag.h"
/* Please Maintain Alphabetic Order here */
#define CFG_MLME_ALL \
CFG_CHAINMASK_ALL \
CFG_EDCA_PARAMS_ALL \
CFG_FEATURE_FLAG_ALL \
CFG_GENERIC_ALL \
CFG_HT_CAPS_ALL \
CFG_HE_CAPS_ALL \
@@ -57,6 +59,6 @@
CFG_SAP_PROTECTION_ALL \
CFG_SCORING_ALL \
CFG_STA_ALL \
CFG_VHT_CAPS_ALL
CFG_VHT_CAPS_ALL \
#endif /* __CFG_MLME_H */

View 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 */

View File

@@ -453,6 +453,28 @@ struct wlan_mlme_rates {
#define MLME_PROTECTION_ENABLED_OLBC_RIFS 14
#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
*
@@ -798,6 +820,7 @@ struct wlan_mlme_oce {
* @sap_protection_cfg: SAP erp protection related CFG items
* @sta: sta CFG Items
* @scoring: BSS Scoring related CFG Items
* @feature_flags: Feature flag config items
*/
struct wlan_mlme_cfg {
struct wlan_mlme_edca_params edca_params;
@@ -816,6 +839,7 @@ struct wlan_mlme_cfg {
struct wlan_mlme_sta_cfg sta;
struct wlan_mlme_scoring_cfg scoring;
struct wlan_mlme_oce oce;
struct wlan_mlme_feature_flag feature_flags;
};
#endif