Merge "Wlan: Add new vos api to support deferrable timer"
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index 87f3633..42d63e5 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -2550,6 +2550,16 @@
#define CFG_OPTIMIZE_CA_EVENT_ENABLE ( 1 )
#define CFG_OPTIMIZE_CA_EVENT_DEFAULT ( 0 )
+/*
+ * BOffsetCorrectionEnable : This ini will control enabling/disabling
+ * of rate dependent power offsets in firmware
+ */
+
+#define CFG_SAR_BOFFSET_SET_CORRECTION_NAME "gBOffsetCorrectionEnable"
+#define CFG_SAR_BOFFSET_SET_CORRECTION_MIN (0)
+#define CFG_SAR_BOFFSET_SET_CORRECTION_MAX (1)
+#define CFG_SAR_BOFFSET_SET_CORRECTION_DEFAULT (0)
+
/*---------------------------------------------------------------------------
Type declarations
-------------------------------------------------------------------------*/
@@ -3065,6 +3075,7 @@
v_U8_t gOptimizeCAevent;
v_BOOL_t crash_inject_enabled;
v_U16_t rps_mask;
+ v_U8_t boffset_correction_enable;
} hdd_config_t;
/*---------------------------------------------------------------------------
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index 5ba7ffc..00eaee3 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -3408,6 +3408,13 @@
CFG_RPS_CPU_MAP_DEFAULT,
CFG_RPS_CPU_MAP_MIN,
CFG_RPS_CPU_MAP_MAX),
+
+ REG_VARIABLE(CFG_SAR_BOFFSET_SET_CORRECTION_NAME, WLAN_PARAM_Integer,
+ hdd_config_t, boffset_correction_enable,
+ VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
+ CFG_SAR_BOFFSET_SET_CORRECTION_DEFAULT,
+ CFG_SAR_BOFFSET_SET_CORRECTION_MIN,
+ CFG_SAR_BOFFSET_SET_CORRECTION_MAX),
};
/*
@@ -5401,6 +5408,14 @@
hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MAC_ADDR_SPOOFING ");
}
+ if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SAR_BOFFSET_SET_CORRECTION,
+ pConfig->boffset_correction_enable,
+ NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
+ {
+ fStatus = FALSE;
+ hddLog(LOGE, "Could not pass on WNI_CFG_SAR_BOFFSET_SET_CORRECTION to CCM");
+ }
+
return fStatus;
}
diff --git a/CORE/MAC/inc/wniCfg.h b/CORE/MAC/inc/wniCfg.h
index 5061365..a993414 100644
--- a/CORE/MAC/inc/wniCfg.h
+++ b/CORE/MAC/inc/wniCfg.h
@@ -387,7 +387,8 @@
WNI_CFG_LINK_FAIL_TIMEOUT,
WNI_CFG_LINK_FAIL_TX_CNT,
WNI_CFG_OPTIMIZE_CA_EVENT,
- WNI_CFG_ENABLE_MAC_ADDR_SPOOFING
+ WNI_CFG_ENABLE_MAC_ADDR_SPOOFING,
+ WNI_CFG_SAR_BOFFSET_SET_CORRECTION
};
/*
@@ -1896,8 +1897,12 @@
#define WNI_CFG_ENABLE_MAC_ADDR_SPOOFING_MAX 2
#define WNI_CFG_ENABLE_MAC_ADDR_SPOOFING_DEF 1
-#define CFG_PARAM_MAX_NUM 354
-#define CFG_STA_IBUF_MAX_SIZE 288
+#define WNI_CFG_SAR_BOFFSET_SET_CORRECTION_MIN 0
+#define WNI_CFG_SAR_BOFFSET_SET_CORRECTION_MAX 1
+#define WNI_CFG_SAR_BOFFSET_SET_CORRECTION_DEFAULT 0
+
+#define CFG_PARAM_MAX_NUM 355
+#define CFG_STA_IBUF_MAX_SIZE 289
#define CFG_STA_SBUF_MAX_SIZE 3389
#define CFG_STA_MAGIC_DWORD 0xbeefbeef
diff --git a/CORE/MAC/src/cfg/cfgProcMsg.c b/CORE/MAC/src/cfg/cfgProcMsg.c
index 9ca92e9..5413298 100644
--- a/CORE/MAC/src/cfg/cfgProcMsg.c
+++ b/CORE/MAC/src/cfg/cfgProcMsg.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -1681,7 +1681,12 @@
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | CFG_CTL_NTF_HAL,
WNI_CFG_ENABLE_MAC_ADDR_SPOOFING_MIN,
WNI_CFG_ENABLE_MAC_ADDR_SPOOFING_MAX,
- WNI_CFG_ENABLE_MAC_ADDR_SPOOFING_DEF}
+ WNI_CFG_ENABLE_MAC_ADDR_SPOOFING_DEF},
+ {WNI_CFG_SAR_BOFFSET_SET_CORRECTION,
+ CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | CFG_CTL_NTF_HAL,
+ WNI_CFG_SAR_BOFFSET_SET_CORRECTION_MIN,
+ WNI_CFG_SAR_BOFFSET_SET_CORRECTION_MAX,
+ WNI_CFG_SAR_BOFFSET_SET_CORRECTION_DEFAULT},
};
tAniSirCfgStaticString cfgStaticString[CFG_MAX_STATIC_STRING] =
diff --git a/CORE/WDA/src/wlan_qct_wda.c b/CORE/WDA/src/wlan_qct_wda.c
index 4a72d8c..802cc7f 100644
--- a/CORE/WDA/src/wlan_qct_wda.c
+++ b/CORE/WDA/src/wlan_qct_wda.c
@@ -2276,6 +2276,21 @@
tlvStruct = (tHalCfg *)( (tANI_U8 *) tlvStruct
+ sizeof(tHalCfg) + tlvStruct->length) ;
+ /* QWLAN_HAL_CFG_SAR_BOFFSET_CORRECTION_ENABLE */
+ tlvStruct->type = QWLAN_HAL_CFG_SAR_BOFFSET_CORRECTION_ENABLE;
+ tlvStruct->length = sizeof(tANI_U32);
+ configDataValue = (tANI_U32 *)(tlvStruct + 1);
+
+ if (wlan_cfgGetInt(pMac, WNI_CFG_SAR_BOFFSET_SET_CORRECTION,
+ configDataValue ) != eSIR_SUCCESS)
+ {
+ VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
+ "Failed to get value for WNI_CFG_SAR_BOFFSET_SET_CORRECTION");
+ goto handle_failure;
+ }
+ tlvStruct = (tHalCfg *)( (tANI_U8 *) tlvStruct
+ + sizeof(tHalCfg) + tlvStruct->length) ;
+
wdiStartParams->usConfigBufferLen = (tANI_U8 *)tlvStruct - tlvStructStart ;
#ifdef WLAN_DEBUG
{
diff --git a/riva/inc/wlan_hal_cfg.h b/riva/inc/wlan_hal_cfg.h
index 34344b8..b1a0fb3 100644
--- a/riva/inc/wlan_hal_cfg.h
+++ b/riva/inc/wlan_hal_cfg.h
@@ -273,12 +273,13 @@
#define QWLAN_HAL_CFG_LINK_FAIL_TX_CNT 215
#define QWLAN_HAL_CFG_TOGGLE_ARP_BDRATES 216
#define QWLAN_HAL_CFG_OPTIMIZE_CA_EVENT 217
+#define QWLAN_HAL_CFG_SAR_BOFFSET_CORRECTION_ENABLE 220
-#define QWLAN_HAL_CFG_MAX_PARAMS 218
+#define QWLAN_HAL_CFG_MAX_PARAMS 219
/* Total number of Integer CFGs. This is used while allocating the memory for TLV */
-#define QWLAN_HAL_CFG_INTEGER_PARAM 218
+#define QWLAN_HAL_CFG_INTEGER_PARAM 219
/*-------------------------------------------------------------------------
Configuration Parameter min, max, defaults