/* * Copyright (c) 2012-2021 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_MLME_HT_CAPS_H #define __CFG_MLME_HT_CAPS_H /* * * gTxLdpcEnable - Config Param to enable Tx LDPC capability * @Min: 0 * @Max: 3 * @Default: 3 * * This ini is used to enable/disable Tx LDPC capability * 0 - disable * 1 - HT LDPC enable * 2 - VHT LDPC enable * 3 - HT & VHT LDPC enable * * Related: STA/SAP/P2P/IBSS/NAN. * * Supported Feature: Concurrency/Standalone * * Usage: External * * */ #define CFG_TX_LDPC_ENABLE CFG_INI_UINT( \ "gTxLdpcEnable", \ 0, \ 3, \ 3, \ CFG_VALUE_OR_DEFAULT, \ "Tx LDPC capability") /* * * gEnableRXLDPC - Config Param to enable Rx LDPC capability * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to enable/disable Rx LDPC capability * 0 - disable Rx LDPC * 1 - enable Rx LDPC * * Related: STA/SAP/P2P/IBSS/NAN. * * Supported Feature: Concurrency/Standalone * * Usage: External * * */ #define CFG_RX_LDPC_ENABLE CFG_INI_BOOL( \ "gEnableRXLDPC", \ 1, \ "Rx LDPC capability") /* * * gEnableTXSTBC - Enables/disables Tx STBC capability in STA mode * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to set default Tx STBC capability * * Related: None * * Supported Feature: STA * * Usage: External * * */ #define CFG_TX_STBC_ENABLE CFG_INI_BOOL( \ "gEnableTXSTBC", \ 1, \ "Tx STBC capability") /* * * gEnableRXSTBC - Enables/disables Rx STBC capability in STA mode * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to set default Rx STBC capability * * Related: None * * Supported Feature: STA * * Usage: External * * */ #define CFG_RX_STBC_ENABLE CFG_INI_BOOL( \ "gEnableRXSTBC", \ 1, \ "Rx STBC capability") /* * * gShortGI20Mhz - Short Guard Interval for HT20 * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to set default short interval for HT20 * * Related: None * * Supported Feature: STA * * Usage: External * * */ #define CFG_SHORT_GI_20MHZ CFG_INI_BOOL( \ "gShortGI20Mhz", \ 1, \ "Short Guard Interval for HT20") /* * * gShortGI40Mhz - It will check gShortGI20Mhz and * gShortGI40Mhz from session entry * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to set default gShortGI40Mhz * * Related: None * * Supported Feature: STA * * Usage: External * * */ #define CFG_SHORT_GI_40MHZ CFG_INI_BOOL( \ "gShortGI40Mhz", \ 1, \ "Short Guard Interval for HT40") #define CFG_HT_CAP_INFO CFG_UINT( \ "ht_cap_info", \ 0, \ 65535, \ 364, \ CFG_VALUE_OR_DEFAULT, \ "HT cap info") /* * * gShortPreamble - Set Short Preamble * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to set default short Preamble * * Related: None * * Supported Feature: STA * * Usage: External * * */ #define CFG_SHORT_PREAMBLE CFG_INI_BOOL( \ "gShortPreamble", \ 1, \ "Short Preamble") #define CFG_HT_AMPDU_PARAMS CFG_UINT( \ "ht_ampdu_params", \ 0, \ 255, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "HT AMPDU Params") #define CFG_EXT_HT_CAP_INFO CFG_UINT( \ "ext_ht_cap_info", \ 0, \ 65535, \ 1024, \ CFG_VALUE_OR_DEFAULT, \ "HT Ext Cap Info") #define CFG_HT_INFO_FIELD_1 CFG_UINT( \ "ht_info_field_1", \ 0, \ 255, \ 15, \ CFG_VALUE_OR_DEFAULT, \ "HT Info Field 1") #define CFG_HT_INFO_FIELD_2 CFG_UINT( \ "ht_info_field_2", \ 0, \ 65535, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "HT Info Field 2") #define CFG_HT_INFO_FIELD_3 CFG_UINT( \ "ht_info_field_3", \ 0, \ 65535, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "HT Info Field 3") /* * * gEnableHtSMPS - Enable the SM Power Save * @Min: 0 * @Max: 1 * @Default: 0 * * This ini is used to enable SM Power Save * * Related: None * * Supported Feature: STA * * Usage: External * * */ #define CFG_ENABLE_HT_SMPS CFG_INI_BOOL( \ "gEnableHtSMPS", \ 0, \ "Enable HT SM PowerSave") /* * * gHtSMPS - SMPS Mode * @Min: 0 * @Max: 3 * @Default: 3 * * This ini is used to set default SM Power Save Antenna mode * 0 - Static * 1 - Dynamic * 2 - Reserved/Invalid * 3 - Disabled * * Related: None * * Supported Feature: STA * * Usage: External * * */ #define CFG_HT_SMPS_MODE CFG_INI_UINT( \ "gHtSMPS", \ 0, \ 3, \ 3, \ CFG_VALUE_OR_DEFAULT, \ "HT SM Power Save Config") /* * * gMaxAmsduNum - Max number of MSDU's in aggregate * @Min: 0 * @Max: 15 * @Default: 0 * * gMaxAmsduNum is the number of MSDU's transmitted in the aggregated * frame. Setting it to a value larger than 1 enables transmit aggregation. * Set the value to 0 to enable FW automode selection where it decides * the maximum number of MSDUs in AMSDU based on connection mode. * * It is a PHY parameter that applies to all vdev's in firmware. * * Supported Feature: 11n aggregation * * Usage: Internal * * */ #define CFG_MAX_AMSDU_NUM CFG_INI_UINT( \ "gMaxAmsduNum", \ 0, \ 15, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "Max AMSDU Number") /* * * gMaxRxAmpduFactor - Provide the maximum ampdu factor. * @Min: 0 * @Max: 3 * @Default: 3 * * This ini is used to set default maxampdu factor * * Related: None * * Supported Feature: STA * * Usage: External * * */ #define CFG_MAX_RX_AMPDU_FACTOR CFG_INI_UINT( \ "gMaxRxAmpduFactor", \ 0, \ 3, \ 3, \ CFG_VALUE_OR_DEFAULT, \ "Max Rx AMPDU Factor") /* * * ght_mpdu_density - Configuration option for HT MPDU density * @Min: 0 * @Max: 7 * @Default: 4 * * This ini is used to set default MPDU Density * * Related: None * * Supported Feature: STA * * Usage: External * * As per (Table 8-125 802.11-2012) * 0 for no restriction * 1 for 1/4 micro sec * 2 for 1/2 micro sec * 3 for 1 micro sec * 4 for 2 micro sec * 5 for 4 micro sec * 6 for 8 micro sec * 7 for 16 micro sec * * */ #define CFG_MPDU_DENSITY CFG_INI_UINT( \ "ght_mpdu_density", \ 0, \ 7, \ 4, \ CFG_VALUE_OR_DEFAULT, \ "MPDU Density") /* * * gShortSlotTimeEnabled - It will set slot timing slot. * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to set default timing slot. * * Related: None * * Supported Feature: STA * * Usage: External * * */ #define CFG_SHORT_SLOT_TIME_ENABLED CFG_INI_BOOL( \ "gShortSlotTimeEnabled", \ 1, \ "Short Slot Time Enabled") #define CFG_HT_CAPS_ALL \ CFG(CFG_HT_CAP_INFO) \ CFG(CFG_TX_LDPC_ENABLE) \ CFG(CFG_RX_LDPC_ENABLE) \ CFG(CFG_TX_STBC_ENABLE) \ CFG(CFG_RX_STBC_ENABLE) \ CFG(CFG_SHORT_GI_20MHZ) \ CFG(CFG_SHORT_GI_40MHZ) \ CFG(CFG_SHORT_PREAMBLE) \ CFG(CFG_HT_AMPDU_PARAMS) \ CFG(CFG_EXT_HT_CAP_INFO) \ CFG(CFG_HT_INFO_FIELD_1) \ CFG(CFG_HT_INFO_FIELD_2) \ CFG(CFG_HT_INFO_FIELD_3) \ CFG(CFG_ENABLE_HT_SMPS) \ CFG(CFG_HT_SMPS_MODE) \ CFG(CFG_MAX_AMSDU_NUM) \ CFG(CFG_MAX_RX_AMPDU_FACTOR) \ CFG(CFG_MPDU_DENSITY) \ CFG(CFG_SHORT_SLOT_TIME_ENABLED) #endif /* __CFG_MLME_HT_CAPS_H */