/* * 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_VHT_CAPS_H #define __CFG_MLME_VHT_CAPS_H #define CFG_VHT_SUPP_CHAN_WIDTH CFG_UINT( \ "supp_chan_width", \ 0, \ 2, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "VHT SUPPORTED CHAN WIDTH SET") /* * * gTxBFCsnValue - ini to set VHT/HE STS Caps field * @Min: 0 * @Max: 7 * @Default: 7 * * This ini is used to configure the STS capability shown in AC/AX mode * MGMT frame IE, the final STS field shown in VHT/HE IE will be calculated * by MIN of (INI set, target report value). Only if gTxBFEnable is enabled * and SU/MU BEAMFORMEE Caps is shown, then STS Caps make sense. * * Related: gTxBFEnable. * * Supported Feature: STA/SAP * * Usage: Internal * * */ #define CFG_VHT_BEAMFORMEE_ANT_SUPP CFG_INI_UINT( \ "txBFCsnValue", \ 0, \ 7, \ 7, \ CFG_VALUE_OR_DEFAULT, \ "VHT BEAMFORMEE ANTENNA SUPPORTED CAP") /* * * gEnableTxSUBeamformer - Enables TX Su beam former * @Min: 0 * @Max: 1 * @Default: 0 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER CFG_INI_BOOL( \ "gEnableTxSUBeamformer", \ 0, \ "vht tx su beam former") #define CFG_VHT_NUM_SOUNDING_DIMENSIONS CFG_UINT( \ "num_soundingdim", \ 0, \ 3, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "VHT NUMBER OF SOUNDING DIMENSIONS") #define CFG_VHT_HTC_VHTC CFG_BOOL( \ "htc_vhtc", \ 0, \ "VHT HTC VHTC") #define CFG_VHT_LINK_ADAPTATION_CAP CFG_UINT( \ "link_adap_cap", \ 0, \ 3, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "VHT LINK ADAPTATION CAP") #define CFG_VHT_RX_ANT_PATTERN CFG_BOOL( \ "rx_antpattern", \ 1, \ "VHT RX ANTENNA PATTERN CAP") #define CFG_VHT_TX_ANT_PATTERN CFG_BOOL( \ "tx_antpattern", \ 1, \ "VHT TX ANTENNA PATTERN CAP") #define CFG_VHT_RX_SUPP_DATA_RATE CFG_UINT( \ "rx_supp_data_rate", \ 0, \ 780, \ 780, \ CFG_VALUE_OR_DEFAULT, \ "VHT RX SUPP DATA RATE") #define CFG_VHT_TX_SUPP_DATA_RATE CFG_UINT( \ "tx_supp_data_rate", \ 0, \ 780, \ 780, \ CFG_VALUE_OR_DEFAULT, \ "VHT TX SUPP DATA RATE") #define CFG_TX_BF_CAP CFG_UINT( \ "tx_bf_cap", \ 0, \ 4294967295, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "TX BF CAP") #define CFG_AS_CAP CFG_UINT( \ "as_cap", \ 0, \ 255, \ 0, \ CFG_VALUE_OR_DEFAULT, \ "AS CAP") /* * * gDisableLDPCWithTxbfAP - Disable LDPC with tx bf AP * @Min: 0 * @Max: 1 * @Default: 0 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_DISABLE_LDPC_WITH_TXBF_AP CFG_INI_BOOL( \ "gDisableLDPCWithTxbfAP", \ 0, \ "Disable LDPC with tx bf AP") /* * * gTxBFEnable - Enables SU beamformee caps * @Min: 0 * @Max: 1 * @Default: 1 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_SU_BEAMFORMEE_CAP CFG_INI_BOOL( \ "gTxBFEnable", \ 1, \ "VHT SU BEAMFORMEE CAPABILITY") /* * * gEnableTxBFin20MHz - Enables TXBF in 20mhz * @Min: 0 * @Max: 1 * @Default: 1 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_TXBF_IN_20MHZ CFG_INI_BOOL( \ "gEnableTxBFin20MHz", \ 1, \ "VHT ENABLE TXBF 20MHZ") #define CFG_VHT_MU_BEAMFORMER_CAP CFG_BOOL( \ "mu_bformer", \ 0, \ "VHT MU BEAMFORMER CAP") #define CFG_VHT_TXOP_PS CFG_BOOL( \ "txop_ps", \ 0, \ "VHT TXOP PS") /* * * gVhtChannelWidth - Channel width capability for 11ac * @Min: 0 * @Max: 4 * @Default: 2 * * This ini is used to set channel width capability for 11AC. * eHT_CHANNEL_WIDTH_20MHZ = 0, * eHT_CHANNEL_WIDTH_40MHZ = 1, * eHT_CHANNEL_WIDTH_80MHZ = 2, * eHT_CHANNEL_WIDTH_160MHZ = 3, * eHT_CHANNEL_WIDTH_80P80MHZ = 4, * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_CHANNEL_WIDTH CFG_INI_UINT( \ "gVhtChannelWidth", \ 0, \ 4, \ 2, \ CFG_VALUE_OR_DEFAULT, \ "Channel width capability for 11ac") /* * * gVhtRxMCS - VHT Rx MCS capability for 1x1 mode * @Min: 0 * @Max: 2 * @Default: 2 * * This ini is used to set VHT Rx MCS capability for 1x1 mode. * 0, MCS0-7 * 1, MCS0-8 * 2, MCS0-9 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_RX_MCS_8_9 CFG_INI_UINT( \ "gVhtRxMCS", \ 0, \ 2, \ 2, \ CFG_VALUE_OR_DEFAULT, \ "VHT Rx MCS") /* * * gVhtTxMCS - VHT Tx MCS capability for 1x1 mode * @Min: 0 * @Max: 2 * @Default: 2 * * This ini is used to set VHT Tx MCS capability for 1x1 mode. * 0, MCS0-7 * 1, MCS0-8 * 2, MCS0-9 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_TX_MCS_8_9 CFG_INI_UINT( \ "gVhtTxMCS", \ 0, \ 2, \ 2, \ CFG_VALUE_OR_DEFAULT, \ "VHT Tx MCS") /* * * gVhtRxMCS2x2 - VHT Rx MCS capability for 2x2 mode * @Min: 0 * @Max: 2 * @Default: 2 * * This ini is used to set VHT Rx MCS capability for 2x2 mode. * 0, MCS0-7 * 1, MCS0-8 * 2, MCS0-9 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_RX_MCS2x2_8_9 CFG_INI_UINT( \ "gVhtRxMCS2x2", \ 0, \ 2, \ 2, \ CFG_VALUE_OR_DEFAULT, \ "VHT Rx MCS 2x2") /* * * gVhtTxMCS2x2 - VHT Tx MCS capability for 2x2 mode * @Min: 0 * @Max: 2 * @Default: 2 * * This ini is used to set VHT Tx MCS capability for 2x2 mode. * 0, MCS0-7 * 1, MCS0-8 * 2, MCS0-9 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_TX_MCS2x2_8_9 CFG_INI_UINT( \ "gVhtTxMCS2x2", \ 0, \ 2, \ 2, \ CFG_VALUE_OR_DEFAULT, \ "VHT Tx MCS 2x2") /* * * enable_vht20_mcs9 - Enables VHT MCS9 in 20M BW operation * @Min: 0 * @Max: 1 * @Default: 1 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_ENABLE_VHT20_MCS9 CFG_INI_BOOL( \ "enable_vht20_mcs9", \ 1, \ "Enables VHT MCS9 in 20M BW") /* * * gEnable2x2 - Enables/disables VHT Tx/Rx MCS values for 2x2 * @Min: 0 * @Max: 1 * @Default: 1 * * This ini disables/enables 2x2 mode. If this is zero then DUT operates as 1x1 * * 0, Disable * 1, Enable * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_2x2_CAP_FEATURE CFG_INI_BOOL( \ "gEnable2x2", \ 1, \ "VHT Enable 2x2") /* * * gEnableMuBformee - Enables/disables multi-user (MU) beam formee capability * @Min: 0 * @Max: 1 * @Default: 1 * * This ini enables/disables multi-user (MU) beam formee * capability * * Change MU Bformee only when gTxBFEnable is enabled. * When gTxBFEnable and gEnableMuBformee are set, MU beam formee capability is * enabled. * Related: gTxBFEnable * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE CFG_INI_BOOL( \ "gEnableMuBformee", \ 1, \ "VHT Enable MU Beamformee") /* * * gEnablePAID - VHT partial AID feature * @Min: 0 * @Max: 1 * @Default: 0 * * This option enables/disables VHT partial AID feature. * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_PAID_FEATURE CFG_INI_BOOL( \ "gEnablePAID", \ 0, \ "VHT Enable PAID") /* * * gEnableGID - VHT Group ID feature * @Min: 0 * @Max: 1 * @Default: 0 * * This option enables/disables VHT Group ID feature. * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_GID_FEATURE CFG_INI_BOOL( \ "gEnableGID", \ 0, \ "VHT Enable GID") /* * * gEnableVhtFor24GHzBand - Enable VHT for 2.4GHZ in SAP mode * @Min: 0 * @Max: 1 * @Default: 1 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_ENABLE_VHT_FOR_24GHZ CFG_INI_BOOL( \ "gEnableVhtFor24GHzBand", \ 1, \ "VHT Enable for 24GHz") /* * gEnableVendorVhtFor24GHzBand - Parameter to control VHT support * based on vendor ie in 2.4 GHz band * @Min: 0 * @Max: 1 * @Default: 1 * * This parameter will enable SAP to read VHT capability in vendor ie in Assoc * Req and send VHT caps in Resp to establish connection in VHT Mode. * Supported Feature: SAP * * * Usage: External * * */ #define CFG_ENABLE_VENDOR_VHT_FOR_24GHZ CFG_INI_BOOL( \ "gEnableVendorVhtFor24GHzBand", \ 1, \ "VHT Enable Vendor for 24GHz") /* * * gVhtAmpduLenExponent - maximum receive AMPDU size configuration * @Min: 0 * @Max: 7 * @Default: 7 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_AMPDU_LEN_EXPONENT CFG_INI_UINT( \ "gVhtAmpduLenExponent", \ 0, \ 7, \ 7, \ CFG_VALUE_OR_DEFAULT, \ "VHT AMPDU Len in Exponent") /* * * gVhtMpduLen - VHT MPDU length * @Min: 0 * @Max: 2 * @Default: 2 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_MPDU_LEN CFG_INI_UINT( \ "gVhtMpduLen", \ 0, \ 2, \ 2, \ CFG_VALUE_OR_DEFAULT, \ "VHT MPDU Length") /* * * gEnableTxBFeeSAP - Enable / Disable Tx beamformee in SAP mode * @Min: 0 * @Max: 1 * @Default: 1 * * Related: NA * * Supported Feature: 11AC * * Usage: External * * */ #define CFG_VHT_ENABLE_TXBF_SAP_MODE CFG_INI_BOOL( \ "gEnableTxBFeeSAP", \ 1, \ "Enable tx bf sap mode") /* * * enable_subfee_vendor_vhtie - ini to enable/disable SU Bformee in vendor VHTIE * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to enable/disable SU Bformee in vendor vht ie if gTxBFEnable * is enabled. if gTxBFEnable is 0 this will not have any effect. * * Related: gTxBFEnable. * * Supported Feature: STA * * Usage: External * * */ #define CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE CFG_INI_BOOL( \ "enable_subfee_vendor_vhtie", \ 1, \ "Enable subfee in vendor vht ie") /* * * enable_vhtmcs_10_11_support - Enable/Disable vht mcs 10, 11 support * @Min: 0 * @Max: 1 * @Default: 1 * * This ini is used to enable/disable mcs 10, 11 support. * * Related: NA * * Usage: Internal * * */ #define CFG_ENABLE_VHT_MCS_10_11 CFG_INI_BOOL( \ "enable_vhtmcs_10_11_support", \ 1, \ "Enable/Disable vht mcs 10, 11 support") #define CFG_VHT_CAPS_ALL \ CFG(CFG_VHT_SUPP_CHAN_WIDTH) \ CFG(CFG_VHT_SU_BEAMFORMEE_CAP) \ CFG(CFG_VHT_BEAMFORMEE_ANT_SUPP) \ CFG(CFG_VHT_ENABLE_TX_SU_BEAM_FORMER) \ CFG(CFG_VHT_NUM_SOUNDING_DIMENSIONS) \ CFG(CFG_VHT_MU_BEAMFORMER_CAP) \ CFG(CFG_VHT_TXOP_PS) \ CFG(CFG_VHT_HTC_VHTC) \ CFG(CFG_VHT_LINK_ADAPTATION_CAP) \ CFG(CFG_VHT_RX_ANT_PATTERN) \ CFG(CFG_VHT_TX_ANT_PATTERN) \ CFG(CFG_VHT_RX_SUPP_DATA_RATE) \ CFG(CFG_VHT_TX_SUPP_DATA_RATE) \ CFG(CFG_VHT_ENABLE_TXBF_IN_20MHZ) \ CFG(CFG_VHT_CHANNEL_WIDTH) \ CFG(CFG_VHT_ENABLE_RX_MCS_8_9) \ CFG(CFG_VHT_ENABLE_TX_MCS_8_9) \ CFG(CFG_VHT_ENABLE_RX_MCS2x2_8_9) \ CFG(CFG_VHT_ENABLE_TX_MCS2x2_8_9) \ CFG(CFG_ENABLE_VHT20_MCS9) \ CFG(CFG_VHT_ENABLE_2x2_CAP_FEATURE) \ CFG(CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE) \ CFG(CFG_VHT_ENABLE_PAID_FEATURE) \ CFG(CFG_VHT_ENABLE_GID_FEATURE) \ CFG(CFG_ENABLE_VHT_FOR_24GHZ) \ CFG(CFG_ENABLE_VENDOR_VHT_FOR_24GHZ) \ CFG(CFG_VHT_AMPDU_LEN_EXPONENT) \ CFG(CFG_VHT_MPDU_LEN) \ CFG(CFG_VHT_ENABLE_TXBF_SAP_MODE) \ CFG(CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE) \ CFG(CFG_TX_BF_CAP) \ CFG(CFG_AS_CAP) \ CFG(CFG_DISABLE_LDPC_WITH_TXBF_AP) \ CFG(CFG_ENABLE_VHT_MCS_10_11) #endif /* __CFG_MLME_VHT_CAPS_H */