123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461 |
- /*
- * 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_FWOL_GENERIC_H
- #define __CFG_FWOL_GENERIC_H
- /*
- *
- * <ini>
- * gEnableANI - Enable Adaptive Noise Immunity
- * @Min: 0
- * @Max: 1
- * @Default: 1
- *
- * This ini is used to enable or disable Adaptive Noise Immunity.
- *
- * Related: None
- *
- * Supported Feature: ANI
- *
- * Usage: External
- *
- * </ini>
- */
- #define CFG_ENABLE_ANI CFG_INI_BOOL( \
- "gEnableANI", \
- 1, \
- "Enable/Disable Adaptive Noise Immunity")
- /**
- * gSetRTSForSIFSBursting - set rts for sifs bursting
- * @Min: 0
- * @Max: 1
- * @Default: 0
- *
- * This ini set rts for sifs bursting
- *
- * Usage: External
- *
- * </ini>
- */
- #define CFG_SET_RTS_FOR_SIFS_BURSTING CFG_INI_BOOL( \
- "gSetRTSForSIFSBursting", \
- 0, \
- "Set rts for sifs bursting")
- /**
- * <ini>
- * gMaxMPDUsInAMPDU - max mpdus in ampdu
- * @Min: 0
- * @Max: 64
- * @Default: 0
- *
- * This ini configure max mpdus in ampdu
- *
- * Usage: External
- *
- * </ini>
- */
- #define CFG_MAX_MPDUS_IN_AMPDU CFG_INI_INT( \
- "gMaxMPDUsInAMPDU", \
- 0, \
- 64, \
- 0, \
- CFG_VALUE_OR_DEFAULT, \
- "This ini configure max mpdus in ampdu")
- /**
- * arp_ac_category - ARP access category
- * @Min: 0
- * @Max: 3
- * @Default: 3
- *
- * Firmware by default categorizes ARP packets with VOICE TID.
- * This ini shall be used to override the default configuration.
- * Access category enums are referenced in ieee80211_common.h
- * WME_AC_BE = 0 (Best effort)
- * WME_AC_BK = 1 (Background)
- * WME_AC_VI = 2 (Video)
- * WME_AC_VO = 3 (Voice)
- *
- * Related: none
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_ARP_AC_CATEGORY CFG_INI_INT( \
- "arp_ac_category", \
- 0, \
- 3, \
- 3, \
- CFG_VALUE_OR_DEFAULT, \
- "Override the default ARP AC configuration")
- /*
- * </ini>
- * gEnableFastPwrTransition - Configuration for fast power transition
- * @Min: 0
- * @Max: 2
- * @Default: 0
- *
- * This ini supported values:
- * 0x0: Phy register retention disabled (Higher timeline, Good for power)
- * 0x1: Phy register retention statically enabled
- * 0x2: Phy register retention enabled/disabled dynamically
- *
- * Usage: Internal
- *
- * </ini>
- */
- #define CFG_ENABLE_PHY_REG CFG_INI_UINT( \
- "gEnableFastPwrTransition", \
- 0x0, \
- 0x2, \
- 0x0, \
- CFG_VALUE_OR_DEFAULT, \
- "Configuration for fast power transition")
- /*
- * <ini>
- * gUpperBrssiThresh - Sets Upper threshold for beacon RSSI
- * @Min: 36
- * @Max: 66
- * @Default: 46
- *
- * This ini sets Upper beacon threshold for beacon RSSI in FW
- * Used to reduced RX chainmask in FW, once this threshold is
- * reached FW will switch to 1X1 (Single chain).
- *
- * Supported Feature: STA
- *
- * Usage: External
- *
- * </ini>
- */
- #define CFG_UPPER_BRSSI_THRESH CFG_INI_UINT( \
- "gUpperBrssiThresh", \
- 36, \
- 66, \
- 46, \
- CFG_VALUE_OR_DEFAULT, \
- "Sets Upper threshold for beacon RSSI")
- /*
- * <ini>
- * gLowerrBrssiThresh - Sets Lower threshold for beacon RSSI
- * @Min: 6
- * @Max: 36
- * @Default: 26
- *
- * This ini sets Lower beacon threshold for beacon RSSI in FW
- * Used to increase RX chainmask in FW, once this threshold is
- * reached FW will switch to 2X2 chain.
- *
- * Supported Feature: STA
- *
- * Usage: External
- *
- * </ini>
- */
- #define CFG_LOWER_BRSSI_THRESH CFG_INI_UINT( \
- "gLowerBrssiThresh", \
- 6, \
- 36, \
- 26, \
- CFG_VALUE_OR_DEFAULT, \
- "Sets Lower threshold for beacon RSSI")
- /*
- * <ini>
- * gDtim1ChRxEnable - Enable/Disable DTIM 1Chrx feature
- * @Min: 0
- * @Max: 1
- * @Default: 1
- *
- * This ini Enables or Disables DTIM 1CHRX feature in FW
- * If this flag is set FW enables shutting off one chain
- * while going to power save.
- *
- * Supported Feature: STA
- *
- * Usage: External
- *
- * </ini>
- */
- #define CFG_DTIM_1CHRX_ENABLE CFG_INI_BOOL( \
- "gDtim1ChRxEnable", \
- 1, \
- "Enable/Disable DTIM 1Chrx feature")
- /*
- * <ini>
- * gEnableAlternativeChainmask - Enable Co-Ex Alternative Chainmask
- * @Min: 0
- * @Max: 1
- * @Default: 0
- *
- * This ini is used to enable/disable the Co-ex Alternative Chainmask
- * feature via the WMI_PDEV_PARAM_ALTERNATIVE_CHAINMASK_SCHEME
- * firmware parameter.
- *
- * Related: None
- *
- * Supported Feature: STA
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_ENABLE_COEX_ALT_CHAINMASK CFG_INI_BOOL( \
- "gEnableAlternativeChainmask", \
- 0, \
- "Enable Co-Ex Alternative Chainmask")
- /*
- * <ini>
- * gEnableSmartChainmask - Enable Smart Chainmask
- * @Min: 0
- * @Max: 1
- * @Default: 0
- *
- * This ini is used to enable/disable the Smart Chainmask feature via
- * the WMI_PDEV_PARAM_SMART_CHAINMASK_SCHEME firmware parameter.
- *
- * Related: None
- *
- * Supported Feature: STA
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_ENABLE_SMART_CHAINMASK CFG_INI_BOOL( \
- "gEnableSmartChainmask", \
- 0, \
- "Enable/disable the Smart Chainmask feature")
- /*
- * <ini>
- * gEnableRTSProfiles - It will use configuring different RTS profiles
- * @Min: 0
- * @Max: 66
- * @Default: 33
- *
- * This ini used for configuring different RTS profiles
- * to firmware.
- * Following are the valid values for the rts profile:
- * RTSCTS_DISABLED 0
- * NOT_ALLOWED 1
- * NOT_ALLOWED 2
- * RTSCTS_DISABLED 16
- * RTSCTS_ENABLED_4_SECOND_RATESERIES 17
- * CTS2SELF_ENABLED_4_SECOND_RATESERIES 18
- * RTSCTS_DISABLED 32
- * RTSCTS_ENABLED_4_SWRETRIES 33
- * CTS2SELF_ENABLED_4_SWRETRIES 34
- * NOT_ALLOWED 48
- * NOT_ALLOWED 49
- * NOT_ALLOWED 50
- * RTSCTS_DISABLED 64
- * RTSCTS_ENABLED_4_ALL_RATESERIES 65
- * CTS2SELF_ENABLED_4_ALL_RATESERIES 66
- *
- * Related: None
- *
- * Supported Feature: STA
- *
- * Usage: Internal/External
- *
- * </ini>
- */
- #define CFG_ENABLE_FW_RTS_PROFILE CFG_INI_INT( \
- "gEnableRTSProfiles", \
- 0, \
- 66, \
- 33, \
- CFG_VALUE_OR_DEFAULT, \
- "It is used to configure different RTS profiles")
- /* <ini>
- * gFwDebugLogLevel: Takes values from enum DBGLOG_LOG_LVL,
- * make default value as DBGLOG_WARN to enable error and
- * warning logs by default.
- * @Min: 0
- * @Max: 255
- * @Default: 3
- *
- * Related: None
- *
- * Supported Features: Debugging
- *
- * Usage: Internal
- *
- * </ini>
- */
- #define CFG_ENABLE_FW_DEBUG_LOG_LEVEL CFG_INI_INT( \
- "gFwDebugLogLevel", \
- 0, \
- 255, \
- 3, \
- CFG_VALUE_OR_DEFAULT, \
- "enable error and warning logs by default")
- /* <ini>
- * gFwDebugLogType: takes values from enum dbglog_process_t,
- * make default value as DBGLOG_PROCESS_NET_RAW to give the
- * logs to net link since cnss_diag service is started at boot
- * time by default.
- * @Min: 0
- * @Max: 255
- * @Default: 3
- *
- * Related: None
- *
- * Supported Features: Debugging
- *
- * Usage: Internal
- *
- * </ini>
- */
- #define CFG_ENABLE_FW_LOG_TYPE CFG_INI_INT( \
- "gFwDebugLogType", \
- 0, \
- 255, \
- 3, \
- CFG_VALUE_OR_DEFAULT, \
- "Default value to be given to the net link cnss_diag service")
- #ifdef FEATURE_WLAN_RA_FILTERING
- /* <ini>
- * gRAFilterEnable
- * @Min: 0
- * @Max: 1
- * @Default: 1
- *
- * Related: None
- *
- * Usage: Internal
- *
- * </ini>
- */
- #define CFG_RA_FILTER_ENABLE CFG_INI_BOOL( \
- "gRAFilterEnable", \
- 1, \
- "Enable RA Filter")
- #else
- #define CFG_RA_FILTER_ENABLE
- #endif
- /* <ini>
- * gtsf_gpio_pin
- * @Min: 0
- * @Max: 254
- * @Default: 255
- *
- * GPIO pin to toggle when capture tsf
- *
- * Related: None
- *
- * Usage: Internal
- *
- * </ini>
- */
- #define CFG_SET_TSF_GPIO_PIN CFG_INI_INT( \
- "gtsf_gpio_pin", \
- 0, \
- 254, \
- 255, \
- CFG_VALUE_OR_DEFAULT, \
- "GPIO pin to toggle when capture tsf")
- #ifdef DHCP_SERVER_OFFLOAD
- /* <ini>
- * gEnableDeauthToDisassocMap
- * @Min: 0
- * @Max: 1
- * @Default: 0
- *
- * DHCP Server offload support
- *
- * Related: None
- *
- * Usage: Internal
- *
- * </ini>
- */
- #define CFG_DHCP_SERVER_OFFLOAD_SUPPORT CFG_INI_BOOL( \
- "gEnableDeauthToDisassocMap", \
- 0, \
- "DHCP Server offload support")
- /* <ini>
- * gDHCPMaxNumClients
- * @Min: 1
- * @Max: 8
- * @Default: 8
- *
- * Number of DHCP server offload clients
- *
- * Related: None
- *
- * Usage: Internal
- *
- * </ini>
- */
- #define CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT CFG_INI_INT( \
- "gDHCPMaxNumClients", \
- 1, \
- 8, \
- 8, \
- CFG_VALUE_OR_DEFAULT, \
- "Number of DHCP server offload clients")
- #define CFG_FWOL_DHCP \
- CFG(CFG_DHCP_SERVER_OFFLOAD_SUPPORT) \
- CFG(CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT)
- #else
- #define CFG_FWOL_DHCP
- #endif
- #define CFG_FWOL_GENERIC_ALL \
- CFG_FWOL_DHCP \
- CFG(CFG_ENABLE_ANI) \
- CFG(CFG_SET_RTS_FOR_SIFS_BURSTING) \
- CFG(CFG_MAX_MPDUS_IN_AMPDU) \
- CFG(CFG_ARP_AC_CATEGORY) \
- CFG(CFG_ENABLE_PHY_REG) \
- CFG(CFG_UPPER_BRSSI_THRESH) \
- CFG(CFG_LOWER_BRSSI_THRESH) \
- CFG(CFG_DTIM_1CHRX_ENABLE) \
- CFG(CFG_ENABLE_COEX_ALT_CHAINMASK) \
- CFG(CFG_ENABLE_SMART_CHAINMASK) \
- CFG(CFG_ENABLE_FW_RTS_PROFILE) \
- CFG(CFG_ENABLE_FW_DEBUG_LOG_LEVEL) \
- CFG(CFG_ENABLE_FW_LOG_TYPE) \
- CFG(CFG_RA_FILTER_ENABLE) \
- CFG(CFG_SET_TSF_GPIO_PIN)
- #endif
|