/* * 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. */ #ifndef WLAN_PMO_COMMON_CFG_H__ #define WLAN_PMO_COMMON_CFG_H__ #include "wlan_pmo_common_public_struct.h" /* * * hostArpOffload - Enable/disable host ARP offload * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to enable/disable host ARP offload. * * Usage: External * * */ #define CFG_PMO_ENABLE_HOST_ARPOFFLOAD CFG_INI_BOOL( \ "hostArpOffload", \ 1, \ "enable/disable host arp offload") /* * * gHwFilterMode - configure hardware filter for DTIM mode * @Min: 0 * @Max: 3 * @Default: 1 * * The hardware filter is only effective in DTIM mode. Use this configuration * to blanket drop broadcast/multicast packets at the hardware level, without * waking up the firmware * * Takes a bitmap of frame types to drop * @E.g. * # disable feature * gHwFilterMode=0 * # drop all broadcast frames, except ARP (default) * gHwFilterMode=1 * # drop all multicast frames, except ICMPv6 * gHwFilterMode=2 * # drop all broadcast and multicast frames, except ARP and ICMPv6 * gHwFilterMode=3 * * Related: N/A * * Usage: Internal/External * * */ #define CFG_PMO_HW_FILTER_MODE CFG_INI_UINT( \ "gHwFilterMode", \ 0, \ 3, \ 1, \ CFG_VALUE_OR_DEFAULT, \ "hardware filter for DTIM mode") /* * * ssdp - Enable/disable ssdp * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to enable/disable ssdp. * * Usage: External * * */ #define CFG_PMO_ENABLE_HOST_SSDP CFG_INI_BOOL( \ "ssdp", \ 1, \ "Enable/disable ssdp") /* * * hostNSOffload - Enable/disable NS offload * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to enable/disable NS offload. * * Usage: External * * */ #define CFG_PMO_ENABLE_HOST_NSOFFLOAD CFG_INI_BOOL( \ "hostNSOffload", \ 1, \ "Enable/disable NS offload") /* * * gEnableDynamicDTIM - Enable Dynamic DTIM * @Min: 0 * @Max: 9 * @Default: 0 * * This ini is used to enable/disable ssdp. * * 0 -Disable DynamicDTIM * 1 to 5 - SLM will switch to DTIM specified here when host suspends and * switch DTIM1 when host resumes * * Usage: External * * */ #define CFG_PMO_ENABLE_DYNAMIC_DTIM CFG_INI_UINT( \ "gEnableDynamicDTIM", \ 0, \ 9, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "Enable Dynamic DTIM") /* * * gEnableDynamicDTIM - Enable/Disable modulated DTIM feature * @Min: 0 * @Max: 5 * @Default: 0 * * This ini is used to enable/disable modulated DTIM feature. * * Usage: External * * */ #define CFG_PMO_ENABLE_MODULATED_DTIM CFG_INI_UINT( \ "gEnableModulatedDTIM", \ 0, \ 5, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "Enable/disable modulated DTIM feature") /* * * gMCAddrListEnable - Enable/disable multicast MAC address list feature * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to enable/disable multicast MAC address list feature. * Default: Enable * * Related: None * * Supported Feature: STA * * Usage: Internal/External * * */ #define CFG_PMO_MC_ADDR_LIST_ENABLE CFG_INI_BOOL( \ "gMCAddrListEnable", \ 1, \ "Enable/disable multicast MAC address list feature") /* * * gEnablePowerSaveOffload - Enable Power Save Offload * @Min: 0 * @Max: 5 * @Default: 0 * * This ini is used to set Power Save Offload configuration: * Current values of gEnablePowerSaveOffload: * 0 -> Power save offload is disabled * 1 -> Legacy Power save enabled + Deep sleep Disabled * 2 -> QPower enabled + Deep sleep Disabled * 3 -> Legacy Power save enabled + Deep sleep Enabled * 4 -> QPower enabled + Deep sleep Enabled * 5 -> Duty cycling QPower enabled * * Related: None * * Supported Feature: Power Save * * Usage: External * * */ #define CFG_PMO_POWERSAVE_OFFLOAD CFG_INI_UINT( \ "gEnablePowerSaveOffload", \ 0, \ 5, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "Enable Power Save Offload") /* * * gMaxPsPoll - Max powersave poll * @Min: 0 * @Max: 255 * @Default: 0 * * This ini is used to set max powersave poll. * * Usage: External * * */ #define CFG_PMO_MAX_PS_POLL CFG_INI_UINT( \ "gMaxPsPoll", \ 0, \ 255, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "Max powersave poll") /* * * gEnableWoW - Enable/Disable WoW * @Min: 0 * @Max: 3 * @Default: 3 * * This ini is used to enable/disable WoW. Configurations are as follows: * 0 - Disable both magic pattern match and pattern byte match. * 1 - Enable magic pattern match on all interfaces. * 2 - Enable pattern byte match on all interfaces. * 3 - Enable both magic patter and pattern byte match on all interfaces. * * Related: None * * Supported Feature: Power Save * * Usage: External * * */ #define CFG_PMO_WOW_ENABLE CFG_INI_UINT("gEnableWoW", \ 0, 3, 3, \ CFG_VALUE_OR_DEFAULT, \ "Enable WoW Support") /* * * wowlan_deauth_enable - Enable/Disable wowlan deauth enable * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to enable/disable wowlan deauth enable. * * Related: None * * Supported Feature: Power Save * * Usage: External * * */ #define CFG_PMO_WOWLAN_DEAUTH_ENABLE CFG_INI_BOOL("wowlan_deauth_enable", \ 1, \ "Enable WoWLan deauth") /* * * wowlan_disassoc_enable - Enable/Disable wowlan disassoc enable * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to enable/disable wowlan disassoc enable. * * Related: None * * Supported Feature: Power Save * * Usage: External * * */ #define CFG_PMO_WOWLAN_DISASSOC_ENABLE CFG_INI_BOOL("wowlan_disassoc_enable", \ 1, \ "Enable WoW Support") /* * * gActiveModeOffload - Active offload mode configuration * @Min: 0 * @Max: 1 * @Default: 1 * * When set to 1 active mode offload will be enabled. * * If active mode offload is enabled then all applicable data offload/filtering * is enabled immediately in FW once config is available in WLAN driver and FW * caches this configuration across suspend/resume; * If active mode offload is disabled then all applicable data offload/filtering * is enabled during cfg80211 suspend and disabled during cfg80211 resume. * * Supported Feature: Active mode offload * * Usage: External * * */ #define CFG_PMO_ACTIVE_MODE CFG_INI_BOOL("gActiveModeOffload", \ 1, \ "Enable active mode offload") /* * * g_auto_detect_power_failure_mode - Auto detect power save failure mode * @Min: PMO_FW_TO_CRASH_ON_PWR_FAILURE * @Max: PMO_AUTO_PWR_FAILURE_DETECT_DISABLE * @Default: PMO_FW_TO_CRASH_ON_PWR_FAILURE * * Specifies the behavior of FW in case of CHIP_POWER_SAVE_FAIL_DETECTED event * * Supported Feature: Auto detect power save failure * * Usage: External * * */ #define CFG_PMO_PWR_FAILURE CFG_INI_UINT("g_auto_detect_power_failure_mode", \ PMO_FW_TO_CRASH_ON_PWR_FAILURE, \ PMO_AUTO_PWR_FAILURE_DETECT_DISABLE, \ PMO_FW_TO_CRASH_ON_PWR_FAILURE, \ CFG_VALUE_OR_DEFAULT, \ "Auto detect power save failure mode") /* * * gEnableSapSuspend - Enable/disable SAP Suspend * @Min: 0 * @Max: 1 * @Default: 0 * * * Related: None * * Supported Feature: SAP * * Usage: External * * */ #define CFG_ENABLE_SAP_SUSPEND CFG_INI_BOOL( \ "gEnableSapSuspend", \ 1, \ "Enable/disable SAP Suspend") #define CFG_PMO_COMMON_ALL \ CFG(CFG_ENABLE_SAP_SUSPEND) \ CFG(CFG_PMO_ENABLE_HOST_ARPOFFLOAD) \ CFG(CFG_PMO_HW_FILTER_MODE) \ CFG(CFG_PMO_ENABLE_HOST_SSDP) \ CFG(CFG_PMO_ENABLE_HOST_NSOFFLOAD) \ CFG(CFG_PMO_ENABLE_DYNAMIC_DTIM) \ CFG(CFG_PMO_ENABLE_MODULATED_DTIM) \ CFG(CFG_PMO_MC_ADDR_LIST_ENABLE) \ CFG(CFG_PMO_POWERSAVE_OFFLOAD) \ CFG(CFG_PMO_MAX_PS_POLL) \ CFG(CFG_PMO_WOWLAN_DEAUTH_ENABLE) \ CFG(CFG_PMO_WOWLAN_DISASSOC_ENABLE) \ CFG(CFG_PMO_WOW_ENABLE) \ CFG(CFG_PMO_ACTIVE_MODE) \ CFG(CFG_PMO_PWR_FAILURE) #endif /* WLAN_PMO_COMMON_CFG_H__ */