wlan: adding cfg.ini parameter to configure ATH.
this gerit provides an option to configure(enable/disable)
Adaptive TH, throuth cfg.ini.
Change-Id: I873a3719a5efec7e63c6b9be62550bab720b724b
CRs-Fixed: 552703
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index 1fa8604..fd15ea9 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -1943,6 +1943,11 @@
#define CFG_COALESING_IN_IBSS_MAX (1)
#define CFG_COALESING_IN_IBSS_DEFAULT (0) //disabled
+#define CFG_DISABLE_ATH_NAME "gAthDisable"
+#define CFG_DISABLE_ATH_MIN (0)
+#define CFG_DISABLE_ATH_MAX (1)
+#define CFG_DISABLE_ATH_DEFAULT (0)
+
/*---------------------------------------------------------------------------
Type declarations
-------------------------------------------------------------------------*/
@@ -2347,6 +2352,7 @@
v_U8_t isAmsduSupportInAMPDU;
v_U8_t nSelect5GHzMargin;
v_U8_t isCoalesingInIBSSAllowed;
+ v_BOOL_t cfgAthDisable;
} hdd_config_t;
/*---------------------------------------------------------------------------
Function declarations and documenation
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index 1a97f16..a46e9cd 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -2812,6 +2812,13 @@
CFG_COALESING_IN_IBSS_DEFAULT,
CFG_COALESING_IN_IBSS_MIN,
CFG_COALESING_IN_IBSS_MAX ),
+
+ REG_VARIABLE( CFG_DISABLE_ATH_NAME , WLAN_PARAM_Integer,
+ hdd_config_t, cfgAthDisable,
+ VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
+ CFG_DISABLE_ATH_DEFAULT,
+ CFG_DISABLE_ATH_MIN,
+ CFG_DISABLE_ATH_MAX ),
};
/*
@@ -4365,6 +4372,13 @@
hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
}
+ if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ATH_DISABLE,
+ pConfig->cfgAthDisable, NULL,
+ eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
+ {
+ fStatus = FALSE;
+ hddLog(LOGE, "Could not pass on WNI_CFG_ATH_DISABLE to CCM");
+ }
return fStatus;
}
diff --git a/CORE/MAC/inc/wniCfgAp.h b/CORE/MAC/inc/wniCfgAp.h
index 4766533..cb481b9 100644
--- a/CORE/MAC/inc/wniCfgAp.h
+++ b/CORE/MAC/inc/wniCfgAp.h
@@ -363,6 +363,7 @@
#define WNI_CFG_FLEX_CONNECT_POWER_FACTOR 303
#define WNI_CFG_ANTENNA_DIVESITY 304
#define WNI_CFG_GO_LINK_MONITOR_TIMEOUT 305
+#define WNI_CFG_ATH_DISABLE 306
/*
* String parameter lengths
@@ -2562,10 +2563,18 @@
#define WNI_CFG_GO_LINK_MONITOR_TIMEOUT_APMAX 50
#define WNI_CFG_GO_LINK_MONITOR_TIMEOUT_APDEF 10
-#define CFG_PARAM_MAX_NUM 306
-#define CFG_AP_IBUF_MAX_SIZE 245
+#define WNI_CFG_ATH_DISABLE_STAMIN 0
+#define WNI_CFG_ATH_DISABLE_STAMAX 1
+#define WNI_CFG_ATH_DISABLE_STADEF 0
+
+#define WNI_CFG_ATH_DISABLE_APMIN 0
+#define WNI_CFG_ATH_DISABLE_APMAX 1
+#define WNI_CFG_ATH_DISABLE_APDEF 0
+
+#define CFG_PARAM_MAX_NUM 307
+#define CFG_AP_IBUF_MAX_SIZE 246
#define CFG_AP_SBUF_MAX_SIZE 3422
-#define CFG_STA_IBUF_MAX_SIZE 240
+#define CFG_STA_IBUF_MAX_SIZE 241
#define CFG_STA_SBUF_MAX_SIZE 3388
#define CFG_SEM_MAX_NUM 19
diff --git a/CORE/MAC/inc/wniCfgSta.h b/CORE/MAC/inc/wniCfgSta.h
index 93a7b50..84218bd 100644
--- a/CORE/MAC/inc/wniCfgSta.h
+++ b/CORE/MAC/inc/wniCfgSta.h
@@ -357,6 +357,7 @@
#define WNI_CFG_FLEX_CONNECT_POWER_FACTOR 303
#define WNI_CFG_ANTENNA_DIVESITY 304
#define WNI_CFG_GO_LINK_MONITOR_TIMEOUT 305
+#define WNI_CFG_ATH_DISABLE 306
/*
* String parameter lengths
@@ -1663,8 +1664,12 @@
#define WNI_CFG_GO_LINK_MONITOR_TIMEOUT_STAMAX 50
#define WNI_CFG_GO_LINK_MONITOR_TIMEOUT_STADEF 10
-#define CFG_PARAM_MAX_NUM 306
-#define CFG_STA_IBUF_MAX_SIZE 240
+#define WNI_CFG_ATH_DISABLE_STAMIN 0
+#define WNI_CFG_ATH_DISABLE_STAMAX 1
+#define WNI_CFG_ATH_DISABLE_STADEF 0
+
+#define CFG_PARAM_MAX_NUM 307
+#define CFG_STA_IBUF_MAX_SIZE 241
#define CFG_STA_SBUF_MAX_SIZE 3388
#define CFG_SEM_MAX_NUM 19
diff --git a/CORE/MAC/src/cfg/cfgParamName.c b/CORE/MAC/src/cfg/cfgParamName.c
index d79ce86..0aba866 100644
--- a/CORE/MAC/src/cfg/cfgParamName.c
+++ b/CORE/MAC/src/cfg/cfgParamName.c
@@ -335,6 +335,7 @@
(unsigned char *)"FLEX_CONNECT_POWER_FACTOR",
(unsigned char *)"ANTENNA_DIVESITY",
(unsigned char *)"GO_LINK_MONITOR_TIMEOUT",
+ (unsigned char *)"ATH_DISABLE",
};
diff --git a/CORE/MAC/src/cfg/cfgUtil/cfg.txt b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
index 17cea99..f7836e5 100644
--- a/CORE/MAC/src/cfg/cfgUtil/cfg.txt
+++ b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
@@ -18,35 +18,17 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-* Copyright (c) 2012, The Linux Foundation. All rights reserved.
-*
-* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
-*
-*
-* 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.
-
-*
-* Woodside Networks, Inc proprietary. All rights reserved.
-* This is the data definition file for the CFG module.
-* Author: Kevin Nguyen
-* Date: 03/18/02
-* History:-
-* 03/18/02 Created.
-* 08/10/05 ww: add maoe channels to have a complete channel listing: (see WNI_CFG_VALID_CHANNEL_LIST)
-* 08/10/05 ww: WNI_CFG_SCAN_CONTROL_LIST has a new contents
-* --------------------------------------------------------------------
+/*
+ * Woodside Networks, Inc proprietary. All rights reserved.
+ * This is the data definition file for the CFG module.
+ * Author: Kevin Nguyen
+ * Date: 03/18/02
+ * History:-
+ * 03/18/02 Created.
+ * 08/10/05 ww: add maoe channels to have a complete channel listing: (see WNI_CFG_VALID_CHANNEL_LIST)
+ * 08/10/05 ww: WNI_CFG_SCAN_CONTROL_LIST has a new contents
+ * --------------------------------------------------------------------
+ */
**********************************************************************
*
@@ -4610,3 +4592,13 @@
3 50 10
*
*
+
+* ATH Enable/Disable
+*
+WNI_CFG_ATH_DISABLE I 4 7
+V RW NP
+NONE
+0 1 0
+V RW NP
+NONE
+0 1 0
diff --git a/CORE/WDA/src/wlan_qct_wda.c b/CORE/WDA/src/wlan_qct_wda.c
index 0ca8570..367bf17 100644
--- a/CORE/WDA/src/wlan_qct_wda.c
+++ b/CORE/WDA/src/wlan_qct_wda.c
@@ -1665,6 +1665,20 @@
tlvStruct = (tHalCfg *)( (tANI_U8 *) tlvStruct
+ sizeof(tHalCfg) + tlvStruct->length) ;
+ /* QWLAN_HAL_CFG_ATH_DISABLE */
+ tlvStruct->type = QWLAN_HAL_CFG_ATH_DISABLE ;
+ tlvStruct->length = sizeof(tANI_U32);
+ configDataValue = (tANI_U32 *)(tlvStruct + 1);
+ if(wlan_cfgGetInt(pMac, WNI_CFG_ATH_DISABLE,
+ configDataValue ) != eSIR_SUCCESS)
+ {
+ VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
+ "Failed to get value for WNI_CFG_ATH_DISABLE");
+ goto handle_failure;
+ }
+ tlvStruct = (tHalCfg *)( (tANI_U8 *) tlvStruct
+ + sizeof(tHalCfg) + tlvStruct->length) ;
+
wdiStartParams->usConfigBufferLen = (tANI_U8 *)tlvStruct - tlvStructStart ;
#ifdef WLAN_DEBUG
{
diff --git a/firmware_bin/WCNSS_cfg.dat b/firmware_bin/WCNSS_cfg.dat
index 14de0da..14c7780 100644
--- a/firmware_bin/WCNSS_cfg.dat
+++ b/firmware_bin/WCNSS_cfg.dat
Binary files differ