1*5113495bSYour Name /* 2*5113495bSYour Name * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. 3*5113495bSYour Name * 4*5113495bSYour Name * Permission to use, copy, modify, and/or distribute this software for 5*5113495bSYour Name * any purpose with or without fee is hereby granted, provided that the 6*5113495bSYour Name * above copyright notice and this permission notice appear in all 7*5113495bSYour Name * copies. 8*5113495bSYour Name * 9*5113495bSYour Name * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10*5113495bSYour Name * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11*5113495bSYour Name * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12*5113495bSYour Name * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13*5113495bSYour Name * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14*5113495bSYour Name * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15*5113495bSYour Name * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16*5113495bSYour Name * PERFORMANCE OF THIS SOFTWARE. 17*5113495bSYour Name */ 18*5113495bSYour Name 19*5113495bSYour Name /** 20*5113495bSYour Name * DOC: This file contains centralized definitions of converged configuration. 21*5113495bSYour Name */ 22*5113495bSYour Name 23*5113495bSYour Name #ifndef __CFG_MLME_HT_CAPS_H 24*5113495bSYour Name #define __CFG_MLME_HT_CAPS_H 25*5113495bSYour Name 26*5113495bSYour Name /* 27*5113495bSYour Name * <ini> 28*5113495bSYour Name * gTxLdpcEnable - Config Param to enable Tx LDPC capability 29*5113495bSYour Name * @Min: 0 30*5113495bSYour Name * @Max: 3 31*5113495bSYour Name * @Default: 3 32*5113495bSYour Name * 33*5113495bSYour Name * This ini is used to enable/disable Tx LDPC capability 34*5113495bSYour Name * 0 - disable 35*5113495bSYour Name * 1 - HT LDPC enable 36*5113495bSYour Name * 2 - VHT LDPC enable 37*5113495bSYour Name * 3 - HT & VHT LDPC enable 38*5113495bSYour Name * 39*5113495bSYour Name * Related: STA/SAP/P2P/IBSS/NAN. 40*5113495bSYour Name * 41*5113495bSYour Name * Supported Feature: Concurrency/Standalone 42*5113495bSYour Name * 43*5113495bSYour Name * Usage: External 44*5113495bSYour Name * 45*5113495bSYour Name * </ini> 46*5113495bSYour Name */ 47*5113495bSYour Name #define CFG_TX_LDPC_ENABLE CFG_INI_UINT( \ 48*5113495bSYour Name "gTxLdpcEnable", \ 49*5113495bSYour Name 0, \ 50*5113495bSYour Name 3, \ 51*5113495bSYour Name 3, \ 52*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 53*5113495bSYour Name "Tx LDPC capability") 54*5113495bSYour Name 55*5113495bSYour Name /* 56*5113495bSYour Name * <ini> 57*5113495bSYour Name * gEnableRXLDPC - Config Param to enable Rx LDPC capability 58*5113495bSYour Name * @Min: 0 59*5113495bSYour Name * @Max: 1 60*5113495bSYour Name * @Default: 1 61*5113495bSYour Name * 62*5113495bSYour Name * This ini is used to enable/disable Rx LDPC capability 63*5113495bSYour Name * 0 - disable Rx LDPC 64*5113495bSYour Name * 1 - enable Rx LDPC 65*5113495bSYour Name * 66*5113495bSYour Name * Related: STA/SAP/P2P/IBSS/NAN. 67*5113495bSYour Name * 68*5113495bSYour Name * Supported Feature: Concurrency/Standalone 69*5113495bSYour Name * 70*5113495bSYour Name * Usage: External 71*5113495bSYour Name * 72*5113495bSYour Name * </ini> 73*5113495bSYour Name */ 74*5113495bSYour Name #define CFG_RX_LDPC_ENABLE CFG_INI_BOOL( \ 75*5113495bSYour Name "gEnableRXLDPC", \ 76*5113495bSYour Name 1, \ 77*5113495bSYour Name "Rx LDPC capability") 78*5113495bSYour Name 79*5113495bSYour Name /* 80*5113495bSYour Name * <ini> 81*5113495bSYour Name * gEnableTXSTBC - Enables/disables Tx STBC capability in STA mode 82*5113495bSYour Name * @Min: 0 83*5113495bSYour Name * @Max: 1 84*5113495bSYour Name * @Default: 1 85*5113495bSYour Name * 86*5113495bSYour Name * This ini is used to set default Tx STBC capability 87*5113495bSYour Name * 88*5113495bSYour Name * Related: None 89*5113495bSYour Name * 90*5113495bSYour Name * Supported Feature: STA 91*5113495bSYour Name * 92*5113495bSYour Name * Usage: External 93*5113495bSYour Name * 94*5113495bSYour Name * </ini> 95*5113495bSYour Name */ 96*5113495bSYour Name #define CFG_TX_STBC_ENABLE CFG_INI_BOOL( \ 97*5113495bSYour Name "gEnableTXSTBC", \ 98*5113495bSYour Name 1, \ 99*5113495bSYour Name "Tx STBC capability") 100*5113495bSYour Name 101*5113495bSYour Name /* 102*5113495bSYour Name * <ini> 103*5113495bSYour Name * gEnableRXSTBC - Enables/disables Rx STBC capability in STA mode 104*5113495bSYour Name * @Min: 0 105*5113495bSYour Name * @Max: 1 106*5113495bSYour Name * @Default: 1 107*5113495bSYour Name * 108*5113495bSYour Name * This ini is used to set default Rx STBC capability 109*5113495bSYour Name * 110*5113495bSYour Name * Related: None 111*5113495bSYour Name * 112*5113495bSYour Name * Supported Feature: STA 113*5113495bSYour Name * 114*5113495bSYour Name * Usage: External 115*5113495bSYour Name * 116*5113495bSYour Name * </ini> 117*5113495bSYour Name */ 118*5113495bSYour Name #define CFG_RX_STBC_ENABLE CFG_INI_BOOL( \ 119*5113495bSYour Name "gEnableRXSTBC", \ 120*5113495bSYour Name 1, \ 121*5113495bSYour Name "Rx STBC capability") 122*5113495bSYour Name 123*5113495bSYour Name /* 124*5113495bSYour Name * <ini> 125*5113495bSYour Name * gShortGI20Mhz - Short Guard Interval for HT20 126*5113495bSYour Name * @Min: 0 127*5113495bSYour Name * @Max: 1 128*5113495bSYour Name * @Default: 1 129*5113495bSYour Name * 130*5113495bSYour Name * This ini is used to set default short interval for HT20 131*5113495bSYour Name * 132*5113495bSYour Name * Related: None 133*5113495bSYour Name * 134*5113495bSYour Name * Supported Feature: STA 135*5113495bSYour Name * 136*5113495bSYour Name * Usage: External 137*5113495bSYour Name * 138*5113495bSYour Name * </ini> 139*5113495bSYour Name */ 140*5113495bSYour Name #define CFG_SHORT_GI_20MHZ CFG_INI_BOOL( \ 141*5113495bSYour Name "gShortGI20Mhz", \ 142*5113495bSYour Name 1, \ 143*5113495bSYour Name "Short Guard Interval for HT20") 144*5113495bSYour Name 145*5113495bSYour Name /* 146*5113495bSYour Name * <ini> 147*5113495bSYour Name * gShortGI40Mhz - It will check gShortGI20Mhz and 148*5113495bSYour Name * gShortGI40Mhz from session entry 149*5113495bSYour Name * @Min: 0 150*5113495bSYour Name * @Max: 1 151*5113495bSYour Name * @Default: 1 152*5113495bSYour Name * 153*5113495bSYour Name * This ini is used to set default gShortGI40Mhz 154*5113495bSYour Name * 155*5113495bSYour Name * Related: None 156*5113495bSYour Name * 157*5113495bSYour Name * Supported Feature: STA 158*5113495bSYour Name * 159*5113495bSYour Name * Usage: External 160*5113495bSYour Name * 161*5113495bSYour Name * </ini> 162*5113495bSYour Name */ 163*5113495bSYour Name #define CFG_SHORT_GI_40MHZ CFG_INI_BOOL( \ 164*5113495bSYour Name "gShortGI40Mhz", \ 165*5113495bSYour Name 1, \ 166*5113495bSYour Name "Short Guard Interval for HT40") 167*5113495bSYour Name 168*5113495bSYour Name #define CFG_HT_CAP_INFO CFG_UINT( \ 169*5113495bSYour Name "ht_cap_info", \ 170*5113495bSYour Name 0, \ 171*5113495bSYour Name 65535, \ 172*5113495bSYour Name 364, \ 173*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 174*5113495bSYour Name "HT cap info") 175*5113495bSYour Name 176*5113495bSYour Name /* 177*5113495bSYour Name * <ini> 178*5113495bSYour Name * gShortPreamble - Set Short Preamble 179*5113495bSYour Name * @Min: 0 180*5113495bSYour Name * @Max: 1 181*5113495bSYour Name * @Default: 1 182*5113495bSYour Name * 183*5113495bSYour Name * This ini is used to set default short Preamble 184*5113495bSYour Name * 185*5113495bSYour Name * Related: None 186*5113495bSYour Name * 187*5113495bSYour Name * Supported Feature: STA 188*5113495bSYour Name * 189*5113495bSYour Name * Usage: External 190*5113495bSYour Name * 191*5113495bSYour Name * </ini> 192*5113495bSYour Name */ 193*5113495bSYour Name #define CFG_SHORT_PREAMBLE CFG_INI_BOOL( \ 194*5113495bSYour Name "gShortPreamble", \ 195*5113495bSYour Name 1, \ 196*5113495bSYour Name "Short Preamble") 197*5113495bSYour Name 198*5113495bSYour Name #define CFG_HT_AMPDU_PARAMS CFG_UINT( \ 199*5113495bSYour Name "ht_ampdu_params", \ 200*5113495bSYour Name 0, \ 201*5113495bSYour Name 255, \ 202*5113495bSYour Name 0, \ 203*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 204*5113495bSYour Name "HT AMPDU Params") 205*5113495bSYour Name 206*5113495bSYour Name #define CFG_EXT_HT_CAP_INFO CFG_UINT( \ 207*5113495bSYour Name "ext_ht_cap_info", \ 208*5113495bSYour Name 0, \ 209*5113495bSYour Name 65535, \ 210*5113495bSYour Name 1024, \ 211*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 212*5113495bSYour Name "HT Ext Cap Info") 213*5113495bSYour Name 214*5113495bSYour Name #define CFG_HT_INFO_FIELD_1 CFG_UINT( \ 215*5113495bSYour Name "ht_info_field_1", \ 216*5113495bSYour Name 0, \ 217*5113495bSYour Name 255, \ 218*5113495bSYour Name 15, \ 219*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 220*5113495bSYour Name "HT Info Field 1") 221*5113495bSYour Name 222*5113495bSYour Name #define CFG_HT_INFO_FIELD_2 CFG_UINT( \ 223*5113495bSYour Name "ht_info_field_2", \ 224*5113495bSYour Name 0, \ 225*5113495bSYour Name 65535, \ 226*5113495bSYour Name 0, \ 227*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 228*5113495bSYour Name "HT Info Field 2") 229*5113495bSYour Name 230*5113495bSYour Name #define CFG_HT_INFO_FIELD_3 CFG_UINT( \ 231*5113495bSYour Name "ht_info_field_3", \ 232*5113495bSYour Name 0, \ 233*5113495bSYour Name 65535, \ 234*5113495bSYour Name 0, \ 235*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 236*5113495bSYour Name "HT Info Field 3") 237*5113495bSYour Name 238*5113495bSYour Name /* 239*5113495bSYour Name * <ini> 240*5113495bSYour Name * gEnableHtSMPS - Enable the SM Power Save 241*5113495bSYour Name * @Min: 0 242*5113495bSYour Name * @Max: 1 243*5113495bSYour Name * @Default: 0 244*5113495bSYour Name * 245*5113495bSYour Name * This ini is used to enable SM Power Save 246*5113495bSYour Name * 247*5113495bSYour Name * Related: None 248*5113495bSYour Name * 249*5113495bSYour Name * Supported Feature: STA 250*5113495bSYour Name * 251*5113495bSYour Name * Usage: External 252*5113495bSYour Name * 253*5113495bSYour Name * </ini> 254*5113495bSYour Name */ 255*5113495bSYour Name #define CFG_ENABLE_HT_SMPS CFG_INI_BOOL( \ 256*5113495bSYour Name "gEnableHtSMPS", \ 257*5113495bSYour Name 0, \ 258*5113495bSYour Name "Enable HT SM PowerSave") 259*5113495bSYour Name 260*5113495bSYour Name /* 261*5113495bSYour Name * <ini> 262*5113495bSYour Name * gHtSMPS - SMPS Mode 263*5113495bSYour Name * @Min: 0 264*5113495bSYour Name * @Max: 3 265*5113495bSYour Name * @Default: 3 266*5113495bSYour Name * 267*5113495bSYour Name * This ini is used to set default SM Power Save Antenna mode 268*5113495bSYour Name * 0 - Static 269*5113495bSYour Name * 1 - Dynamic 270*5113495bSYour Name * 2 - Reserved/Invalid 271*5113495bSYour Name * 3 - Disabled 272*5113495bSYour Name * 273*5113495bSYour Name * Related: None 274*5113495bSYour Name * 275*5113495bSYour Name * Supported Feature: STA 276*5113495bSYour Name * 277*5113495bSYour Name * Usage: External 278*5113495bSYour Name * 279*5113495bSYour Name * </ini> 280*5113495bSYour Name */ 281*5113495bSYour Name #define CFG_HT_SMPS_MODE CFG_INI_UINT( \ 282*5113495bSYour Name "gHtSMPS", \ 283*5113495bSYour Name 0, \ 284*5113495bSYour Name 3, \ 285*5113495bSYour Name 3, \ 286*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 287*5113495bSYour Name "HT SM Power Save Config") 288*5113495bSYour Name 289*5113495bSYour Name /* 290*5113495bSYour Name * <ini> 291*5113495bSYour Name * gMaxAmsduNum - Max number of MSDU's in aggregate 292*5113495bSYour Name * @Min: 0 293*5113495bSYour Name * @Max: 15 294*5113495bSYour Name * @Default: 0 295*5113495bSYour Name * 296*5113495bSYour Name * gMaxAmsduNum is the number of MSDU's transmitted in the aggregated 297*5113495bSYour Name * frame. Setting it to a value larger than 1 enables transmit aggregation. 298*5113495bSYour Name * Set the value to 0 to enable FW automode selection where it decides 299*5113495bSYour Name * the maximum number of MSDUs in AMSDU based on connection mode. 300*5113495bSYour Name * 301*5113495bSYour Name * It is a PHY parameter that applies to all vdev's in firmware. 302*5113495bSYour Name * 303*5113495bSYour Name * Supported Feature: 11n aggregation 304*5113495bSYour Name * 305*5113495bSYour Name * Usage: Internal 306*5113495bSYour Name * 307*5113495bSYour Name * </ini> 308*5113495bSYour Name */ 309*5113495bSYour Name #define CFG_MAX_AMSDU_NUM CFG_INI_UINT( \ 310*5113495bSYour Name "gMaxAmsduNum", \ 311*5113495bSYour Name 0, \ 312*5113495bSYour Name 15, \ 313*5113495bSYour Name 0, \ 314*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 315*5113495bSYour Name "Max AMSDU Number") 316*5113495bSYour Name 317*5113495bSYour Name /* 318*5113495bSYour Name * <ini> 319*5113495bSYour Name * gMaxRxAmpduFactor - Provide the maximum ampdu factor. 320*5113495bSYour Name * @Min: 0 321*5113495bSYour Name * @Max: 3 322*5113495bSYour Name * @Default: 3 323*5113495bSYour Name * 324*5113495bSYour Name * This ini is used to set default maxampdu factor 325*5113495bSYour Name * 326*5113495bSYour Name * Related: None 327*5113495bSYour Name * 328*5113495bSYour Name * Supported Feature: STA 329*5113495bSYour Name * 330*5113495bSYour Name * Usage: External 331*5113495bSYour Name * 332*5113495bSYour Name * </ini> 333*5113495bSYour Name */ 334*5113495bSYour Name #define CFG_MAX_RX_AMPDU_FACTOR CFG_INI_UINT( \ 335*5113495bSYour Name "gMaxRxAmpduFactor", \ 336*5113495bSYour Name 0, \ 337*5113495bSYour Name 3, \ 338*5113495bSYour Name 3, \ 339*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 340*5113495bSYour Name "Max Rx AMPDU Factor") 341*5113495bSYour Name 342*5113495bSYour Name /* 343*5113495bSYour Name * <ini> 344*5113495bSYour Name * ght_mpdu_density - Configuration option for HT MPDU density 345*5113495bSYour Name * @Min: 0 346*5113495bSYour Name * @Max: 7 347*5113495bSYour Name * @Default: 4 348*5113495bSYour Name * 349*5113495bSYour Name * This ini is used to set default MPDU Density 350*5113495bSYour Name * 351*5113495bSYour Name * Related: None 352*5113495bSYour Name * 353*5113495bSYour Name * Supported Feature: STA 354*5113495bSYour Name * 355*5113495bSYour Name * Usage: External 356*5113495bSYour Name * 357*5113495bSYour Name * As per (Table 8-125 802.11-2012) 358*5113495bSYour Name * 0 for no restriction 359*5113495bSYour Name * 1 for 1/4 micro sec 360*5113495bSYour Name * 2 for 1/2 micro sec 361*5113495bSYour Name * 3 for 1 micro sec 362*5113495bSYour Name * 4 for 2 micro sec 363*5113495bSYour Name * 5 for 4 micro sec 364*5113495bSYour Name * 6 for 8 micro sec 365*5113495bSYour Name * 7 for 16 micro sec 366*5113495bSYour Name * 367*5113495bSYour Name * </ini> 368*5113495bSYour Name */ 369*5113495bSYour Name #define CFG_MPDU_DENSITY CFG_INI_UINT( \ 370*5113495bSYour Name "ght_mpdu_density", \ 371*5113495bSYour Name 0, \ 372*5113495bSYour Name 7, \ 373*5113495bSYour Name 4, \ 374*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 375*5113495bSYour Name "MPDU Density") 376*5113495bSYour Name 377*5113495bSYour Name /* 378*5113495bSYour Name * <ini> 379*5113495bSYour Name * gShortSlotTimeEnabled - It will set slot timing slot. 380*5113495bSYour Name * @Min: 0 381*5113495bSYour Name * @Max: 1 382*5113495bSYour Name * @Default: 1 383*5113495bSYour Name * 384*5113495bSYour Name * This ini is used to set default timing slot. 385*5113495bSYour Name * 386*5113495bSYour Name * Related: None 387*5113495bSYour Name * 388*5113495bSYour Name * Supported Feature: STA 389*5113495bSYour Name * 390*5113495bSYour Name * Usage: External 391*5113495bSYour Name * 392*5113495bSYour Name * </ini> 393*5113495bSYour Name */ 394*5113495bSYour Name #define CFG_SHORT_SLOT_TIME_ENABLED CFG_INI_BOOL( \ 395*5113495bSYour Name "gShortSlotTimeEnabled", \ 396*5113495bSYour Name 1, \ 397*5113495bSYour Name "Short Slot Time Enabled") 398*5113495bSYour Name 399*5113495bSYour Name #define CFG_HT_CAPS_ALL \ 400*5113495bSYour Name CFG(CFG_HT_CAP_INFO) \ 401*5113495bSYour Name CFG(CFG_TX_LDPC_ENABLE) \ 402*5113495bSYour Name CFG(CFG_RX_LDPC_ENABLE) \ 403*5113495bSYour Name CFG(CFG_TX_STBC_ENABLE) \ 404*5113495bSYour Name CFG(CFG_RX_STBC_ENABLE) \ 405*5113495bSYour Name CFG(CFG_SHORT_GI_20MHZ) \ 406*5113495bSYour Name CFG(CFG_SHORT_GI_40MHZ) \ 407*5113495bSYour Name CFG(CFG_SHORT_PREAMBLE) \ 408*5113495bSYour Name CFG(CFG_HT_AMPDU_PARAMS) \ 409*5113495bSYour Name CFG(CFG_EXT_HT_CAP_INFO) \ 410*5113495bSYour Name CFG(CFG_HT_INFO_FIELD_1) \ 411*5113495bSYour Name CFG(CFG_HT_INFO_FIELD_2) \ 412*5113495bSYour Name CFG(CFG_HT_INFO_FIELD_3) \ 413*5113495bSYour Name CFG(CFG_ENABLE_HT_SMPS) \ 414*5113495bSYour Name CFG(CFG_HT_SMPS_MODE) \ 415*5113495bSYour Name CFG(CFG_MAX_AMSDU_NUM) \ 416*5113495bSYour Name CFG(CFG_MAX_RX_AMPDU_FACTOR) \ 417*5113495bSYour Name CFG(CFG_MPDU_DENSITY) \ 418*5113495bSYour Name CFG(CFG_SHORT_SLOT_TIME_ENABLED) 419*5113495bSYour Name 420*5113495bSYour Name #endif /* __CFG_MLME_HT_CAPS_H */ 421