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