blob: a4d47e71df0e662abd079e1ef7cd6c7644a8ba18 [file] [log] [blame]
/*
* 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_MLME_NSS_CHAINS
#define __CFG_MLME_NSS_CHAINS
/*
* <ini>
* num_tx_chains_2g - Config Param to change number of tx
* chains per vdev for 2.4ghz frequency connections
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of chains for eg:-
* 0x01249249 - change all vdev's num tx chains for 2.4ghz connection to 1 each
* 0x02492492 - change all vdev's num tx chains for 2.4ghz connection to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_NUM_TX_CHAINS_2G CFG_INI_UINT( \
"num_tx_chains_2g", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"num tx chains 2g")
/*
* <ini>
* num_tx_chains_5g - Config Param to change number of tx
* chains per vdev for 5 ghz frequency connections
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of chains for eg:-
* 0x01249249- change all vdev's tx num chains for 5ghz connection to 1 each
* 0x02492492 - change all vdev's tx num chains for 5ghz connection to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_NUM_TX_CHAINS_5G CFG_INI_UINT( \
"num_tx_chains_5g", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"num tx chains 5g")
/*
* <ini>
* num_rx_chains_2g - Config Param to change number of rx
* chains per vdev for 2.4 ghz frequency connections
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of chains for eg:-
* 0x01249249 - change all vdev's rx num chains for 2.4ghz connections to 1 each
* 0x02492492 - change all vdev's rx num chains for 2.4ghz connections to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_NUM_RX_CHAINS_2G CFG_INI_UINT( \
"num_rx_chains_2g", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"num rx chains 2g")
/*
* <ini>
* num_rx_chains_5g - Config Param to change number of rx
* chains per vdev for 5 ghz frequency connections
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of chains for eg:-
* 0x01249249 - change all vdev's rx num chains for 5ghz connections to 1 each
* 0x02492492 - change all vdev's rx num chains for 5ghz connections to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_NUM_RX_CHAINS_5G CFG_INI_UINT( \
"num_rx_chains_5g", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"num rx chains 5g")
/*
* <ini>
* tx_nss_2g - Config Param to change tx nss
* per vdev for 2.4ghz frequency connections
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of tx spatial streams for eg:-
* 0x01249249 - change all vdev's tx nss for 2.4ghz connections to 1 each
* 0x02492492 - change all vdev's tx nss for 2.4ghz connections to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_TX_NSS_2G CFG_INI_UINT( \
"tx_nss_2g", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"tx nss 2.4ghz")
/*
* <ini>
* tx_nss_5g - Config Param to change tx nss
* per vdev for 5ghz frequency connections
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of tx spatial streams for eg:-
* 0x01249249 - change all vdev's tx nss for 5ghz connections to 1 each
* 0x02492492 - change all vdev's tx nss for 5ghz connections to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_TX_NSS_5G CFG_INI_UINT( \
"tx_nss_5g", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"tx nss 5ghz")
/*
* <ini>
* rx_nss_2g - Config Param to change rx nss
* per vdev for 2.4ghz frequency connections
*
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of rx spatial streams for eg:-
* 0x01249249 - change all vdev's rx nss for 2.4ghz connections to 1 each
* 0x02492492 - change all vdev's rx nss for 2.4ghz connections to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_RX_NSS_2G CFG_INI_UINT( \
"rx_nss_2g", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"rx nss 2.4ghz")
/*
* <ini>
* rx_nss_5g - Config Param to change rx nss
* per vdev for 5ghz frequency connections
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of rx spatial streams for eg:-
* 0x01249249 - change all vdev's rx nss for 5ghz connections to 1 each
* 0x02492492 - change all vdev's rx nss for 5ghz connections to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_RX_NSS_5G CFG_INI_UINT( \
"rx_nss_5g", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"rx nss 5ghz")
/*
* <ini>
* num_tx_chains_11b - Config Param to change number of tx
* chains per vdev for 2.4ghz 11b mode connections
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of chains for eg:-
* 0x01249249 - change all vdev's num chains for 11b connections to 1 each
* 0x02492492 - change all vdev's num chains for 11b connections to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_NUM_TX_CHAINS_11b CFG_INI_UINT( \
"num_tx_chains_11b", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"num tx chains 11b")
/*
* <ini>
* num_tx_chains_11g - Config Param to change number of tx
* chains per vdev for 2.4ghz 11g mode connections
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of chains for eg:-
* 0x01249249 - change all vdev's num chains for 11g connections to 1 each
* 0x02492492 - change all vdev's num chains for 11g connections to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_NUM_TX_CHAINS_11g CFG_INI_UINT( \
"num_tx_chains_11g", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"num tx chains 11g")
/*
* <ini>
* num_tx_chains_11a - Config Param to change number of tx
* chains per vdev for 5ghz 11a mode connections
* @Min: 0x01249249
* @Max: 0x02492492
* @Default: 0x02492492
*
* This ini is used to change the num of chains for eg:-
* 0x01249249 - change all vdev's num chains for 11a connections to 1 each
* 0x02492492 - change all vdev's num chains for 11a connections to 2 each
* Bits VDEV Type
* BIT[0:2] STA
* BIT[3:5] SAP
* BIT[6:8] P2P GO
* BIT[9:11] P2P Client
* BIT[12:14] TDLS
* BIT[15:17] IBSS
* BIT[18:20] P2P device
* BIT[21:23] OCB
* BIT[24:26] NAN
* BIT[27:31] Reserved
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_NUM_TX_CHAINS_11a CFG_INI_UINT( \
"num_tx_chains_11a", \
0x01249249, \
0x02492492, \
0x02492492, \
CFG_VALUE_OR_DEFAULT, \
"num tx chains 11a")
/*
* <ini>
* disable_tx_mrc_2g - Config Param to disable 2 chains in 1x1 nss mode
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_DISABLE_TX_MRC_2G CFG_INI_BOOL( \
"disable_tx_mrc_2g", \
0, \
"disable diversity gain tx 2g")
/*
* <ini>
* disable_rx_mrc_2g - Config Param to disable 2 chains in 1x1 nss mode
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_DISABLE_RX_MRC_2G CFG_INI_BOOL( \
"disable_rx_mrc_2g", \
0, \
"disable diversity gain rx 2g")
/*
* <ini>
* disable_tx_mrc_5g - Config Param to disable 2 chains in 1x1 nss mode
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_DISABLE_TX_MRC_5G CFG_INI_BOOL( \
"disable_tx_mrc_5g", \
0, \
"disable diversity gain tx 5g")
/*
* <ini>
* disable_rx_mrc_5g - Config Param to disable 2 chains in 1x1 nss mode
* @Min: 0
* @Max: 1
* @Default: 0
*
* Related: STA/SAP/P2P/IBSS/NAN.
*
* Supported Feature: Dynamic chainmask
*
* Usage: External
*
* </ini>
*/
#define CFG_DISABLE_RX_MRC_5G CFG_INI_BOOL( \
"disable_rx_mrc_5g", \
0, \
"disable diversity gain rx 5g")
#define CFG_NSS_CHAINS_ALL \
CFG(CFG_NUM_TX_CHAINS_2G) \
CFG(CFG_NUM_TX_CHAINS_5G) \
CFG(CFG_NUM_RX_CHAINS_2G) \
CFG(CFG_NUM_RX_CHAINS_5G) \
CFG(CFG_TX_NSS_5G) \
CFG(CFG_TX_NSS_2G) \
CFG(CFG_RX_NSS_5G) \
CFG(CFG_RX_NSS_2G) \
CFG(CFG_NUM_TX_CHAINS_11b) \
CFG(CFG_NUM_TX_CHAINS_11g) \
CFG(CFG_NUM_TX_CHAINS_11a) \
CFG(CFG_DISABLE_TX_MRC_2G) \
CFG(CFG_DISABLE_RX_MRC_2G) \
CFG(CFG_DISABLE_TX_MRC_5G) \
CFG(CFG_DISABLE_RX_MRC_5G)
#endif /* __CFG_MLME_NSS_CHAINS */