diff --git a/components/cfg/cfg_all.h b/components/cfg/cfg_all.h
index 12f5c4532c..ce55aaa088 100644
--- a/components/cfg/cfg_all.h
+++ b/components/cfg/cfg_all.h
@@ -40,11 +40,13 @@
#endif
#include "wlan_pmo_cfg.h"
+#include "hdd_config.h"
/* Maintain Alphabetic order here while adding components */
#define CFG_ALL \
CFG_CONVERGED_ALL \
CFG_FWOL_ALL \
+ CFG_HDD_ALL \
CFG_MLME_ALL \
CFG_NAN_ALL \
CFG_P2P_ALL \
diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c
index bea099faa1..185760887d 100644
--- a/core/cds/src/cds_api.c
+++ b/core/cds/src/cds_api.c
@@ -1688,7 +1688,7 @@ bool cds_is_packet_log_enabled(void)
cds_alert("Hdd Context is Null");
return false;
}
- return hdd_ctx->config->enablePacketLog;
+ return hdd_ctx->config->enable_packet_log;
}
#endif
diff --git a/core/hdd/inc/hdd_config.h b/core/hdd/inc/hdd_config.h
new file mode 100644
index 0000000000..f46672d4e5
--- /dev/null
+++ b/core/hdd/inc/hdd_config.h
@@ -0,0 +1,340 @@
+/*
+ * 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 __HDD_CONFIG_H
+#define __HDD_CONFIG_H
+
+/**
+ * enum hdd_wext_control - knob for wireless extensions
+ * @hdd_wext_disabled - interface is completely disabled. An access
+ * control error log will be generated for each attempted use.
+ * @hdd_wext_deprecated - interface is available but should not be
+ * used. An access control warning log will be generated for each
+ * use.
+ * @hdd_wext_enabled - interface is available without restriction. No
+ * access control logs will be generated.
+ *
+ * enum hdd_wext_control is used to enable coarse grained control on
+ * wireless extensions ioctls. This control is used by configuration
+ * item private_wext_control.
+ *
+ */
+enum hdd_wext_control {
+ hdd_wext_disabled = 0,
+ hdd_wext_deprecated = 1,
+ hdd_wext_enabled = 2,
+};
+
+/*
+ *
+ * private_wext_control - Private wireless extensions control
+ * @Min: 0
+ * @Max: 2
+ * @Default: 1
+ *
+ * Values are per enum hdd_wext_control.
+ * This ini is used to control access to private wireless extensions
+ * ioctls SIOCIWFIRSTPRIV (0x8BE0) thru SIOCIWLASTPRIV (0x8BFF). The
+ * functionality provided by some of these ioctls has been superceeded
+ * by cfg80211 (either standard commands or vendor commands), but many
+ * of the private ioctls do not have a cfg80211-based equivalent, so
+ * by default support for these ioctls is deprecated.
+ *
+ * Related: None
+ *
+ * Supported Feature: All
+ *
+ * Usage: Internal/External
+ *
+ *
+ */
+#define CFG_PRIVATE_WEXT_CONTROL CFG_INI_UINT( \
+ "private_wext_control", \
+ hdd_wext_disabled, \
+ hdd_wext_enabled, \
+ hdd_wext_deprecated, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Private WEXT Control")
+
+/*
+ *
+ * gInterfaceChangeWait - Interface change wait
+ * @Min: 10,
+ * @Max: 500000
+ * @Default: 10000
+ *
+ * Timer waiting for interface up from the upper layer. If
+ * this timer expires all the cds modules shall be closed.
+ * Time Units: ms
+ *
+ * Related: None
+ *
+ * Supported Feature: All
+ *
+ *
+ */
+#define CFG_INTERFACE_CHANGE_WAIT CFG_INI_UINT( \
+ "gInterfaceChangeWait", \
+ 10, \
+ 500000, \
+ 10000, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Interface change wait")
+
+#ifdef QCA_WIFI_NAPIER_EMULATION
+#define CFG_TIMER_MULTIPLIER_DEFAULT 100
+#else
+#define CFG_TIMER_MULTIPLIER_DEFAULT 1
+#endif
+
+/*
+ *
+ * gTimerMultiplier - Scale QDF timers by this value
+ * @Min: 1
+ * @Max: 0xFFFFFFFF
+ * @Default: 1 (100 for emulation)
+ *
+ * To assist in debugging emulation setups, scale QDF timers by this factor.
+ *
+ * @E.g.
+ * # QDF timers expire in real time
+ * gTimerMultiplier=1
+ * # QDF timers expire after 100 times real time
+ * gTimerMultiplier=100
+ *
+ * Related: None
+ *
+ * Usage: Internal
+ *
+ *
+ */
+#define CFG_TIMER_MULTIPLIER CFG_INI_UINT( \
+ "gTimerMultiplier", \
+ 1, \
+ 0xFFFFFFFF, \
+ CFG_TIMER_MULTIPLIER_DEFAULT, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Timer Multiplier")
+
+#define CFG_BUG_ON_REINIT_FAILURE_DEFAULT 1
+/*
+ *
+ * g_bug_on_reinit_failure - Enable/Disable bug on reinit
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to debug ssr reinit failure issues by raising vos bug so
+ * dumps can be collected.
+ * g_bug_on_reinit_failure = 0 wlan driver will only recover after driver
+ * unload and load
+ * g_bug_on_reinit_failure = 1 raise vos bug to collect dumps
+ *
+ * Related: gEnableSSR
+ *
+ * Supported Feature: SSR
+ *
+ * Usage: External
+ *
+ *
+ */
+#define CFG_BUG_ON_REINIT_FAILURE CFG_INI_BOOL( \
+ "g_bug_on_reinit_failure", \
+ CFG_BUG_ON_REINIT_FAILURE_DEFAULT, \
+ "BUG on reinit failure")
+
+/*
+ *
+ * gEnableDumpCollect - It will use for collect the dumps
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to set collect default dump
+ *
+ * Related: None
+ *
+ * Supported Feature: STA
+ *
+ * Usage: Internal/External
+ *
+ *
+ */
+#define CFG_ENABLE_RAMDUMP_COLLECTION CFG_INI_BOOL( \
+ "gEnableDumpCollect", \
+ 1, \
+ "Enable dump collect")
+
+#if defined(MDM_PLATFORM) && !defined(FEATURE_MULTICAST_HOST_FW_MSGS)
+#define CFG_MULTICAST_HOST_FW_MSGS_DEFAULT 0
+#else
+#define CFG_MULTICAST_HOST_FW_MSGS_DEFAULT 1
+#endif
+
+/*
+ *
+ * gMulticastHostFwMsgs - Multicast host FW messages
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0 for MDM platform and 1 for other
+ *
+ *
+ */
+#define CFG_MULTICAST_HOST_FW_MSGS CFG_INI_UINT( \
+ "gMulticastHostFwMsgs", \
+ 0, \
+ 1, \
+ CFG_MULTICAST_HOST_FW_MSGS_DEFAULT, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Multicast host FW msgs")
+
+#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
+/*
+ *
+ * wlanLoggingEnable - Wlan logging enable
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ *
+ */
+#define CFG_WLAN_LOGGING_SUPPORT CFG_INI_BOOL( \
+ "wlanLoggingEnable", \
+ 1, \
+ "Wlan logging enable")
+
+/*
+ *
+ * wlanLoggingToConsole - Wlan logging to console
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ *
+ */
+#define CFG_WLAN_LOGGING_CONSOLE_SUPPORT CFG_INI_BOOL( \
+ "wlanLoggingToConsole", \
+ 1, \
+ "Wlan logging to console")
+
+#define CFG_WLAN_LOGGING_SUPPORT_ALL \
+ CFG(CFG_WLAN_LOGGING_SUPPORT) \
+ CFG(CFG_WLAN_LOGGING_CONSOLE_SUPPORT)
+#else
+#define CFG_WLAN_LOGGING_SUPPORT_ALL
+#endif
+
+#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
+/*
+ *
+ * gWlanAutoShutdown - Wlan auto shutdown
+ * @Min: 0
+ * @Max: 86400
+ * @Default: 0
+ *
+ *
+ */
+#define CFG_WLAN_AUTO_SHUTDOWN CFG_INI_UINT( \
+ "gWlanAutoShutdown", \
+ 0, \
+ 86400, \
+ 0, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Wlan auto shutdown")
+#define CFG_WLAN_AUTO_SHUTDOWN_ALL \
+ CFG(CFG_WLAN_AUTO_SHUTDOWN)
+#else
+#define CFG_WLAN_AUTO_SHUTDOWN_ALL
+#endif
+
+/*
+ *
+ * gEnablefwprint - Enable FW uart print
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ *
+ */
+#define CFG_ENABLE_FW_UART_PRINT CFG_INI_BOOL( \
+ "gEnablefwprint", \
+ 0, \
+ "Enable FW uart print")
+
+/*
+ *
+ * gEnablefwlog - Enable FW log
+ * @Min: 0
+ * @Max: 2
+ * @Default: 1
+ *
+ *
+ */
+#define CFG_ENABLE_FW_LOG CFG_INI_UINT( \
+ "gEnablefwlog", \
+ 0, \
+ 2, \
+ 1, \
+ CFG_VALUE_OR_DEFAULT, \
+ "Enable FW log")
+
+#ifndef REMOVE_PKT_LOG
+
+#ifdef FEATURE_PKTLOG
+#define CFG_ENABLE_PACKET_LOG_DEFAULT 1
+#else
+#define CFG_ENABLE_PACKET_LOG_DEFAULT 0
+#endif
+
+/*
+ *
+ * gEnablePacketLog - Enale packet log
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1 if feature packet log define, 0 elsewhere
+ *
+ *
+ */
+#define CFG_ENABLE_PACKET_LOG CFG_INI_BOOL( \
+ "gEnablePacketLog", \
+ CFG_ENABLE_PACKET_LOG_DEFAULT, \
+ "Enable packet log")
+
+#define CFG_ENABLE_PACKET_LOG_ALL \
+ CFG(CFG_ENABLE_PACKET_LOG)
+#else
+#define CFG_ENABLE_PACKET_LOG_ALL
+#endif
+
+#define CFG_HDD_ALL \
+ CFG_ENABLE_PACKET_LOG_ALL \
+ CFG_WLAN_AUTO_SHUTDOWN_ALL \
+ CFG_WLAN_LOGGING_SUPPORT_ALL \
+ CFG(CFG_BUG_ON_REINIT_FAILURE) \
+ CFG(CFG_ENABLE_FW_LOG) \
+ CFG(CFG_ENABLE_FW_UART_PRINT) \
+ CFG(CFG_ENABLE_RAMDUMP_COLLECTION) \
+ CFG(CFG_INTERFACE_CHANGE_WAIT) \
+ CFG(CFG_MULTICAST_HOST_FW_MSGS) \
+ CFG(CFG_PRIVATE_WEXT_CONTROL) \
+ CFG(CFG_TIMER_MULTIPLIER)
+#endif
diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h
index 7abf1b458b..ba1f61b4c5 100644
--- a/core/hdd/inc/wlan_hdd_cfg.h
+++ b/core/hdd/inc/wlan_hdd_cfg.h
@@ -39,6 +39,7 @@
#include "wlan_pmo_hw_filter_public_struct.h"
#include "wlan_action_oui_public_struct.h"
#include "wlan_hdd_green_ap_cfg.h"
+#include "hdd_config.h"
struct hdd_context;
@@ -1640,16 +1641,6 @@ enum hdd_dot11_mode {
#define CFG_ROAM_FORCE_RSSI_TRIGGER_MAX (1)
#define CFG_ROAM_FORCE_RSSI_TRIGGER_DEFAULT (1)
-/*
- * Timer waiting for interface up from the upper layer. If
- * this timer expires all the cds modules shall be closed.
- * Time Units: ms
- */
-#define CFG_INTERFACE_CHANGE_WAIT_NAME "gInterfaceChangeWait"
-#define CFG_INTERFACE_CHANGE_WAIT_MIN (10)
-#define CFG_INTERFACE_CHANGE_WAIT_MAX (500000)
-#define CFG_INTERFACE_CHANGE_WAIT_DEFAULT (10000)
-
/*
*
* gShortPreamble - Set Short Preamble
@@ -2367,13 +2358,6 @@ enum hdd_dot11_mode {
#define CFG_AP_STA_SECURITY_SEPERATION_MAX (1)
#define CFG_AP_STA_SECURITY_SEPERATION_DEFAULT (0)
-#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
-#define CFG_WLAN_AUTO_SHUTDOWN "gWlanAutoShutdown"
-#define CFG_WLAN_AUTO_SHUTDOWN_MIN (0)
-#define CFG_WLAN_AUTO_SHUTDOWN_MAX (86400) /* Max 1 day timeout */
-#define CFG_WLAN_AUTO_SHUTDOWN_DEFAULT (0)
-#endif
-
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
/*
*
@@ -3564,29 +3548,6 @@ enum station_keepalive_method {
#define CFG_ENABLE_DFS_CHNL_SCAN_MAX (1)
#define CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT (1)
-/*
- *
- * gEnableDumpCollect - It will use for collect the dumps
- * @Min: 0
- * @Max: 1
- * @Default: 1
- *
- * This ini is used to set collect default dump
- *
- * Related: None
- *
- * Supported Feature: STA
- *
- * Usage: Internal/External
- *
- *
- */
-
-#define CFG_ENABLE_RAMDUMP_COLLECTION "gEnableDumpCollect"
-#define CFG_ENABLE_RAMDUMP_COLLECTION_MIN (0)
-#define CFG_ENABLE_RAMDUMP_COLLECTION_MAX (1)
-#define CFG_ENABLE_RAMDUMP_COLLECTION_DEFAULT (1)
-
enum hdd_link_speed_rpt_type {
eHDD_LINK_SPEED_REPORT_ACTUAL = 0,
eHDD_LINK_SPEED_REPORT_MAX = 1,
@@ -3978,17 +3939,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_ENABLE_OVERLAP_CH_MAX (1)
#define CFG_ENABLE_OVERLAP_CH_DEFAULT (0)
-#ifndef REMOVE_PKT_LOG
-#define CFG_ENABLE_PACKET_LOG "gEnablePacketLog"
-#define CFG_ENABLE_PACKET_LOG_MIN (0)
-#define CFG_ENABLE_PACKET_LOG_MAX (1)
-#ifdef FEATURE_PKTLOG
-#define CFG_ENABLE_PACKET_LOG_DEFAULT (1)
-#else
-#define CFG_ENABLE_PACKET_LOG_DEFAULT (0)
-#endif
-#endif
-
/* For valid values of log levels check enum DBGLOG_LOG_LVL and
* for valid values of module ids check enum WLAN_MODULE_ID.
*/
@@ -4732,25 +4682,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_IPA_LOW_BANDWIDTH_MBPS_MAX (100)
#define CFG_IPA_LOW_BANDWIDTH_MBPS_DEFAULT (100)
-/*
- * Firmware uart print
- */
-#define CFG_ENABLE_FW_UART_PRINT_NAME "gEnablefwprint"
-#define CFG_ENABLE_FW_UART_PRINT_DISABLE (0)
-#define CFG_ENABLE_FW_UART_PRINT_ENABLE (1)
-#define CFG_ENABLE_FW_UART_PRINT_DEFAULT (CFG_ENABLE_FW_UART_PRINT_DISABLE)
-
-/*
- * Firmware log
- */
-#define CFG_ENABLE_FW_LOG_NAME "gEnablefwlog"
-#define CFG_ENABLE_FW_LOG_DISABLE (0)
-#define CFG_ENABLE_FW_LOG_WMI (1)
-#define CFG_ENABLE_FW_LOG_DIAG (2)
-#define CFG_ENABLE_FW_LOG_MIN (CFG_ENABLE_FW_LOG_DISABLE)
-#define CFG_ENABLE_FW_LOG_MAX (CFG_ENABLE_FW_LOG_DIAG)
-#define CFG_ENABLE_FW_LOG_DEFAULT (CFG_ENABLE_FW_LOG_WMI)
-
/* SAR Thermal limit values for 2g and 5g */
#define CFG_SET_TXPOWER_LIMIT2G_NAME "TxPower2g"
@@ -5495,20 +5426,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_IPA_UC_TX_PARTITION_BASE_MAX (9000)
#define CFG_IPA_UC_TX_PARTITION_BASE_DEFAULT (3000)
-#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
-/* Enable WLAN Logging to app space */
-#define CFG_WLAN_LOGGING_SUPPORT_NAME "wlanLoggingEnable"
-#define CFG_WLAN_LOGGING_SUPPORT_ENABLE (1)
-#define CFG_WLAN_LOGGING_SUPPORT_DISABLE (0)
-#define CFG_WLAN_LOGGING_SUPPORT_DEFAULT (1)
-
-/* Enable forwarding the driver logs to kmsg console */
-#define CFG_WLAN_LOGGING_CONSOLE_SUPPORT_NAME "wlanLoggingToConsole"
-#define CFG_WLAN_LOGGING_CONSOLE_SUPPORT_ENABLE (1)
-#define CFG_WLAN_LOGGING_CONSOLE_SUPPORT_DISABLE (0)
-#define CFG_WLAN_LOGGING_CONSOLE_SUPPORT_DEFAULT (1)
-#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
-
#define CFG_ENABLE_SELF_RECOVERY_NAME "gEnableSelfRecovery"
#define CFG_ENABLE_SELF_RECOVERY_MIN (0)
#define CFG_ENABLE_SELF_RECOVERY_MAX (1)
@@ -5716,16 +5633,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MAX (1)
#define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_DEFAULT (0)
-#define CFG_MULTICAST_HOST_FW_MSGS "gMulticastHostFwMsgs"
-#define CFG_MULTICAST_HOST_FW_MSGS_MIN (0)
-#define CFG_MULTICAST_HOST_FW_MSGS_MAX (1)
-#if defined(MDM_PLATFORM) && !defined(FEATURE_MULTICAST_HOST_FW_MSGS)
-#define CFG_MULTICAST_HOST_FW_MSGS_DEFAULT (0)
-#else
-#define CFG_MULTICAST_HOST_FW_MSGS_DEFAULT (1)
-#endif
-
-
/*
*
* gSystemPref - Configure wlan system preference for PCL.
@@ -6621,32 +6528,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_ADAPT_DWELL_WIFI_THRESH_MAX (100)
#define CFG_ADAPT_DWELL_WIFI_THRESH_DEFAULT (10)
-/*
- *
- * g_bug_on_reinit_failure - Enable/Disable bug on reinit
- * @Min: 0
- * @Max: 1
- * @Default: 1
- *
- * This ini is used to debug ssr reinit failure issues by raising vos bug so
- * dumps can be collected.
- * g_bug_on_reinit_failure = 0 wlan driver will only recover after driver
- * unload and load
- * g_bug_on_reinit_failure = 1 raise vos bug to collect dumps
- *
- * Related: gEnableSSR
- *
- * Supported Feature: SSR
- *
- * Usage: External
- *
- *
- */
-#define CFG_BUG_ON_REINIT_FAILURE_NAME "g_bug_on_reinit_failure"
-#define CFG_BUG_ON_REINIT_FAILURE_MIN (0)
-#define CFG_BUG_ON_REINIT_FAILURE_MAX (1)
-#define CFG_BUG_ON_REINIT_FAILURE_DEFAULT (1)
-
/*
*
* gSub20ChannelWidth - Control sub 20 channel width (5/10 Mhz)
@@ -7209,56 +7090,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_MAX_SCHED_SCAN_PLAN_ITRNS_MAX (100)
#define CFG_MAX_SCHED_SCAN_PLAN_ITRNS_DEFAULT (10)
-/**
- * enum hdd_wext_control - knob for wireless extensions
- * @hdd_wext_disabled - interface is completely disabled. An access
- * control error log will be generated for each attempted use.
- * @hdd_wext_deprecated - interface is available but should not be
- * used. An access control warning log will be generated for each
- * use.
- * @hdd_wext_enabled - interface is available without restriction. No
- * access control logs will be generated.
- *
- * enum hdd_wext_control is used to enable coarse grained control on
- * wireless extensions ioctls. This control is used by configuration
- * item private_wext_control.
- *
- */
-enum hdd_wext_control {
- hdd_wext_disabled = 0,
- hdd_wext_deprecated = 1,
- hdd_wext_enabled = 2,
-};
-
-/*
- *
- * private_wext_control - Private wireless extensions control
- * @Min: 0
- * @Max: 2
- * @Default: 1
- *
- * Values are per enum hdd_wext_control.
- *
- * This ini is used to control access to private wireless extensions
- * ioctls SIOCIWFIRSTPRIV (0x8BE0) thru SIOCIWLASTPRIV (0x8BFF). The
- * functionality provided by some of these ioctls has been superceeded
- * by cfg80211 (either standard commands or vendor commands), but many
- * of the private ioctls do not have a cfg80211-based equivalent, so
- * by default support for these ioctls is deprecated.
- *
- * Related: None
- *
- * Supported Feature: All
- *
- * Usage: Internal/External
- *
- *
- */
-#define CFG_PRIVATE_WEXT_CONTROL_NAME "private_wext_control"
-#define CFG_PRIVATE_WEXT_CONTROL_MIN (hdd_wext_disabled)
-#define CFG_PRIVATE_WEXT_CONTROL_MAX (hdd_wext_enabled)
-#define CFG_PRIVATE_WEXT_CONTROL_DEFAULT (hdd_wext_deprecated)
-
/*
*
* gPowerUsage - Preferred Power Usage
@@ -7640,36 +7471,6 @@ enum hdd_wext_control {
#endif /* WLAN_SUPPORT_TWT */
-/*
- *
- * gTimerMultiplier - Scale QDF timers by this value
- * @Min: 1
- * @Max: 0xFFFFFFFF
- * @Default: 1 (100 for emulation)
- *
- * To assist in debugging emulation setups, scale QDF timers by this factor.
- *
- * @E.g.
- * # QDF timers expire in real time
- * gTimerMultiplier=1
- * # QDF timers expire after 100 times real time
- * gTimerMultiplier=100
- *
- * Related: N/A
- *
- * Usage: Internal
- *
- *
- */
-#define CFG_TIMER_MULTIPLIER_NAME "gTimerMultiplier"
-#define CFG_TIMER_MULTIPLIER_MIN (1)
-#define CFG_TIMER_MULTIPLIER_MAX (0xFFFFFFFF)
-#ifdef QCA_WIFI_NAPIER_EMULATION
-#define CFG_TIMER_MULTIPLIER_DEFAULT (100)
-#else
-#define CFG_TIMER_MULTIPLIER_DEFAULT (1)
-#endif
-
/*
* For vendor specific IE, Probe Req OUI types and sub types which are
* to be white listed are specified in gProbeReqOUIs in the following
@@ -9175,8 +8976,6 @@ struct hdd_config {
uint32_t ibssPs1RxChainInAtimEnable;
bool enable_ip_tcp_udp_checksum_offload;
- bool enablefwprint;
- uint8_t enable_fw_log;
uint8_t fVhtAmpduLenExponent;
uint32_t vhtMpduLen;
uint32_t IpaConfig;
@@ -9187,9 +8986,6 @@ struct hdd_config {
uint32_t IpaLowBandwidthMbps;
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
uint32_t WlanMccToSccSwitchMode;
-#endif
-#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
- uint32_t WlanAutoShutdown;
#endif
uint8_t disableDFSChSwitch;
uint8_t enableDFSMasterCap;
@@ -9219,10 +9015,6 @@ struct hdd_config {
uint8_t allowDFSChannelRoam;
-#ifndef REMOVE_PKT_LOG
- bool enablePacketLog;
-#endif
-
#ifdef MSM_PLATFORM
uint32_t busBandwidthHighThreshold;
uint32_t busBandwidthMediumThreshold;
@@ -9253,11 +9045,6 @@ struct hdd_config {
uint32_t IpaUcTxBufSize;
uint32_t IpaUcRxIndRingCount;
uint32_t IpaUcTxPartitionBase;
-#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
- /* WLAN Logging */
- bool wlan_logging_enable;
- bool wlan_logging_to_console;
-#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
bool enableSelfRecovery;
#ifdef FEATURE_WLAN_FORCE_SAP_SCC
@@ -9275,7 +9062,6 @@ struct hdd_config {
uint8_t conc_custom_rule2;
uint8_t is_sta_connection_in_5gz_enabled;
uint32_t sta_miracast_mcc_rest_time_val;
- bool is_ramdump_enabled;
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
bool sap_channel_avoidance;
#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
@@ -9283,7 +9069,6 @@ struct hdd_config {
uint8_t go_11ac_override;
uint8_t sap_dot11mc;
uint8_t prefer_non_dfs_on_radar;
- uint8_t multicast_host_fw_msgs;
uint8_t conc_system_pref;
uint32_t dbs_selection_policy;
uint32_t vdev_priority_list;
@@ -9376,8 +9161,6 @@ struct hdd_config {
uint8_t adapt_dwell_passive_mon_intval;
uint8_t adapt_dwell_wifi_act_threshold;
bool bug_report_for_no_scan_results;
- bool bug_on_reinit_failure;
- uint32_t iface_change_wait_time;
/* parameter to control GTX */
enum cfg_sub_20_channel_width enable_sub_20_channel_width;
bool indoor_channel_support;
@@ -9393,7 +9176,6 @@ struct hdd_config {
uint32_t rx_wakelock_timeout;
uint32_t max_sched_scan_plan_interval;
uint32_t max_sched_scan_plan_iterations;
- enum hdd_wext_control private_wext_control;
bool sap_internal_restart;
enum restart_beaconing_on_ch_avoid_rule
restart_beaconing_on_chan_avoid_event;
@@ -9416,7 +9198,6 @@ struct hdd_config {
uint32_t no_of_probe_req_ouis;
uint32_t probe_req_voui[MAX_PROBE_REQ_OUIS];
- uint32_t timer_multiplier;
uint8_t scan_backoff_multiplier;
bool mawc_nlo_enabled;
uint32_t mawc_nlo_exp_backoff_ratio;
@@ -9483,6 +9264,30 @@ struct hdd_config {
bool enable_rtt_mac_randomization;
bool roam_force_rssi_trigger;
bool enable_change_channel_bandwidth;
+
+ /* HDD converged ini items are listed below this*/
+ bool bug_on_reinit_failure;
+ bool is_ramdump_enabled;
+ uint32_t iface_change_wait_time;
+ uint8_t multicast_host_fw_msgs;
+ enum hdd_wext_control private_wext_control;
+ uint32_t timer_multiplier;
+ bool enablefwprint;
+ uint8_t enable_fw_log;
+
+#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
+ /* WLAN Logging */
+ bool wlan_logging_enable;
+ bool wlan_logging_to_console;
+#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
+
+#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
+ uint32_t wlan_auto_shutdown;
+#endif
+
+#ifndef REMOVE_PKT_LOG
+ bool enable_packet_log;
+#endif
};
#define VAR_OFFSET(_Struct, _Var) (offsetof(_Struct, _Var))
diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c
index 3c15cd97ba..3d26f960ee 100644
--- a/core/hdd/src/wlan_hdd_cfg.c
+++ b/core/hdd/src/wlan_hdd_cfg.c
@@ -1032,14 +1032,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_DEFAULT,
CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_MIN,
CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_MAX),
-#endif
-#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
- REG_VARIABLE(CFG_WLAN_AUTO_SHUTDOWN, WLAN_PARAM_Integer,
- struct hdd_config, WlanAutoShutdown,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_WLAN_AUTO_SHUTDOWN_DEFAULT,
- CFG_WLAN_AUTO_SHUTDOWN_MIN,
- CFG_WLAN_AUTO_SHUTDOWN_MAX),
#endif
REG_VARIABLE(CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
struct hdd_config, fRrmEnable,
@@ -1876,20 +1868,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_DISABLE,
CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_ENABLE),
- REG_VARIABLE(CFG_ENABLE_FW_UART_PRINT_NAME, WLAN_PARAM_Integer,
- struct hdd_config, enablefwprint,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_ENABLE_FW_UART_PRINT_DEFAULT,
- CFG_ENABLE_FW_UART_PRINT_DISABLE,
- CFG_ENABLE_FW_UART_PRINT_ENABLE),
-
- REG_VARIABLE(CFG_ENABLE_FW_LOG_NAME, WLAN_PARAM_Integer,
- struct hdd_config, enable_fw_log,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_ENABLE_FW_LOG_DEFAULT,
- CFG_ENABLE_FW_LOG_DISABLE,
- CFG_ENABLE_FW_LOG_MAX),
-
#ifdef IPA_OFFLOAD
REG_VARIABLE(CFG_IPA_OFFLOAD_CONFIG_NAME, WLAN_PARAM_HexInteger,
struct hdd_config, IpaConfig,
@@ -2128,15 +2106,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_ADVERTISE_CONCURRENT_OPERATION_MIN,
CFG_ADVERTISE_CONCURRENT_OPERATION_MAX),
-#ifndef REMOVE_PKT_LOG
- REG_VARIABLE(CFG_ENABLE_PACKET_LOG, WLAN_PARAM_Integer,
- struct hdd_config, enablePacketLog,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_ENABLE_PACKET_LOG_DEFAULT,
- CFG_ENABLE_PACKET_LOG_MIN,
- CFG_ENABLE_PACKET_LOG_MAX),
-#endif
-
#ifdef MSM_PLATFORM
REG_VARIABLE(CFG_BUS_BANDWIDTH_HIGH_THRESHOLD, WLAN_PARAM_Integer,
struct hdd_config, busBandwidthHighThreshold,
@@ -2287,22 +2256,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_IPA_UC_TX_PARTITION_BASE_DEFAULT,
CFG_IPA_UC_TX_PARTITION_BASE_MIN,
CFG_IPA_UC_TX_PARTITION_BASE_MAX),
-#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
- REG_VARIABLE(CFG_WLAN_LOGGING_SUPPORT_NAME, WLAN_PARAM_Integer,
- struct hdd_config, wlan_logging_enable,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_WLAN_LOGGING_SUPPORT_DEFAULT,
- CFG_WLAN_LOGGING_SUPPORT_DISABLE,
- CFG_WLAN_LOGGING_SUPPORT_ENABLE),
-
- REG_VARIABLE(CFG_WLAN_LOGGING_CONSOLE_SUPPORT_NAME,
- WLAN_PARAM_Integer,
- struct hdd_config, wlan_logging_to_console,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_WLAN_LOGGING_CONSOLE_SUPPORT_DEFAULT,
- CFG_WLAN_LOGGING_CONSOLE_SUPPORT_DISABLE,
- CFG_WLAN_LOGGING_CONSOLE_SUPPORT_ENABLE),
-#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
REG_VARIABLE(CFG_ENABLE_SELF_RECOVERY_NAME, WLAN_PARAM_Integer,
struct hdd_config, enableSelfRecovery,
@@ -2393,13 +2346,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_GO_11AC_OVERRIDE_MIN,
CFG_GO_11AC_OVERRIDE_MAX),
- REG_VARIABLE(CFG_ENABLE_RAMDUMP_COLLECTION, WLAN_PARAM_Integer,
- struct hdd_config, is_ramdump_enabled,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_ENABLE_RAMDUMP_COLLECTION_DEFAULT,
- CFG_ENABLE_RAMDUMP_COLLECTION_MIN,
- CFG_ENABLE_RAMDUMP_COLLECTION_MAX),
-
REG_VARIABLE(CFG_SAP_DOT11MC_NAME, WLAN_PARAM_Integer,
struct hdd_config, sap_dot11mc,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2414,13 +2360,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MIN,
CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MAX),
- REG_VARIABLE(CFG_MULTICAST_HOST_FW_MSGS, WLAN_PARAM_Integer,
- struct hdd_config, multicast_host_fw_msgs,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_MULTICAST_HOST_FW_MSGS_DEFAULT,
- CFG_MULTICAST_HOST_FW_MSGS_MIN,
- CFG_MULTICAST_HOST_FW_MSGS_MAX),
-
REG_VARIABLE(CFG_CONC_SYSTEM_PREF, WLAN_PARAM_Integer,
struct hdd_config, conc_system_pref,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2926,14 +2865,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_SAP_TX_LEAKAGE_THRESHOLD_MIN,
CFG_SAP_TX_LEAKAGE_THRESHOLD_MAX),
- REG_VARIABLE(CFG_BUG_ON_REINIT_FAILURE_NAME, WLAN_PARAM_Integer,
- struct hdd_config, bug_on_reinit_failure,
- VAR_FLAGS_OPTIONAL |
- VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_BUG_ON_REINIT_FAILURE_DEFAULT,
- CFG_BUG_ON_REINIT_FAILURE_MIN,
- CFG_BUG_ON_REINIT_FAILURE_MAX),
-
REG_VARIABLE(CFG_SAP_FORCE_11N_FOR_11AC_NAME, WLAN_PARAM_Integer,
struct hdd_config, sap_force_11n_for_11ac,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2948,13 +2879,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_GO_FORCE_11N_FOR_11AC_MIN,
CFG_GO_FORCE_11N_FOR_11AC_MAX),
- REG_VARIABLE(CFG_INTERFACE_CHANGE_WAIT_NAME, WLAN_PARAM_Integer,
- struct hdd_config, iface_change_wait_time,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
- CFG_INTERFACE_CHANGE_WAIT_DEFAULT,
- CFG_INTERFACE_CHANGE_WAIT_MIN,
- CFG_INTERFACE_CHANGE_WAIT_MAX),
-
REG_VARIABLE(CFG_FILTER_MULTICAST_REPLAY_NAME,
WLAN_PARAM_Integer,
struct hdd_config, multicast_replay_filter,
@@ -2997,13 +2921,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_MAX_SCHED_SCAN_PLAN_ITRNS_MIN,
CFG_MAX_SCHED_SCAN_PLAN_ITRNS_MAX),
- REG_VARIABLE(CFG_PRIVATE_WEXT_CONTROL_NAME, WLAN_PARAM_Integer,
- struct hdd_config, private_wext_control,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_PRIVATE_WEXT_CONTROL_DEFAULT,
- CFG_PRIVATE_WEXT_CONTROL_MIN,
- CFG_PRIVATE_WEXT_CONTROL_MAX),
-
REG_VARIABLE(CFG_RESTART_BEACONING_ON_CH_AVOID_NAME, WLAN_PARAM_Integer,
struct hdd_config, restart_beaconing_on_chan_avoid_event,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -3070,13 +2987,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_TWT_CONGESTION_TIMEOUT_MAX),
#endif
- REG_VARIABLE(CFG_TIMER_MULTIPLIER_NAME, WLAN_PARAM_Integer,
- struct hdd_config, timer_multiplier,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_TIMER_MULTIPLIER_DEFAULT,
- CFG_TIMER_MULTIPLIER_MIN,
- CFG_TIMER_MULTIPLIER_MAX),
-
REG_VARIABLE_STRING(CFG_PROBE_REQ_OUI_NAME, WLAN_PARAM_String,
struct hdd_config, probe_req_ouis,
VAR_FLAGS_OPTIONAL,
@@ -4342,7 +4252,7 @@ static void hdd_disable_runtime_pm(struct hdd_config *cfg_ini)
#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
static void hdd_disable_auto_shutdown(struct hdd_config *cfg_ini)
{
- cfg_ini->WlanAutoShutdown = 0;
+ cfg_ini->wlan_auto_shutdown = 0;
}
#else
static void hdd_disable_auto_shutdown(struct hdd_config *cfg_ini)
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 77e0ec28b1..774e9dcfc9 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -9178,6 +9178,91 @@ static void hdd_set_wlan_logging(struct hdd_context *hdd_ctx)
{ }
#endif
+#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
+static void hdd_init_wlan_logging_params(struct hdd_config *config,
+ struct wlan_objmgr_psoc *psoc)
+{
+ config->wlan_logging_enable = cfg_get(psoc, CFG_WLAN_LOGGING_SUPPORT);
+
+ config->wlan_logging_to_console =
+ cfg_get(psoc, CFG_WLAN_LOGGING_CONSOLE_SUPPORT);
+}
+#else
+static void hdd_init_wlan_logging_params(struct hdd_config *config,
+ struct wlan_objmgr_psoc *psoc)
+{
+}
+#endif
+
+#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
+static void hdd_init_wlan_auto_shutdown(struct hdd_config *config,
+ struct wlan_objmgr_psoc *psoc)
+{
+ config->wlan_auto_shutdown = cfg_get(psoc, CFG_WLAN_AUTO_SHUTDOWN);
+}
+#else
+static void hdd_init_wlan_auto_shutdown(struct hdd_config *config,
+ struct wlan_objmgr_psoc *psoc)
+{
+}
+#endif
+
+#ifndef REMOVE_PKT_LOG
+static void hdd_init_packet_log(struct hdd_config *config,
+ struct wlan_objmgr_psoc *psoc)
+{
+ config->enable_packet_log = cfg_get(psoc, CFG_ENABLE_PACKET_LOG);
+}
+#else
+static void hdd_init_packet_log(struct hdd_config *config,
+ struct wlan_objmgr_psoc *psoc)
+{
+}
+#endif
+
+/**
+ * hdd_cfg_params_init() - Initialize hdd params in hdd_config strucuture
+ * @hdd_ctx - Pointer to HDD context
+ *
+ * Return: None
+ */
+static void hdd_cfg_params_init(struct hdd_context *hdd_ctx)
+{
+ struct wlan_objmgr_psoc *psoc = hdd_ctx->psoc;
+ struct hdd_config *config = hdd_ctx->config;
+
+ if (!psoc) {
+ hdd_err("Invalid psoc");
+ return;
+ }
+
+ if (!config) {
+ hdd_err("Invalid hdd config");
+ return;
+ }
+
+ config->bug_on_reinit_failure = cfg_get(psoc,
+ CFG_BUG_ON_REINIT_FAILURE);
+
+ config->is_ramdump_enabled = cfg_get(psoc,
+ CFG_ENABLE_RAMDUMP_COLLECTION);
+
+ config->iface_change_wait_time = cfg_get(psoc,
+ CFG_INTERFACE_CHANGE_WAIT);
+
+ config->multicast_host_fw_msgs = cfg_get(psoc,
+ CFG_MULTICAST_HOST_FW_MSGS);
+
+ config->private_wext_control = cfg_get(psoc, CFG_PRIVATE_WEXT_CONTROL);
+ config->timer_multiplier = cfg_get(psoc, CFG_TIMER_MULTIPLIER);
+ config->enablefwprint = cfg_get(psoc, CFG_ENABLE_FW_UART_PRINT);
+ config->enable_fw_log = cfg_get(psoc, CFG_ENABLE_FW_LOG);
+
+ hdd_init_wlan_auto_shutdown(config, psoc);
+ hdd_init_wlan_logging_params(config, psoc);
+ hdd_init_packet_log(config, psoc);
+}
+
/**
* hdd_context_create() - Allocate and inialize HDD context.
* @dev: Device Pointer to the underlying device
@@ -9233,11 +9318,12 @@ static struct hdd_context *hdd_context_create(struct device *dev)
ret = hdd_objmgr_create_and_store_psoc(hdd_ctx, DEFAULT_PSOC_ID);
if (ret) {
- hdd_err("Psoc creation fails!");
- QDF_BUG(0);
+ QDF_DEBUG_PANIC("Psoc creation fails!");
goto err_free_config;
}
+ hdd_cfg_params_init(hdd_ctx);
+
ie_whitelist_attrs_init(hdd_ctx);
hdd_debug("setting timer multiplier: %u",
@@ -10583,7 +10669,7 @@ static int hdd_set_auto_shutdown_cb(struct hdd_context *hdd_ctx)
{
QDF_STATUS status;
- if (!hdd_ctx->config->WlanAutoShutdown)
+ if (!hdd_ctx->config->wlan_auto_shutdown)
return 0;
status = sme_set_auto_shutdown_cb(hdd_ctx->mac_handle,
@@ -12105,7 +12191,7 @@ void wlan_hdd_auto_shutdown_enable(struct hdd_context *hdd_ctx, bool enable)
if (!mac_handle)
return;
- if (hdd_ctx->config->WlanAutoShutdown == 0)
+ if (hdd_ctx->config->wlan_auto_shutdown == 0)
return;
if (enable == false) {
@@ -12146,12 +12232,12 @@ void wlan_hdd_auto_shutdown_enable(struct hdd_context *hdd_ctx, bool enable)
}
if (sme_set_auto_shutdown_timer(mac_handle,
- hdd_ctx->config->WlanAutoShutdown)
+ hdd_ctx->config->wlan_auto_shutdown)
!= QDF_STATUS_SUCCESS)
hdd_err("Failed to start wlan auto shutdown timer");
else
hdd_info("Auto Shutdown timer for %d seconds enabled",
- hdd_ctx->config->WlanAutoShutdown);
+ hdd_ctx->config->wlan_auto_shutdown);
}
#endif