/* * 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 /* * * 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 * * */ #define CFG_NUM_TX_CHAINS_2G CFG_INI_UINT( \ "num_tx_chains_2g", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "num tx chains 2g") /* * * 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 * * */ #define CFG_NUM_TX_CHAINS_5G CFG_INI_UINT( \ "num_tx_chains_5g", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "num tx chains 5g") /* * * 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 * * */ #define CFG_NUM_RX_CHAINS_2G CFG_INI_UINT( \ "num_rx_chains_2g", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "num rx chains 2g") /* * * 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 * * */ #define CFG_NUM_RX_CHAINS_5G CFG_INI_UINT( \ "num_rx_chains_5g", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "num rx chains 5g") /* * * 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 * * */ #define CFG_TX_NSS_2G CFG_INI_UINT( \ "tx_nss_2g", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "tx nss 2.4ghz") /* * * 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 * * */ #define CFG_TX_NSS_5G CFG_INI_UINT( \ "tx_nss_5g", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "tx nss 5ghz") /* * * 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 * * */ #define CFG_RX_NSS_2G CFG_INI_UINT( \ "rx_nss_2g", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "rx nss 2.4ghz") /* * * 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 * * */ #define CFG_RX_NSS_5G CFG_INI_UINT( \ "rx_nss_5g", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "rx nss 5ghz") /* * * 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 * * */ #define CFG_NUM_TX_CHAINS_11b CFG_INI_UINT( \ "num_tx_chains_11b", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "num tx chains 11b") /* * * 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 * * */ #define CFG_NUM_TX_CHAINS_11g CFG_INI_UINT( \ "num_tx_chains_11g", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "num tx chains 11g") /* * * 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 * * */ #define CFG_NUM_TX_CHAINS_11a CFG_INI_UINT( \ "num_tx_chains_11a", \ 0x01249249, \ 0x02492492, \ 0x02492492, \ CFG_VALUE_OR_DEFAULT, \ "num tx chains 11a") /* * * 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 * * */ #define CFG_DISABLE_TX_MRC_2G CFG_INI_BOOL( \ "disable_tx_mrc_2g", \ 0, \ "disable diversity gain tx 2g") /* * * 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 * * */ #define CFG_DISABLE_RX_MRC_2G CFG_INI_BOOL( \ "disable_rx_mrc_2g", \ 0, \ "disable diversity gain rx 2g") /* * * 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 * * */ #define CFG_DISABLE_TX_MRC_5G CFG_INI_BOOL( \ "disable_tx_mrc_5g", \ 0, \ "disable diversity gain tx 5g") /* * * 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 * * */ #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 */