qcacld-3.0: Add MLME Generic CFG Items

Add multiple general INI Items to the MLME CFG Component.

Change-Id: I0d5368ec82c8b19e477e80c71dd8d4524a9726b4
CRs-Fixed: 2326704
This commit is contained in:
Vignesh Viswanathan 2018-10-03 23:33:35 +05:30 committed by nshrivas
parent bdcea00497
commit 7db3b04cd9
5 changed files with 472 additions and 14 deletions

View File

@ -139,11 +139,56 @@ static void mlme_init_pmf_cfg(struct wlan_objmgr_psoc *psoc,
}
#endif /*WLAN_FEATURE_11W*/
#ifdef WLAN_FEATURE_LPSS
static inline void
mlme_init_lpass_support_cfg(struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_generic *gen)
{
gen->lpass_support = cfg_get(psoc, CFG_ENABLE_LPASS_SUPPORT);
}
#else
static inline void
mlme_init_lpass_support_cfg(struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_generic *gen)
{
gen->lpass_support = cfg_default(CFG_ENABLE_LPASS_SUPPORT);
}
#endif
static void mlme_init_generic_cfg(struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_generic *gen)
{
gen->rtt3_enabled = cfg_default(CFG_RTT3_ENABLE);
gen->band_capability =
cfg_get(psoc, CFG_BAND_CAPABILITY);
gen->select_5ghz_margin =
cfg_get(psoc, CFG_SELECT_5GHZ_MARGIN);
gen->sub_20_chan_width =
cfg_get(psoc, CFG_SUB_20_CHANNEL_WIDTH);
gen->ito_repeat_count =
cfg_get(psoc, CFG_ITO_REPEAT_COUNT);
gen->dropped_pkt_disconnect_thresh =
cfg_get(psoc, CFG_DROPPED_PKT_DISCONNECT_THRESHOLD);
gen->prevent_link_down =
cfg_get(psoc, CFG_PREVENT_LINK_DOWN);
gen->memory_deep_sleep =
cfg_get(psoc, CFG_ENABLE_MEM_DEEP_SLEEP);
gen->cck_tx_fir_override =
cfg_get(psoc, CFG_ENABLE_CCK_TX_FIR_OVERRIDE);
gen->crash_inject =
cfg_get(psoc, CFG_ENABLE_CRASH_INJECT);
gen->self_recovery =
cfg_get(psoc, CFG_ENABLE_SELF_RECOVERY);
gen->sap_dot11mc =
cfg_get(psoc, CFG_SAP_DOT11MC);
gen->fatal_event_trigger =
cfg_get(psoc, CFG_ENABLE_FATAL_EVENT_TRIGGER);
gen->optimize_ca_event =
cfg_get(psoc, CFG_OPTIMIZE_CA_EVENT);
gen->fw_timeout_crash =
cfg_get(psoc, CFG_CRASH_FW_TIMEOUT);
mlme_init_pmf_cfg(psoc, gen);
mlme_init_lpass_support_cfg(psoc, gen);
}
static void mlme_init_edca_ani_cfg(struct wlan_mlme_edca_params *edca_params)

View File

@ -78,8 +78,389 @@
1, \
"RTT3 enable/disable info")
/*
* <ini>
* BandCapability - Preferred band (0: Both, 1: 2.4G only, 2: 5G only)
* @Min: 0
* @Max: 2
* @Default: 0
*
* This ini is used to set default band capability
* (0: Both, 1: 2.4G only, 2: 5G only)
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_BAND_CAPABILITY CFG_INI_UINT( \
"BandCapability", \
0, \
2, \
0, \
CFG_VALUE_OR_DEFAULT, \
"Band Capability")
/*
* <ini>
* gPreventLinkDown - Enable to prevent bus link from going down
* @Min: 0
* @Max: 1
* @Default: 0
*
* Enable to prevent bus link from going down. Useful for platforms that do not
* (yet) support link down suspend cases.
*
* Related: N/A
*
* Supported Feature: Suspend/Resume
*
* Usage: Internal
*
* </ini>
*/
#if defined(QCA_WIFI_NAPIER_EMULATION) || defined(QCA_WIFI_QCA6290)
#define CFG_PREVENT_LINK_DOWN CFG_INI_BOOL( \
"gPreventLinkDown", \
1, \
"Prevent Bus Link Down")
#else
#define CFG_PREVENT_LINK_DOWN CFG_INI_BOOL( \
"gPreventLinkDown", \
0, \
"Prevent Bus Link Down")
#endif /* QCA_WIFI_NAPIER_EMULATION */
/*
* <ini>
* gSelect5GHzMargin - Sets RSSI preference for 5GHz over 2.4GHz AP.
* @Min: 0
* @Max: 60
* @Default: 0
*
* Prefer connecting to 5G AP even if its RSSI is lower by gSelect5GHzMargin
* dBm than 2.4G AP. This feature requires the dependent cfg.ini
* "gRoamPrefer5GHz" set to 1
*
* Related: gRoamPrefer5GHz
*
* Supported Feature: Roaming
*
* Usage: External
*
* </ini>
*/
#define CFG_SELECT_5GHZ_MARGIN CFG_INI_UINT( \
"gSelect5GHzMargin", \
0, \
60, \
0, \
CFG_VALUE_OR_DEFAULT, \
"Select 5Ghz Margin")
/*
* <ini>
* gEnableMemDeepSleep - Sets Memory Deep Sleep on/off.
* @Min: 0
* @Max: 1
* @Default: 1
*
*
* Related: None
*
* Supported Feature: General
*
* Usage: External
*
* </ini>
*/
#define CFG_ENABLE_MEM_DEEP_SLEEP CFG_INI_BOOL( \
"gEnableMemDeepSleep", \
1, \
"Enable Memory Deep Sleep")
/*
* <ini>
*
* gEnableCckTxFirOverride - Enable/disable CCK TxFIR Override
* @Min: 0 (disabled)
* @Max: 1 (enabled)
* @Default: 0 (disabled)
*
* When operating in an 802.11b mode, this configuration item forces a 2x2 radio
* configuration into 1x for Tx and 2x for Rx (ie 1x2) for regulatory compliance
* reasons.
*
* Related: enable2x2
*
* Supported Feature: 802.11b, 2x2
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_ENABLE_CCK_TX_FIR_OVERRIDE CFG_INI_BOOL( \
"gEnableCckTxFirOverride", \
0, \
"Enable CCK TX FIR Override")
/*
* <ini>
*
* gEnableForceTargetAssert - Enable/disable SSR
* @Min: 0 (disabled)
* @Max: 1 (enabled)
* @Default: 0 (disabled)
*
* This INI item is used to control subsystem restart(SSR) test framework
* Set it's value to 1 to enable APPS trigerred SSR testing
*
* Related: None
*
* Supported Feature: General
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_ENABLE_CRASH_INJECT CFG_INI_BOOL( \
"gEnableForceTargetAssert", \
0, \
"Enable Crash Inject")
/*
* <ini>
*
* gEnableLpassSupport - Enable/disable LPASS Support
* @Min: 0 (disabled)
* @Max: 1 (enabled)
* @Default: 0 (disabled)
*
* Related: None
*
* Supported Feature: General
*
* Usage: Internal/External
*
* </ini>
*/
#ifdef WLAN_FEATURE_LPSS
#define CFG_ENABLE_LPASS_SUPPORT CFG_INI_BOOL( \
"gEnableLpassSupport", \
0, \
"Enable LPASS Support")
#else
#define CFG_ENABLE_LPASS_SUPPORT CFG_BOOL( \
"gEnableLpassSupport", \
0, \
"Enable LPASS Support")
#endif
/*
* <ini>
*
* gEnableSelfRecovery - Enable/disable Self Recovery
* @Min: 0 (disabled)
* @Max: 1 (enabled)
* @Default: 0 (disabled)
*
* Related: None
*
* Supported Feature: General
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_ENABLE_SELF_RECOVERY CFG_INI_BOOL( \
"gEnableSelfRecovery", \
0, \
"Enable Self Recovery")
/*
* <ini>
*
* gSapDot11mc - Enable/disable SAP 802.11mc support
* @Min: 0 (disabled)
* @Max: 1 (enabled)
* @Default: 0 (disabled)
*
* Related: None
*
* Supported Feature: General
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_SAP_DOT11MC CFG_INI_BOOL( \
"gSapDot11mc", \
0, \
"SAP 802.11mc support")
/*
* <ini>
*
* gEnableFatalEvent - Enable/Disable BUG report in case of fatal event
* @Min: 0 (disabled)
* @Max: 1 (enabled)
* @Default: 1 (enabled)
*
* Related: None
*
* Supported Feature: General
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_ENABLE_FATAL_EVENT_TRIGGER CFG_INI_BOOL( \
"gEnableFatalEvent", \
1, \
"Enable Fatal Event Trigger")
/*
* <ini>
* gSub20ChannelWidth - Control sub 20 channel width (5/10 Mhz)
* @Min: 0
* @Max: 2
* @Default: 0
*
* This ini is used to set the sub 20 channel width.
* gSub20ChannelWidth=0: indicates do not use Sub 20 MHz bandwidth
* gSub20ChannelWidth=1: Bring up SAP/STA in 5 MHz bandwidth
* gSub20ChannelWidth=2: Bring up SAP/STA in 10 MHz bandwidth
*
* Related: None
*
* Supported Feature: 5/10 Mhz channel width support
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_SUB_20_CHANNEL_WIDTH CFG_INI_UINT( \
"gSub20ChannelWidth", \
0, \
2, \
0, \
CFG_VALUE_OR_DEFAULT, \
"Sub 20 Channel Width")
/*
* <ini>
* goptimize_chan_avoid_event - Optimize channel avoidance indication
* coming from firmware
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: None
*
* Supported Feature: General
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_OPTIMIZE_CA_EVENT CFG_INI_BOOL( \
"goptimize_chan_avoid_event", \
0, \
"Optimize FW CA Event")
/*
* <ini>
* fw_timeout_crash - Enable/Disable BUG ON
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to Trigger host crash when firmware fails to send the
* response to host
* fw_timeout_crash = 0 Disabled
* fw_timeout_crash = 1 Trigger host crash
*
* Related: None
*
* Supported Feature: SSR
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_CRASH_FW_TIMEOUT CFG_INI_BOOL( \
"fw_timeout_crash", \
1, \
"Enable FW Timeout Crash")
/*
* <ini>
* gDroppedPktDisconnectTh - Sets dropped packet threshold in firmware
* @Min: 0
* @Max: 512
* @Default: 512
*
* This INI is the packet drop threshold will trigger disconnect from remote
* peer.
*
* Related: None
*
* Supported Feature: connection
*
* Usage: External
*
* </ini>
*/
#define CFG_DROPPED_PKT_DISCONNECT_THRESHOLD CFG_INI_UINT( \
"gDroppedPktDisconnectTh", \
0, \
65535, \
512, \
CFG_VALUE_OR_DEFAULT, \
"Dropped Pkt Disconnect threshold")
/*
* <ini>
* gItoRepeatCount - sets ito repeated count
* @Min: 0
* @Max: 5
* @Default: 0
*
* This ini sets the ito count in FW
*
* Usage: External
*
* </ini>
*/
#define CFG_ITO_REPEAT_COUNT CFG_INI_UINT( \
"gItoRepeatCount", \
0, \
5, \
0, \
CFG_VALUE_OR_DEFAULT, \
"ITO Repeat Count")
#define CFG_GENERIC_ALL \
CFG(CFG_PMF_SA_QUERY_MAX_RETRIES) \
CFG(CFG_PMF_SA_QUERY_RETRY_INTERVAL) \
CFG(CFG_RTT3_ENABLE)
CFG(CFG_RTT3_ENABLE) \
CFG(CFG_BAND_CAPABILITY) \
CFG(CFG_PREVENT_LINK_DOWN) \
CFG(CFG_SELECT_5GHZ_MARGIN) \
CFG(CFG_ENABLE_MEM_DEEP_SLEEP) \
CFG(CFG_ENABLE_CCK_TX_FIR_OVERRIDE) \
CFG(CFG_ENABLE_CRASH_INJECT) \
CFG(CFG_ENABLE_LPASS_SUPPORT) \
CFG(CFG_ENABLE_SELF_RECOVERY) \
CFG(CFG_SAP_DOT11MC) \
CFG(CFG_ENABLE_FATAL_EVENT_TRIGGER) \
CFG(CFG_SUB_20_CHANNEL_WIDTH) \
CFG(CFG_OPTIMIZE_CA_EVENT) \
CFG(CFG_CRASH_FW_TIMEOUT) \
CFG(CFG_DROPPED_PKT_DISCONNECT_THRESHOLD) \
CFG(CFG_ITO_REPEAT_COUNT)
#endif /* __CFG_MLME_GENERIC_H */

View File

@ -24,6 +24,7 @@
#define _WLAN_MLME_STRUCT_H_
#include <wlan_cmn.h>
#include <reg_services_public_struct.h>
#define CFG_PMKID_MODES_OKC (0x1)
#define CFG_PMKID_MODES_PMKSA_CACHING (0x2)
@ -608,15 +609,46 @@ struct wlan_mlme_chainmask {
/* struct wlan_mlme_generic - Generic CFG config items
*
* @rtt3_enabled: RTT3 enable or disable info
* @band_capability: HW Band Capability - Both or 2.4G only or 5G only
* @band: Current Band - Internal variable, initialized to INI and updated later
* @select_5ghz_margin: RSSI margin to select 5Ghz over 2.4 Ghz
* @sub_20_chan_width: Sub 20Mhz Channel Width
* @ito_repeat_count: ITO Repeat Count
* @pmf_sa_query_max_retries: PMF query max retries for SAP
* @pmf_sa_query_retry_interval: PMF query retry interval for SAP
*
* @dropped_pkt_disconnect_thresh: Threshold for dropped pkts before disconnect
* @rtt3_enabled: RTT3 enable or disable info
* @prevent_link_down: Enable/Disable prevention of link down
* @memory_deep_sleep: Enable/Disable memory deep sleep
* @cck_tx_fir_override: Enable/Disable CCK Tx FIR Override
* @crash_inject: Enable/Disable Crash Inject
* @lpass_support: Enable/Disable LPASS Support
* @self_recovery: Enable/Disable Self Recovery
* @sap_dot11mc: Enable/Disable SAP 802.11mc support
* @fatal_event_trigger: Enable/Disable Fatal Events Trigger
* @optimize_ca_event: Enable/Disable Optimization of CA events
* @fw_timeout_crash: Enable/Disable FW Timeout Crash *
*/
struct wlan_mlme_generic {
bool rtt3_enabled;
enum band_info band_capability;
enum band_info band;
uint8_t select_5ghz_margin;
uint8_t sub_20_chan_width;
uint8_t ito_repeat_count;
uint8_t pmf_sa_query_max_retries;
uint16_t pmf_sa_query_retry_interval;
uint16_t dropped_pkt_disconnect_thresh;
bool rtt3_enabled;
bool prevent_link_down;
bool memory_deep_sleep;
bool cck_tx_fir_override;
bool crash_inject;
bool lpass_support;
bool self_recovery;
bool sap_dot11mc;
bool fatal_event_trigger;
bool optimize_ca_event;
bool fw_timeout_crash;
};
/*

View File

@ -4800,7 +4800,7 @@ enum hdd_link_speed_rpt_type {
* This INI item is used to control subsystem restart(SSR) test framework
* Set it's value to 1 to enable APPS trigerred SSR testing
*/
#define CFG_ENABLE_CRASH_INJECT "gEnableForceTargetAssert"
#define CFG_ENABLE_CRASH_INJECT_NAME "gEnableForceTargetAssert"
#define CFG_ENABLE_CRASH_INJECT_MIN (0)
#define CFG_ENABLE_CRASH_INJECT_MAX (1)
#define CFG_ENABLE_CRASH_INJECT_DEFAULT (0)
@ -5873,13 +5873,13 @@ enum hdd_link_speed_rpt_type {
#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
#ifdef WLAN_FEATURE_LPSS
#define CFG_ENABLE_LPASS_SUPPORT "gEnableLpassSupport"
#define CFG_ENABLE_LPASS_SUPPORT_NAME "gEnableLpassSupport"
#define CFG_ENABLE_LPASS_SUPPORT_DEFAULT (0)
#define CFG_ENABLE_LPASS_SUPPORT_MIN (0)
#define CFG_ENABLE_LPASS_SUPPORT_MAX (1)
#endif
#define CFG_ENABLE_SELF_RECOVERY "gEnableSelfRecovery"
#define CFG_ENABLE_SELF_RECOVERY_NAME "gEnableSelfRecovery"
#define CFG_ENABLE_SELF_RECOVERY_MIN (0)
#define CFG_ENABLE_SELF_RECOVERY_MAX (1)
#define CFG_ENABLE_SELF_RECOVERY_DEFAULT (0)
@ -6086,7 +6086,7 @@ enum hdd_link_speed_rpt_type {
#define CFG_GO_11AC_OVERRIDE_MAX (1)
#define CFG_GO_11AC_OVERRIDE_DEFAULT (1)
#define CFG_SAP_DOT11MC "gSapDot11mc"
#define CFG_SAP_DOT11MC_NAME "gSapDot11mc"
#define CFG_SAP_DOT11MC_MIN (0)
#define CFG_SAP_DOT11MC_MAX (1)
#define CFG_SAP_DOT11MC_DEFAULT (0)
@ -6551,7 +6551,7 @@ enum hdd_link_speed_rpt_type {
* Enable/Disable to initiate BUG report in case of fatal event
* Default: Enable
*/
#define CFG_ENABLE_FATAL_EVENT_TRIGGER "gEnableFatalEvent"
#define CFG_ENABLE_FATAL_EVENT_TRIGGER_NAME "gEnableFatalEvent"
#define CFG_ENABLE_FATAL_EVENT_TRIGGER_MIN (0)
#define CFG_ENABLE_FATAL_EVENT_TRIGGER_MAX (1)
#define CFG_ENABLE_FATAL_EVENT_TRIGGER_DEFAULT (1)

View File

@ -2362,7 +2362,7 @@ struct reg_table_entry g_registry_table[] = {
CFG_MAX_CONCURRENT_CONNECTIONS_MIN,
CFG_MAX_CONCURRENT_CONNECTIONS_MAX),
REG_VARIABLE(CFG_ENABLE_CRASH_INJECT, WLAN_PARAM_Integer,
REG_VARIABLE(CFG_ENABLE_CRASH_INJECT_NAME, WLAN_PARAM_Integer,
struct hdd_config, crash_inject_enabled,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_CRASH_INJECT_DEFAULT,
@ -2435,7 +2435,7 @@ struct reg_table_entry g_registry_table[] = {
#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
#ifdef WLAN_FEATURE_LPSS
REG_VARIABLE(CFG_ENABLE_LPASS_SUPPORT, WLAN_PARAM_Integer,
REG_VARIABLE(CFG_ENABLE_LPASS_SUPPORT_NAME, WLAN_PARAM_Integer,
struct hdd_config, enable_lpass_support,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_LPASS_SUPPORT_DEFAULT,
@ -2443,7 +2443,7 @@ struct reg_table_entry g_registry_table[] = {
CFG_ENABLE_LPASS_SUPPORT_MAX),
#endif
REG_VARIABLE(CFG_ENABLE_SELF_RECOVERY, WLAN_PARAM_Integer,
REG_VARIABLE(CFG_ENABLE_SELF_RECOVERY_NAME, WLAN_PARAM_Integer,
struct hdd_config, enableSelfRecovery,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_SELF_RECOVERY_DEFAULT,
@ -2552,7 +2552,7 @@ struct reg_table_entry g_registry_table[] = {
CFG_ENABLE_RAMDUMP_COLLECTION_MIN,
CFG_ENABLE_RAMDUMP_COLLECTION_MAX),
REG_VARIABLE(CFG_SAP_DOT11MC, WLAN_PARAM_Integer,
REG_VARIABLE(CFG_SAP_DOT11MC_NAME, WLAN_PARAM_Integer,
struct hdd_config, sap_dot11mc,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_SAP_DOT11MC_DEFAULT,
@ -2800,7 +2800,7 @@ struct reg_table_entry g_registry_table[] = {
CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_MIN,
CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_MAX),
REG_VARIABLE(CFG_ENABLE_FATAL_EVENT_TRIGGER, WLAN_PARAM_Integer,
REG_VARIABLE(CFG_ENABLE_FATAL_EVENT_TRIGGER_NAME, WLAN_PARAM_Integer,
struct hdd_config, enable_fatal_event,
VAR_FLAGS_OPTIONAL |
VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,