blob: f28769aaa94b3b862fbb3061c120beee42c7adbe [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lam842dad02014-02-18 18:44:02 -08002 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
Jeff Johnson295189b2012-06-20 16:38:30 -070027
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080028/**=========================================================================
Jeff Johnson295189b2012-06-20 16:38:30 -070029
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080030 EDIT HISTORY FOR FILE
31
32
33 This section contains comments describing changes made to the module.
34 Notice that changes are listed in reverse chronological order.
35
36
37 $Header:$ $DateTime: $ $Author: $
38
39
40 when who what, where, why
Jeff Johnson295189b2012-06-20 16:38:30 -070041 -------- --- --------------------------------------------------------
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080042 07/27/09 kanand Created module.
Jeff Johnson295189b2012-06-20 16:38:30 -070043
44 ==========================================================================*/
45
46/*--------------------------------------------------------------------------
47 Include Files
48 ------------------------------------------------------------------------*/
49
50
51#include <linux/firmware.h>
52#include <linux/string.h>
53#include <wlan_hdd_includes.h>
54#include <wlan_hdd_main.h>
55#include <wlan_hdd_assoc.h>
56#include <wlan_hdd_cfg.h>
57#include <linux/string.h>
58#include <vos_types.h>
59#include <csrApi.h>
60#include <pmcApi.h>
61#include <wlan_hdd_misc.h>
62
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080063#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -080064static void cbNotifySetRoamPrefer5GHz(hdd_context_t *pHddCtx, unsigned long NotifyId)
65{
66 sme_UpdateRoamPrefer5GHz((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamPrefer5GHz);
67}
Jeff Johnson295189b2012-06-20 16:38:30 -070068
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080069static void cbNotifySetImmediateRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
70{
Srinivas Girigowdade697412013-02-14 16:31:48 -080071 sme_UpdateImmediateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080072 pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
73}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080074
Srinivas Girigowdade697412013-02-14 16:31:48 -080075static void cbNotifySetRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
76{
77 sme_UpdateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
78 pHddCtx->cfg_ini->RoamRssiDiff);
79}
80
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080081static void cbNotifySetFastTransitionEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
82{
83 sme_UpdateFastTransitionEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastTransitionEnabled);
84}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -070085
86static void cbNotifySetRoamIntraBand(hdd_context_t *pHddCtx, unsigned long NotifyId)
87{
88 sme_setRoamIntraBand((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamIntraBand);
89}
Srinivas Girigowda100eb322013-03-15 16:48:20 -070090
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -070091static void cbNotifySetWESMode(hdd_context_t *pHddCtx, unsigned long NotifyId)
92{
93 // at the point this routine is called, the value in the cfg_ini table has already been updated
94 sme_UpdateWESMode((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isWESModeEnabled);
95}
96
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070097static void cbNotifySetRoamScanNProbes(hdd_context_t *pHddCtx, unsigned long NotifyId)
98{
99 sme_UpdateRoamScanNProbes((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nProbes);
100}
101
102static void cbNotifySetRoamScanHomeAwayTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
103{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700104 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime, eANI_BOOLEAN_TRUE);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700105}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700106#endif
107
108#ifdef FEATURE_WLAN_OKC
109static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
110{
111 // at the point this routine is called, the value in the cfg_ini table has already been updated
112}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800113#endif
114
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800115#ifdef FEATURE_WLAN_LFR
116static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
117{
118 // at the point this routine is called, the value in the cfg_ini table has already been updated
119 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
120}
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -0800121
122static void NotifyIsMAWCIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
123{
124 /* at the point this routine is called, the value in the cfg_ini table has already been updated */
125 sme_UpdateIsMAWCIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->MAWCEnabled );
126}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800127#endif
128
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800129#ifdef FEATURE_WLAN_ESE
130static void cbNotifySetEseFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800131{
132 // at the point this routine is called, the value in the cfg_ini table has already been updated
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800133 sme_UpdateIsEseFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isEseIniFeatureEnabled );
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800134}
135#endif
136
137static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
138{
139 // at the point this routine is called, the value in the cfg_ini table has already been updated
140 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
141}
142
Srinivas Girigowdade697412013-02-14 16:31:48 -0800143#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
144static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
145{
146 // at the point this routine is called, the value in the cfg_ini table has already been updated
147 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
148}
149
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700150static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
151{
152 // at the point this routine is called, the value in the cfg_ini table has already been updated
153 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
154}
155
Srinivas Girigowdade697412013-02-14 16:31:48 -0800156static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
157{
158 // at the point this routine is called, the value in the cfg_ini table has already been updated
159 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
160}
161
162static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
163{
164 // at the point this routine is called, the value in the cfg_ini table has already been updated
165 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
166}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700167
168static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
169{
170 // at the point this routine is called, the value in the cfg_ini table has already been updated
171 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
172}
173
174static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
175{
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700176 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
177}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800178#endif
179
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700180static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
181{
182 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
183}
184
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700185#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
186static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
187{
188 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700189 if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled)
190 {
191 pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0;
192 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
193 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700194}
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700195
196static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsigned long NotifyId)
197{
198 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
199}
200
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700201#endif
202
Jeff Johnson295189b2012-06-20 16:38:30 -0700203REG_TABLE_ENTRY g_registry_table[] =
204{
205 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800206 hdd_config_t, RTSThreshold,
207 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
208 CFG_RTS_THRESHOLD_DEFAULT,
209 CFG_RTS_THRESHOLD_MIN,
210 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700211
212 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800213 hdd_config_t, FragmentationThreshold,
214 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
215 CFG_FRAG_THRESHOLD_DEFAULT,
216 CFG_FRAG_THRESHOLD_MIN,
217 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700218
219 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800220 hdd_config_t, Calibration,
221 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
222 CFG_CALIBRATION_DEFAULT,
223 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700224 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800225
Jeff Johnson295189b2012-06-20 16:38:30 -0700226 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800227 hdd_config_t, CalibrationPeriod,
228 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
229 CFG_CALIBRATION_PERIOD_DEFAULT,
230 CFG_CALIBRATION_PERIOD_MIN,
231 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700232
233 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
234 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800235 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
236 CFG_OPERATING_CHANNEL_DEFAULT,
237 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700238 CFG_OPERATING_CHANNEL_MAX ),
239
240 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800241 hdd_config_t, ShortSlotTimeEnabled,
242 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
243 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
244 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700245 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
246
247 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800248 hdd_config_t, Is11dSupportEnabled,
249 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
250 CFG_11D_SUPPORT_ENABLED_DEFAULT,
251 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700252 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800253
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800254 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800255 hdd_config_t, Is11hSupportEnabled,
256 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
257 CFG_11H_SUPPORT_ENABLED_DEFAULT,
258 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800259 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700260
261 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800262 hdd_config_t, fEnforce11dChannels,
263 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
264 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
265 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700266 CFG_ENFORCE_11D_CHANNELS_MAX ),
267
268 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800269 hdd_config_t, fSupplicantCountryCodeHasPriority,
270 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
271 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
272 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700273 CFG_COUNTRY_CODE_PRIORITY_MAX),
274
275 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800276 hdd_config_t, fEnforceCountryCodeMatch,
277 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
278 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
279 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700280 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
281
282 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800283 hdd_config_t, fEnforceDefaultDomain,
284 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
285 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
286 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700287 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800288
Jeff Johnson295189b2012-06-20 16:38:30 -0700289 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
290 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800291 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
292 CFG_GENERIC_ID1_DEFAULT,
293 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700294 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800295
Jeff Johnson295189b2012-06-20 16:38:30 -0700296 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
297 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800298 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
299 CFG_GENERIC_ID2_DEFAULT,
300 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700301 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800302
Jeff Johnson295189b2012-06-20 16:38:30 -0700303 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
304 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800305 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
306 CFG_GENERIC_ID3_DEFAULT,
307 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700308 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800309
Jeff Johnson295189b2012-06-20 16:38:30 -0700310 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
311 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800312 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
313 CFG_GENERIC_ID4_DEFAULT,
314 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700315 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800316
Jeff Johnson295189b2012-06-20 16:38:30 -0700317 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
318 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800319 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
320 CFG_GENERIC_ID5_DEFAULT,
321 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700322 CFG_GENERIC_ID5_MAX ),
323
324 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
325 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800326 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
327 CFG_GENERIC_VALUE1_DEFAULT,
328 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700329 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800330
Jeff Johnson295189b2012-06-20 16:38:30 -0700331 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
332 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800333 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
334 CFG_GENERIC_VALUE2_DEFAULT,
335 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700336 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800337
Jeff Johnson295189b2012-06-20 16:38:30 -0700338 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
339 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800340 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
341 CFG_GENERIC_VALUE3_DEFAULT,
342 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700343 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800344
Jeff Johnson295189b2012-06-20 16:38:30 -0700345 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
346 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800347 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
348 CFG_GENERIC_VALUE4_DEFAULT,
349 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700350 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800351
Jeff Johnson295189b2012-06-20 16:38:30 -0700352 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
353 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800354 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
355 CFG_GENERIC_VALUE5_DEFAULT,
356 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700357 CFG_GENERIC_VALUE5_MAX ),
358
359 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800360 hdd_config_t, HeartbeatThresh24,
361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
362 CFG_HEARTBEAT_THRESH_24_DEFAULT,
363 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700364 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800365
Jeff Johnson295189b2012-06-20 16:38:30 -0700366 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800367 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700368 VAR_FLAGS_OPTIONAL,
369 (void *)CFG_POWER_USAGE_DEFAULT ),
370
371 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800372 hdd_config_t, nEnableSuspend,
373 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
374 CFG_ENABLE_SUSPEND_DEFAULT,
375 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700376 CFG_ENABLE_SUSPEND_MAX ),
377
378 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800379 hdd_config_t, nEnableDriverStop,
380 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
381 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
382 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700383 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
384
385 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800386 hdd_config_t, fIsImpsEnabled,
387 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
388 CFG_ENABLE_IMPS_DEFAULT,
389 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700390 CFG_ENABLE_IMPS_MAX ),
391
Pradeep Kumar Goudagunta22d8e4d2014-07-17 15:03:51 +0530392 REG_VARIABLE( CFG_SSR_PANIC_ON_FAILURE_NAME, WLAN_PARAM_Integer,
393 hdd_config_t, fIsSsrPanicOnFailure,
394 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
395 CFG_SSR_PANIC_ON_FAILURE_DEFAULT,
396 CFG_SSR_PANIC_ON_FAILURE_MIN,
397 CFG_SSR_PANIC_ON_FAILURE_MAX),
398
Jeff Johnson295189b2012-06-20 16:38:30 -0700399 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800400 hdd_config_t, fIsLogpEnabled,
401 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
402 CFG_ENABLE_LOGP_DEFAULT,
403 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700404 CFG_ENABLE_LOGP_MAX ),
405
406 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800407 hdd_config_t, nImpsMinSleepTime,
408 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
409 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
410 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700411 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
412
413 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800414 hdd_config_t, nImpsMaxSleepTime,
415 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
416 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
417 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700418 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
419
Agarwal Ashishbd3e10b2014-11-24 19:19:46 +0530420 REG_VARIABLE( CFG_DEFER_SCAN_TIME_INTERVAL, WLAN_PARAM_Integer,
421 hdd_config_t, nDeferScanTimeInterval,
422 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
423 CFG_DEFER_SCAN_TIME_INTERVAL_DEFAULT,
424 CFG_DEFER_SCAN_TIME_INTERVAL_MIN,
425 CFG_DEFER_SCAN_TIME_INTERVAL_MAX ),
426
Jeff Johnson295189b2012-06-20 16:38:30 -0700427 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
428 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800429 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
430 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
431 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700432 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
433
434 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800435 hdd_config_t, fIsBmpsEnabled,
436 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
437 CFG_ENABLE_BMPS_DEFAULT,
438 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700439 CFG_ENABLE_BMPS_MAX ),
440
441 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800442 hdd_config_t, nBmpsMinListenInterval,
443 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
444 CFG_BMPS_MINIMUM_LI_DEFAULT,
445 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700446 CFG_BMPS_MINIMUM_LI_MAX ),
447
448 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800449 hdd_config_t, nBmpsMaxListenInterval,
450 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
451 CFG_BMPS_MAXIMUM_LI_DEFAULT,
452 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700453 CFG_BMPS_MAXIMUM_LI_MAX ),
454
455 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
456 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800457 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
458 CFG_BMPS_MODERATE_LI_DEFAULT,
459 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700460 CFG_BMPS_MODERATE_LI_MAX ),
461
462 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800463 hdd_config_t, fIsAutoBmpsTimerEnabled,
464 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
465 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
466 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700467 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
468
469 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800470 hdd_config_t, nAutoBmpsTimerValue,
471 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
472 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
473 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700474 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
475
476 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800477 hdd_config_t, dot11Mode,
478 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
479 CFG_DOT11_MODE_DEFAULT,
480 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700481 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800482
Jeff Johnson295189b2012-06-20 16:38:30 -0700483 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800484 hdd_config_t, nChannelBondingMode24GHz,
485 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
486 CFG_CHANNEL_BONDING_MODE_DEFAULT,
487 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700488 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800489
Jeff Johnson295189b2012-06-20 16:38:30 -0700490 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800491 hdd_config_t, nChannelBondingMode5GHz,
492 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
493 CFG_CHANNEL_BONDING_MODE_DEFAULT,
494 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700495 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800496
497 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
498 hdd_config_t, MaxRxAmpduFactor,
499 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
500 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
501 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700502 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800503
Jeff Johnson295189b2012-06-20 16:38:30 -0700504 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800505 hdd_config_t, TxRate,
506 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
507 CFG_FIXED_RATE_DEFAULT,
508 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700509 CFG_FIXED_RATE_MAX ),
510
511 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800512 hdd_config_t, ShortGI20MhzEnable,
513 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
514 CFG_SHORT_GI_20MHZ_DEFAULT,
515 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700516 CFG_SHORT_GI_20MHZ_MAX ),
517
518 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800519 hdd_config_t, BlockAckAutoSetup,
520 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
521 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
522 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700523 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800524
Jeff Johnson295189b2012-06-20 16:38:30 -0700525 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800526 hdd_config_t, ScanResultAgeCount,
527 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
528 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
529 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700530 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
531
532 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800533 hdd_config_t, nScanAgeTimeNCNPS,
534 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
535 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
536 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700537 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
538
539 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800540 hdd_config_t, nScanAgeTimeNCPS,
541 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
542 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
543 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700544 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
545
546 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800547 hdd_config_t, nScanAgeTimeCNPS,
548 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
549 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
550 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700551 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
552
553 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800554 hdd_config_t, nScanAgeTimeCPS,
555 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
556 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
557 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700558 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
559
560 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800561 hdd_config_t, nRssiCatGap,
562 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
563 CFG_RSSI_CATEGORY_GAP_DEFAULT,
564 CFG_RSSI_CATEGORY_GAP_MIN,
565 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700566
Jeff Johnson295189b2012-06-20 16:38:30 -0700567 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800568 hdd_config_t, fIsShortPreamble,
569 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
570 CFG_SHORT_PREAMBLE_DEFAULT,
571 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700572 CFG_SHORT_PREAMBLE_MAX ),
573
574 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800575 hdd_config_t, fIsAutoIbssBssid,
576 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
577 CFG_IBSS_AUTO_BSSID_DEFAULT,
578 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700579 CFG_IBSS_AUTO_BSSID_MAX ),
580
581 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800582 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700583 VAR_FLAGS_OPTIONAL,
584 (void *)CFG_IBSS_BSSID_DEFAULT ),
585
586 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800587 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700588 VAR_FLAGS_OPTIONAL,
589 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
590
591 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800592 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700593 VAR_FLAGS_OPTIONAL,
594 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
595
596 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800597 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700598 VAR_FLAGS_OPTIONAL,
599 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
600
601 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800602 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700603 VAR_FLAGS_OPTIONAL,
604 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
605
Jeff Johnson295189b2012-06-20 16:38:30 -0700606 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800607 hdd_config_t, apUapsdEnabled,
608 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
609 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
610 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700611 CFG_AP_QOS_UAPSD_MODE_MAX ),
612
613 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800614 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700615 VAR_FLAGS_OPTIONAL,
616 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
617
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700618 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
619 hdd_config_t, apRandomBssidEnabled,
620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
621 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
622 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
623 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
624
Jeff Johnson295189b2012-06-20 16:38:30 -0700625 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800626 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
629 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
630 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
631
632 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
633 hdd_config_t, apProtection,
634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
635 CFG_AP_PROTECTION_MODE_DEFAULT,
636 CFG_AP_PROTECTION_MODE_MIN,
637 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800638
Jeff Johnson295189b2012-06-20 16:38:30 -0700639 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800640 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
642 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
643 CFG_AP_OBSS_PROTECTION_MODE_MIN,
644 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800645
Jeff Johnson295189b2012-06-20 16:38:30 -0700646 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800647 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
649 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
650 CFG_AP_STA_SECURITY_SEPERATION_MIN,
651 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
652
653 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800654 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
656 CFG_FRAMES_PROCESSING_TH_DEFAULT,
657 CFG_FRAMES_PROCESSING_TH_MIN,
658 CFG_FRAMES_PROCESSING_TH_MAX ),
659
660 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
661 hdd_config_t, apStartChannelNum,
662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
663 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
664 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
665 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
666
667 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
668 hdd_config_t, apEndChannelNum,
669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
670 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
671 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
672 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
673
674 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
675 hdd_config_t, apOperatingBand,
676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
677 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
678 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
679 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
680
681 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
682 hdd_config_t, apAutoChannelSelection,
683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
684 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
685 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
686 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800687
Jeff Johnson295189b2012-06-20 16:38:30 -0700688 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
689 hdd_config_t, enableLTECoex,
690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
691 CFG_ENABLE_LTE_COEX_DEFAULT,
692 CFG_ENABLE_LTE_COEX_MIN,
693 CFG_ENABLE_LTE_COEX_MAX ),
694
695 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
696 hdd_config_t, apKeepAlivePeriod,
697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
698 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
699 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
700 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
701
702 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
703 hdd_config_t, goKeepAlivePeriod,
704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
705 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
706 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
707 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
708
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530709 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
710 hdd_config_t, apLinkMonitorPeriod,
711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
712 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
713 CFG_AP_LINK_MONITOR_PERIOD_MIN,
714 CFG_AP_LINK_MONITOR_PERIOD_MAX),
715
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +0530716 REG_VARIABLE( CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
717 hdd_config_t, goLinkMonitorPeriod,
718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
719 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
720 CFG_GO_LINK_MONITOR_PERIOD_MIN,
721 CFG_GO_LINK_MONITOR_PERIOD_MAX),
722
Jeff Johnson295189b2012-06-20 16:38:30 -0700723 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
724 hdd_config_t, disablePacketFilter,
725 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
726 CFG_DISABLE_PACKET_FILTER_DEFAULT,
727 CFG_DISABLE_PACKET_FILTER_MIN,
728 CFG_DISABLE_PACKET_FILTER_MAX ),
729
730 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800731 hdd_config_t, nBeaconInterval,
732 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
733 CFG_BEACON_INTERVAL_DEFAULT,
734 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700735 CFG_BEACON_INTERVAL_MAX ),
736
Jeff Johnson295189b2012-06-20 16:38:30 -0700737 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800738 hdd_config_t, nEnableIdleScan,
739 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
740 CFG_ENABLE_IDLE_SCAN_DEFAULT,
741 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700742 CFG_ENABLE_IDLE_SCAN_MAX ),
743
744 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800745 hdd_config_t, nRoamingTime,
746 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
747 CFG_ROAMING_TIME_DEFAULT,
748 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700749 CFG_ROAMING_TIME_MAX ),
750
751 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800752 hdd_config_t, nVccRssiTrigger,
753 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
754 CFG_VCC_RSSI_TRIGGER_DEFAULT,
755 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700756 CFG_VCC_RSSI_TRIGGER_MAX ),
757
758 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800759 hdd_config_t, nVccUlMacLossThreshold,
760 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
761 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
762 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700763 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
764
765 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800766 hdd_config_t, nPassiveMaxChnTime,
767 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
768 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
769 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700770 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
771
772 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800773 hdd_config_t, nPassiveMinChnTime,
774 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
775 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
776 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700777 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
778
779 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800780 hdd_config_t, nActiveMaxChnTime,
781 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
782 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
783 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700784 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
785
786 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800787 hdd_config_t, nActiveMinChnTime,
788 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
789 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
790 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700791 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700792
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800793 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
794 hdd_config_t, nActiveMaxChnTimeBtc,
795 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
796 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
797 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
798 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
799
800 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
801 hdd_config_t, nActiveMinChnTimeBtc,
802 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
803 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
804 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
805 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
806
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700807 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
808 hdd_config_t, retryLimitZero,
809 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
810 CFG_RETRY_LIMIT_ZERO_DEFAULT,
811 CFG_RETRY_LIMIT_ZERO_MIN,
812 CFG_RETRY_LIMIT_ZERO_MAX ),
813
814 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
815 hdd_config_t, retryLimitOne,
816 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
817 CFG_RETRY_LIMIT_ONE_DEFAULT,
818 CFG_RETRY_LIMIT_ONE_MIN,
819 CFG_RETRY_LIMIT_ONE_MAX ),
820
821 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
822 hdd_config_t, retryLimitTwo,
823 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
824 CFG_RETRY_LIMIT_TWO_DEFAULT,
825 CFG_RETRY_LIMIT_TWO_MIN,
826 CFG_RETRY_LIMIT_TWO_MAX ),
827
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700828 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
829 hdd_config_t, disableAggWithBtc,
830 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
831 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
832 CFG_DISABLE_AGG_WITH_BTC_MIN,
833 CFG_DISABLE_AGG_WITH_BTC_MAX ),
834
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700835#ifdef WLAN_AP_STA_CONCURRENCY
836 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800837 hdd_config_t, nPassiveMaxChnTimeConc,
838 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
839 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
840 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700841 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
842
843 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800844 hdd_config_t, nPassiveMinChnTimeConc,
845 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
846 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
847 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700848 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
849
850 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800851 hdd_config_t, nActiveMaxChnTimeConc,
852 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
853 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
854 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700855 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
856
857 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800858 hdd_config_t, nActiveMinChnTimeConc,
859 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
860 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
861 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700862 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
863
864 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800865 hdd_config_t, nRestTimeConc,
866 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
867 CFG_REST_TIME_CONC_DEFAULT,
868 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700869 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800870
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700871 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
872 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800873 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700874 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
875 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
876 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
877
878 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
879 hdd_config_t, nNumP2PChanCombinedConc,
880 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
881 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
882 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
883 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700884#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800885
Jeff Johnson295189b2012-06-20 16:38:30 -0700886 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800887 hdd_config_t, nMaxPsPoll,
888 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
889 CFG_MAX_PS_POLL_DEFAULT,
890 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700891 CFG_MAX_PS_POLL_MAX ),
892
893 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800894 hdd_config_t, nTxPowerCap,
895 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
896 CFG_MAX_TX_POWER_DEFAULT,
897 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700898 CFG_MAX_TX_POWER_MAX ),
899
900 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
901 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
903 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
904 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700905 CFG_LOW_GAIN_OVERRIDE_MAX ),
906
907 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
908 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
910 CFG_RSSI_FILTER_PERIOD_DEFAULT,
911 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700912 CFG_RSSI_FILTER_PERIOD_MAX ),
913
914 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
915 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800916 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
917 CFG_IGNORE_DTIM_DEFAULT,
918 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700919 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800920
Yue Mac24062f2013-05-13 17:01:29 -0700921 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
922 hdd_config_t, fMaxLIModulatedDTIM,
923 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
924 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
925 CFG_MAX_LI_MODULATED_DTIM_MIN,
926 CFG_MAX_LI_MODULATED_DTIM_MAX ),
927
Jeff Johnson295189b2012-06-20 16:38:30 -0700928 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800929 hdd_config_t, nRxAnt,
930 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
931 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
932 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700933 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
934
935 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800936 hdd_config_t, fEnableFwHeartBeatMonitoring,
937 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
938 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
939 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700940 CFG_FW_HEART_BEAT_MONITORING_MAX ),
941
942 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800943 hdd_config_t, fEnableFwBeaconFiltering,
944 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
945 CFG_FW_BEACON_FILTERING_DEFAULT,
946 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700947 CFG_FW_BEACON_FILTERING_MAX ),
948
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800949 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800950 hdd_config_t, fEnableFwRssiMonitoring,
951 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
952 CFG_FW_RSSI_MONITORING_DEFAULT,
953 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800954 CFG_FW_RSSI_MONITORING_MAX,
955 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700956
957 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800958 hdd_config_t, nDataInactivityTimeout,
959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
960 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
961 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700962 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800963
Jeff Johnson295189b2012-06-20 16:38:30 -0700964 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800965 hdd_config_t, nthBeaconFilter,
966 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
967 CFG_NTH_BEACON_FILTER_DEFAULT,
968 CFG_NTH_BEACON_FILTER_MIN,
969 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700970
971 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800972 hdd_config_t, WmmMode,
973 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
974 CFG_QOS_WMM_MODE_DEFAULT,
975 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700976 CFG_QOS_WMM_MODE_MAX ),
977
978 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800979 hdd_config_t, b80211eIsEnabled,
980 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
981 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
982 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700983 CFG_QOS_WMM_80211E_ENABLED_MAX ),
984
985 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800986 hdd_config_t, UapsdMask,
987 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
988 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
989 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700990 CFG_QOS_WMM_UAPSD_MASK_MAX ),
991
Jeff Johnson295189b2012-06-20 16:38:30 -0700992 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800993 hdd_config_t, InfraUapsdVoSrvIntv,
994 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
995 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
996 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700997 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
998
999 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001000 hdd_config_t, InfraUapsdVoSuspIntv,
1001 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1002 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1003 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001004 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1005
1006 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001007 hdd_config_t, InfraUapsdViSrvIntv,
1008 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1009 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1010 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001011 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1012
1013 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001014 hdd_config_t, InfraUapsdViSuspIntv,
1015 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1016 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1017 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001018 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1019
1020 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001021 hdd_config_t, InfraUapsdBeSrvIntv,
1022 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1023 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1024 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001025 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1026
1027 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001028 hdd_config_t, InfraUapsdBeSuspIntv,
1029 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1030 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1031 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001032 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1033
1034 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001035 hdd_config_t, InfraUapsdBkSrvIntv,
1036 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1037 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1038 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001039 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1040
1041 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001042 hdd_config_t, InfraUapsdBkSuspIntv,
1043 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1044 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1045 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001046 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1047
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001048#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07001049 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001050 hdd_config_t, InfraInactivityInterval,
1051 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1052 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1053 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001054 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001055 REG_DYNAMIC_VARIABLE( CFG_ESE_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1056 hdd_config_t, isEseIniFeatureEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001057 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001058 CFG_ESE_FEATURE_ENABLED_DEFAULT,
1059 CFG_ESE_FEATURE_ENABLED_MIN,
1060 CFG_ESE_FEATURE_ENABLED_MAX,
1061 cbNotifySetEseFeatureEnabled, 0 ),
1062#endif // FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07001063
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001064#ifdef FEATURE_WLAN_LFR
1065 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001066 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001067 hdd_config_t, isFastRoamIniFeatureEnabled,
1068 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1069 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1070 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001071 CFG_LFR_FEATURE_ENABLED_MAX,
1072 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08001073
1074 /* flag to turn ON/OFF Motion assistance for Legacy Fast Roaming */
1075 REG_DYNAMIC_VARIABLE( CFG_LFR_MAWC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1076 hdd_config_t, MAWCEnabled,
1077 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1078 CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT,
1079 CFG_LFR_MAWC_FEATURE_ENABLED_MIN,
1080 CFG_LFR_MAWC_FEATURE_ENABLED_MAX,
1081 NotifyIsMAWCIniFeatureEnabled, 0 ),
1082
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001083#endif // FEATURE_WLAN_LFR
1084
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001085#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
1086 // flag to turn ON/OFF 11r and ESE FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001087 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001088 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001089 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1090 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1091 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001092 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1093 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001094
Srinivas Girigowdade697412013-02-14 16:31:48 -08001095 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001096 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001097 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1098 hdd_config_t, RoamRssiDiff,
1099 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1100 CFG_ROAM_RSSI_DIFF_DEFAULT,
1101 CFG_ROAM_RSSI_DIFF_MIN,
1102 CFG_ROAM_RSSI_DIFF_MAX,
1103 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001104
1105 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001106 hdd_config_t, nImmediateRoamRssiDiff,
1107 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1108 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1109 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001110 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1111 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001112
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07001113 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1114 hdd_config_t, isWESModeEnabled,
1115 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1116 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1117 CFG_ENABLE_WES_MODE_NAME_MIN,
1118 CFG_ENABLE_WES_MODE_NAME_MAX,
1119 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001120#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001121#ifdef FEATURE_WLAN_OKC
1122 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1123 hdd_config_t, isOkcIniFeatureEnabled,
1124 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1125 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1126 CFG_OKC_FEATURE_ENABLED_MIN,
1127 CFG_OKC_FEATURE_ENABLED_MAX,
1128 cbNotifySetOkcFeatureEnabled, 0 ),
1129#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001130#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1131 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1132 hdd_config_t, isRoamOffloadScanEnabled,
1133 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1134 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1135 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1136 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1137 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1138#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001139 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001140 hdd_config_t, PktClassificationBasis,
1141 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1142 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1143 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001144 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1145
1146 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001147 hdd_config_t, InfraDirAcVo,
1148 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1149 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1150 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001151 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1152
1153 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001154 hdd_config_t, InfraNomMsduSizeAcVo,
1155 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1156 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1157 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001158 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1159
1160 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001161 hdd_config_t, InfraMeanDataRateAcVo,
1162 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1163 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1164 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001165 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1166
1167 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001168 hdd_config_t, InfraMinPhyRateAcVo,
1169 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1170 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1171 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001172 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1173
1174 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001175 hdd_config_t, InfraSbaAcVo,
1176 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1177 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1178 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001179 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1180
1181 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001182 hdd_config_t, InfraDirAcVi,
1183 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1184 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1185 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001186 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1187
1188 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001189 hdd_config_t, InfraNomMsduSizeAcVi,
1190 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1191 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1192 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001193 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1194
1195 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001196 hdd_config_t, InfraMeanDataRateAcVi,
1197 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1198 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1199 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001200 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1201
1202 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001203 hdd_config_t, InfraMinPhyRateAcVi,
1204 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1205 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1206 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001207 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1208
1209 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001210 hdd_config_t, InfraSbaAcVi,
1211 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1212 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1213 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001214 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1215
1216 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001217 hdd_config_t, InfraDirAcBe,
1218 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1219 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1220 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001221 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1222
1223 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001224 hdd_config_t, InfraNomMsduSizeAcBe,
1225 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1226 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1227 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001228 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1229
1230 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001231 hdd_config_t, InfraMeanDataRateAcBe,
1232 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1233 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1234 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001235 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1236
1237 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001238 hdd_config_t, InfraMinPhyRateAcBe,
1239 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1240 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1241 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001242 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1243
1244 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001245 hdd_config_t, InfraSbaAcBe,
1246 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1247 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1248 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001249 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1250
1251 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001252 hdd_config_t, InfraDirAcBk,
1253 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1254 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1255 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001256 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1257
1258 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001259 hdd_config_t, InfraNomMsduSizeAcBk,
1260 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1261 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1262 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001263 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1264
1265 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001266 hdd_config_t, InfraMeanDataRateAcBk,
1267 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1268 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1269 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001270 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1271
1272 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001273 hdd_config_t, InfraMinPhyRateAcBk,
1274 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1275 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1276 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001277 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1278
1279 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001280 hdd_config_t, InfraSbaAcBk,
1281 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1282 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1283 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001284 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1285
1286 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001287 hdd_config_t, WfqBkWeight,
1288 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1289 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1290 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001291 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1292
1293 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001294 hdd_config_t, WfqBeWeight,
1295 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1296 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1297 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001298 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1299
1300 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001301 hdd_config_t, WfqViWeight,
1302 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1303 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1304 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001305 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1306
1307 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001308 hdd_config_t, WfqVoWeight,
1309 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1310 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1311 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001312 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1313
1314 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001315 hdd_config_t, DelayedTriggerFrmInt,
1316 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1317 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1318 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001319 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1320
Dhanashri Atred8c20a32014-01-03 17:20:55 -08001321 REG_VARIABLE( CFG_REORDER_TIME_BK_NAME , WLAN_PARAM_Integer,
1322 hdd_config_t, BkReorderAgingTime,
1323 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1324 CFG_REORDER_TIME_BK_DEFAULT,
1325 CFG_REORDER_TIME_BK_MIN,
1326 CFG_REORDER_TIME_BK_MAX ),
1327
1328 REG_VARIABLE( CFG_REORDER_TIME_BE_NAME , WLAN_PARAM_Integer,
1329 hdd_config_t, BeReorderAgingTime,
1330 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1331 CFG_REORDER_TIME_BE_DEFAULT,
1332 CFG_REORDER_TIME_BE_MIN,
1333 CFG_REORDER_TIME_BE_MAX ),
1334
1335 REG_VARIABLE( CFG_REORDER_TIME_VI_NAME , WLAN_PARAM_Integer,
1336 hdd_config_t, ViReorderAgingTime,
1337 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1338 CFG_REORDER_TIME_VI_DEFAULT,
1339 CFG_REORDER_TIME_VI_MIN,
1340 CFG_REORDER_TIME_VI_MAX ),
1341
1342 REG_VARIABLE( CFG_REORDER_TIME_VO_NAME , WLAN_PARAM_Integer,
1343 hdd_config_t, VoReorderAgingTime,
1344 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1345 CFG_REORDER_TIME_VO_DEFAULT,
1346 CFG_REORDER_TIME_VO_MIN,
1347 CFG_REORDER_TIME_VO_MAX ),
1348
Jeff Johnson295189b2012-06-20 16:38:30 -07001349 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001350 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001351 VAR_FLAGS_OPTIONAL,
1352 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1353
1354 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001355 hdd_config_t, bImplicitQosEnabled,
1356 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1357 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1358 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001359 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1360
Jeff Johnson295189b2012-06-20 16:38:30 -07001361 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001362 hdd_config_t, btcExecutionMode,
1363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1364 CFG_BTC_EXECUTION_MODE_DEFAULT,
1365 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001366 CFG_BTC_EXECUTION_MODE_MAX ),
1367
1368 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1369 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1370 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1371 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1372 CFG_BTC_DHCP_PROTECTION_MIN,
1373 CFG_BTC_DHCP_PROTECTION_MAX ),
1374
1375 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1376 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1377 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1378 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1379 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1380 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1381
Jeff Johnson32d95a32012-09-10 13:15:23 -07001382 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1383 hdd_config_t, btcStaticLenInqBt,
1384 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1385 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1386 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1387 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1388
1389 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1390 hdd_config_t, btcStaticLenPageBt,
1391 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1392 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1393 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1394 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1395
1396 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1397 hdd_config_t, btcStaticLenConnBt,
1398 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1399 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1400 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1401 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1402
1403 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1404 hdd_config_t, btcStaticLenLeBt,
1405 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1406 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1407 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1408 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1409
1410 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1411 hdd_config_t, btcStaticLenInqWlan,
1412 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1413 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1414 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1415 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1416
1417 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1418 hdd_config_t, btcStaticLenPageWlan,
1419 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1420 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1421 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1422 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1423
1424 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1425 hdd_config_t, btcStaticLenConnWlan,
1426 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1427 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1428 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1429 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1430
1431 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1432 hdd_config_t, btcStaticLenLeWlan,
1433 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1434 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1435 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1436 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1437
1438 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1439 hdd_config_t, btcDynMaxLenBt,
1440 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1441 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1442 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1443 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1444
1445 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1446 hdd_config_t, btcDynMaxLenWlan,
1447 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1448 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1449 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1450 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1451
1452 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1453 hdd_config_t, btcMaxScoBlockPerc,
1454 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1455 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1456 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1457 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1458
1459 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1460 hdd_config_t, btcDhcpProtOnA2dp,
1461 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1462 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1463 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1464 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1465
1466 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1467 hdd_config_t, btcDhcpProtOnSco,
1468 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1469 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1470 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1471 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1472
Wilson Tsaof8b37942013-09-06 10:49:00 -07001473 REG_VARIABLE( CFG_MWS_COEX_V1_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1474 hdd_config_t, mwsCoexVictimWANFreq[0],
1475 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1476 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1477 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1478 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1479
1480 REG_VARIABLE( CFG_MWS_COEX_V1_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1481 hdd_config_t, mwsCoexVictimWLANFreq[0],
1482 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1483 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1484 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1485 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1486
1487 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG_NAME , WLAN_PARAM_Integer,
1488 hdd_config_t, mwsCoexVictimConfig[0],
1489 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1490 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1491 CFG_MWS_COEX_VX_CONFIG_MIN,
1492 CFG_MWS_COEX_VX_CONFIG_MAX ),
1493
1494 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG2_NAME , WLAN_PARAM_Integer,
1495 hdd_config_t, mwsCoexVictimConfig2[0],
1496 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1497 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1498 CFG_MWS_COEX_VX_CONFIG_MIN,
1499 CFG_MWS_COEX_VX_CONFIG_MAX ),
1500
1501 REG_VARIABLE( CFG_MWS_COEX_V2_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1502 hdd_config_t, mwsCoexVictimWANFreq[1],
1503 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1504 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1505 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1506 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1507
1508 REG_VARIABLE( CFG_MWS_COEX_V2_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1509 hdd_config_t, mwsCoexVictimWLANFreq[1],
1510 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1511 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1512 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1513 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1514
1515 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG_NAME , WLAN_PARAM_Integer,
1516 hdd_config_t, mwsCoexVictimConfig[1],
1517 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1518 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1519 CFG_MWS_COEX_VX_CONFIG_MIN,
1520 CFG_MWS_COEX_VX_CONFIG_MAX ),
1521
1522 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG2_NAME , WLAN_PARAM_Integer,
1523 hdd_config_t, mwsCoexVictimConfig2[1],
1524 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1525 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1526 CFG_MWS_COEX_VX_CONFIG_MIN,
1527 CFG_MWS_COEX_VX_CONFIG_MAX ),
1528
1529 REG_VARIABLE( CFG_MWS_COEX_V3_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1530 hdd_config_t, mwsCoexVictimWANFreq[2],
1531 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1532 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1533 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1534 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1535
1536 REG_VARIABLE( CFG_MWS_COEX_V3_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1537 hdd_config_t, mwsCoexVictimWLANFreq[2],
1538 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1539 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1540 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1541 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1542
1543 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG_NAME , WLAN_PARAM_Integer,
1544 hdd_config_t, mwsCoexVictimConfig[2],
1545 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1546 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1547 CFG_MWS_COEX_VX_CONFIG_MIN,
1548 CFG_MWS_COEX_VX_CONFIG_MAX ),
1549
1550 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG2_NAME , WLAN_PARAM_Integer,
1551 hdd_config_t, mwsCoexVictimConfig2[2],
1552 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1553 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1554 CFG_MWS_COEX_VX_CONFIG_MIN,
1555 CFG_MWS_COEX_VX_CONFIG_MAX ),
1556
1557 REG_VARIABLE( CFG_MWS_COEX_V4_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1558 hdd_config_t, mwsCoexVictimWANFreq[3],
1559 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1560 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1561 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1562 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1563
1564 REG_VARIABLE( CFG_MWS_COEX_V4_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1565 hdd_config_t, mwsCoexVictimWLANFreq[3],
1566 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1567 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1568 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1569 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1570
1571 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG_NAME , WLAN_PARAM_Integer,
1572 hdd_config_t, mwsCoexVictimConfig[3],
1573 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1574 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1575 CFG_MWS_COEX_VX_CONFIG_MIN,
1576 CFG_MWS_COEX_VX_CONFIG_MAX ),
1577
1578 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG2_NAME , WLAN_PARAM_Integer,
1579 hdd_config_t, mwsCoexVictimConfig2[3],
1580 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1581 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1582 CFG_MWS_COEX_VX_CONFIG_MIN,
1583 CFG_MWS_COEX_VX_CONFIG_MAX ),
1584
1585 REG_VARIABLE( CFG_MWS_COEX_V5_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1586 hdd_config_t, mwsCoexVictimWANFreq[4],
1587 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1588 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1589 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1590 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1591
1592 REG_VARIABLE( CFG_MWS_COEX_V5_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1593 hdd_config_t, mwsCoexVictimWLANFreq[4],
1594 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1595 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1596 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1597 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1598
1599 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG_NAME , WLAN_PARAM_Integer,
1600 hdd_config_t, mwsCoexVictimConfig[4],
1601 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1602 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1603 CFG_MWS_COEX_VX_CONFIG_MIN,
1604 CFG_MWS_COEX_VX_CONFIG_MAX ),
1605
1606 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG2_NAME , WLAN_PARAM_Integer,
1607 hdd_config_t, mwsCoexVictimConfig2[4],
1608 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1609 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1610 CFG_MWS_COEX_VX_CONFIG_MIN,
1611 CFG_MWS_COEX_VX_CONFIG_MAX ),
1612
1613 REG_VARIABLE( CFG_MWS_COEX_V6_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1614 hdd_config_t, mwsCoexVictimWANFreq[5],
1615 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1616 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1617 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1618 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1619
1620 REG_VARIABLE( CFG_MWS_COEX_V6_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1621 hdd_config_t, mwsCoexVictimWLANFreq[5],
1622 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1623 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1624 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1625 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1626
1627 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG_NAME , WLAN_PARAM_Integer,
1628 hdd_config_t, mwsCoexVictimConfig[5],
1629 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1630 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1631 CFG_MWS_COEX_VX_CONFIG_MIN,
1632 CFG_MWS_COEX_VX_CONFIG_MAX ),
1633
1634 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG2_NAME , WLAN_PARAM_Integer,
1635 hdd_config_t, mwsCoexVictimConfig2[5],
1636 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1637 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1638 CFG_MWS_COEX_VX_CONFIG_MIN,
1639 CFG_MWS_COEX_VX_CONFIG_MAX ),
1640
1641 REG_VARIABLE( CFG_MWS_COEX_V7_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1642 hdd_config_t, mwsCoexVictimWANFreq[6],
1643 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1644 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1645 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1646 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1647
1648 REG_VARIABLE( CFG_MWS_COEX_V7_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1649 hdd_config_t, mwsCoexVictimWLANFreq[6],
1650 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1651 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1652 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1653 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1654
1655 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG_NAME , WLAN_PARAM_Integer,
1656 hdd_config_t, mwsCoexVictimConfig[6],
1657 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1658 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1659 CFG_MWS_COEX_VX_CONFIG_MIN,
1660 CFG_MWS_COEX_VX_CONFIG_MAX ),
1661
1662 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG2_NAME , WLAN_PARAM_Integer,
1663 hdd_config_t, mwsCoexVictimConfig2[6],
1664 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1665 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1666 CFG_MWS_COEX_VX_CONFIG_MIN,
1667 CFG_MWS_COEX_VX_CONFIG_MAX ),
1668
1669 REG_VARIABLE( CFG_MWS_COEX_V8_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1670 hdd_config_t, mwsCoexVictimWANFreq[7],
1671 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1672 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1673 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1674 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1675
1676 REG_VARIABLE( CFG_MWS_COEX_V8_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1677 hdd_config_t, mwsCoexVictimWLANFreq[7],
1678 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1679 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1680 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1681 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1682
1683 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG_NAME , WLAN_PARAM_Integer,
1684 hdd_config_t, mwsCoexVictimConfig[7],
1685 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1686 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1687 CFG_MWS_COEX_VX_CONFIG_MIN,
1688 CFG_MWS_COEX_VX_CONFIG_MAX ),
1689
1690 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG2_NAME , WLAN_PARAM_Integer,
1691 hdd_config_t, mwsCoexVictimConfig2[7],
1692 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1693 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1694 CFG_MWS_COEX_VX_CONFIG_MIN,
1695 CFG_MWS_COEX_VX_CONFIG_MAX ),
1696
1697 REG_VARIABLE( CFG_MWS_COEX_V9_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1698 hdd_config_t, mwsCoexVictimWANFreq[8],
1699 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1700 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1701 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1702 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1703
1704 REG_VARIABLE( CFG_MWS_COEX_V9_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1705 hdd_config_t, mwsCoexVictimWLANFreq[8],
1706 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1707 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1708 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1709 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1710
1711 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG_NAME , WLAN_PARAM_Integer,
1712 hdd_config_t, mwsCoexVictimConfig[8],
1713 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1714 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1715 CFG_MWS_COEX_VX_CONFIG_MIN,
1716 CFG_MWS_COEX_VX_CONFIG_MAX ),
1717
1718 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG2_NAME , WLAN_PARAM_Integer,
1719 hdd_config_t, mwsCoexVictimConfig2[8],
1720 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1721 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1722 CFG_MWS_COEX_VX_CONFIG_MIN,
1723 CFG_MWS_COEX_VX_CONFIG_MAX ),
1724
1725 REG_VARIABLE( CFG_MWS_COEX_V10_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1726 hdd_config_t, mwsCoexVictimWANFreq[9],
1727 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1728 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1729 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1730 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1731
1732 REG_VARIABLE( CFG_MWS_COEX_V10_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1733 hdd_config_t, mwsCoexVictimWLANFreq[9],
1734 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1735 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1736 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1737 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1738
1739 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG_NAME , WLAN_PARAM_Integer,
1740 hdd_config_t, mwsCoexVictimConfig[9],
1741 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1742 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1743 CFG_MWS_COEX_VX_CONFIG_MIN,
1744 CFG_MWS_COEX_VX_CONFIG_MAX ),
1745
1746 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG2_NAME , WLAN_PARAM_Integer,
1747 hdd_config_t, mwsCoexVictimConfig2[9],
1748 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1749 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1750 CFG_MWS_COEX_VX_CONFIG_MIN,
1751 CFG_MWS_COEX_VX_CONFIG_MAX ),
1752
1753 REG_VARIABLE( CFG_MWS_COEX_MODEM_BACKOFF_NAME , WLAN_PARAM_Integer,
1754 hdd_config_t, mwsCoexModemBackoff,
1755 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1756 CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT,
1757 CFG_MWS_COEX_MODEM_BACKOFF_MIN,
1758 CFG_MWS_COEX_MODEM_BACKOFF_MAX ),
1759
1760 REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer,
1761 hdd_config_t, mwsCoexConfig[0],
1762 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1763 CFG_MWS_COEX_CONFIGX_DEFAULT,
1764 CFG_MWS_COEX_CONFIGX_MIN,
1765 CFG_MWS_COEX_CONFIGX_MAX ),
1766
1767 REG_VARIABLE( CFG_MWS_COEX_CONFIG2_NAME , WLAN_PARAM_Integer,
1768 hdd_config_t, mwsCoexConfig[1],
1769 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1770 CFG_MWS_COEX_CONFIGX_DEFAULT,
1771 CFG_MWS_COEX_CONFIGX_MIN,
1772 CFG_MWS_COEX_CONFIGX_MAX ),
1773
1774 REG_VARIABLE( CFG_MWS_COEX_CONFIG3_NAME , WLAN_PARAM_Integer,
1775 hdd_config_t, mwsCoexConfig[2],
1776 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1777 CFG_MWS_COEX_CONFIGX_DEFAULT,
1778 CFG_MWS_COEX_CONFIGX_MIN,
1779 CFG_MWS_COEX_CONFIGX_MAX ),
1780
1781 REG_VARIABLE( CFG_MWS_COEX_CONFIG4_NAME , WLAN_PARAM_Integer,
1782 hdd_config_t, mwsCoexConfig[3],
1783 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1784 CFG_MWS_COEX_CONFIGX_DEFAULT,
1785 CFG_MWS_COEX_CONFIGX_MIN,
1786 CFG_MWS_COEX_CONFIGX_MAX ),
1787
1788 REG_VARIABLE( CFG_MWS_COEX_CONFIG5_NAME , WLAN_PARAM_Integer,
1789 hdd_config_t, mwsCoexConfig[4],
1790 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1791 CFG_MWS_COEX_CONFIGX_DEFAULT,
1792 CFG_MWS_COEX_CONFIGX_MIN,
1793 CFG_MWS_COEX_CONFIGX_MAX ),
1794
1795 REG_VARIABLE( CFG_MWS_COEX_CONFIG6_NAME , WLAN_PARAM_Integer,
1796 hdd_config_t, mwsCoexConfig[5],
1797 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1798 CFG_MWS_COEX_CONFIGX_DEFAULT,
1799 CFG_MWS_COEX_CONFIGX_MIN,
1800 CFG_MWS_COEX_CONFIGX_MAX ),
1801
1802 REG_VARIABLE( CFG_SAR_POWER_BACKOFF_NAME , WLAN_PARAM_Integer,
1803 hdd_config_t, SARPowerBackoff,
1804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1805 CFG_SAR_POWER_BACKOFF_DEFAULT,
1806 CFG_SAR_POWER_BACKOFF_MIN,
1807 CFG_SAR_POWER_BACKOFF_MAX ),
1808
Jeff Johnson295189b2012-06-20 16:38:30 -07001809 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001810 hdd_config_t, nEnableListenMode,
1811 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1812 CFG_AP_LISTEN_MODE_DEFAULT,
1813 CFG_AP_LISTEN_MODE_MIN,
1814 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001815
1816 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1817 hdd_config_t, nAPAutoShutOff,
1818 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1819 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1820 CFG_AP_AUTO_SHUT_OFF_MIN,
1821 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001822
1823#if defined WLAN_FEATURE_VOWIFI
1824 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001825 hdd_config_t, fRrmEnable,
1826 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1827 CFG_RRM_ENABLE_DEFAULT,
1828 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001829 CFG_RRM_ENABLE_MAX ),
1830
1831 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001832 hdd_config_t, nInChanMeasMaxDuration,
1833 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1834 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1835 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001836 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1837
1838 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001839 hdd_config_t, nOutChanMeasMaxDuration,
1840 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1841 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1842 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001843 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1844
1845 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001846 hdd_config_t, nRrmRandnIntvl,
1847 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1848 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1849 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001850 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1851#endif
1852
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001853#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001854 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001855 hdd_config_t, fFTResourceReqSupported,
1856 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1857 CFG_FT_RESOURCE_REQ_DEFAULT,
1858 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001859 CFG_FT_RESOURCE_REQ_MAX ),
1860#endif
1861
Girish Gowlibf0e1ab2015-01-19 16:05:16 +05301862#ifdef DEBUG_ROAM_DELAY
1863 REG_VARIABLE( CFG_ENABLE_ROAM_DELAY_STATS, WLAN_PARAM_Integer,
1864 hdd_config_t, gEnableRoamDelayStats,
1865 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1866 CFG_ENABLE_ROAM_DELAY_STATS_DEFAULT,
1867 CFG_ENABLE_ROAM_DELAY_STATS_MIN,
1868 CFG_ENABLE_ROAM_DELAY_STATS_MAX ),
1869#endif //#ifdef DEBUG_ROAM_DELAY
1870
Jeff Johnson295189b2012-06-20 16:38:30 -07001871#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001872 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001873 hdd_config_t, nNeighborScanPeriod,
1874 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1875 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1876 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001877 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1878 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001879
1880 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001881 hdd_config_t, nNeighborReassocRssiThreshold,
1882 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1883 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1884 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001885 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1886
Srinivas Girigowdade697412013-02-14 16:31:48 -08001887 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001888 hdd_config_t, nNeighborLookupRssiThreshold,
1889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1890 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1891 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001892 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1893 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001894
1895 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001896 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001897 VAR_FLAGS_OPTIONAL,
1898 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1899
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001900 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001901 hdd_config_t, nNeighborScanMinChanTime,
1902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1903 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1904 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001905 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1906 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001907
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001908 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001909 hdd_config_t, nNeighborScanMaxChanTime,
1910 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1911 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1912 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001913 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1914 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001915
1916 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1917 hdd_config_t, nMaxNeighborReqTries,
1918 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1919 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1920 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1921 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1922
Srinivas Girigowdade697412013-02-14 16:31:48 -08001923 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001924 hdd_config_t, nNeighborResultsRefreshPeriod,
1925 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1926 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1927 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001928 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1929 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1930
1931 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1932 hdd_config_t, nEmptyScanRefreshPeriod,
1933 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1934 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1935 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1936 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1937 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Mukul Sharma20aa6582014-08-07 21:36:12 +05301938
1939 REG_VARIABLE( CFG_NEIGHBOR_INITIAL_FORCED_ROAM_TO_5GH_ENABLE_NAME, WLAN_PARAM_Integer,
1940 hdd_config_t, nNeighborInitialForcedRoamTo5GhEnable,
1941 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1942 CFG_NEIGHBOR_INITIAL_FORCED_ROAM_TO_5GH_ENABLE_DEFAULT,
1943 CFG_NEIGHBOR_INITIAL_FORCED_ROAM_TO_5GH_ENABLE_MIN,
1944 CFG_NEIGHBOR_INITIAL_FORCED_ROAM_TO_5GH_ENABLE_MAX),
1945
Jeff Johnson295189b2012-06-20 16:38:30 -07001946#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1947
1948 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001949 hdd_config_t, burstSizeDefinition,
1950 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1951 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1952 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001953 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1954
1955 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1956 hdd_config_t, mcastBcastFilterSetting,
1957 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1958 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1959 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1960 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1961
1962 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1963 hdd_config_t, fhostArpOffload,
1964 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1965 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1966 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1967 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1968
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301969 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1970 hdd_config_t, fhostNSOffload,
1971 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1972 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1973 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1974 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1975
Jeff Johnson295189b2012-06-20 16:38:30 -07001976 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001977 hdd_config_t, tsInfoAckPolicy,
1978 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1979 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1980 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001981 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1982
1983 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1984 hdd_config_t, bSingleTidRc,
1985 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1986 CFG_SINGLE_TID_RC_DEFAULT,
1987 CFG_SINGLE_TID_RC_MIN,
1988 CFG_SINGLE_TID_RC_MAX),
1989
1990 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1991 hdd_config_t, dynamicPsPollValue,
1992 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1993 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1994 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1995 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1996
1997 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1998 hdd_config_t, teleBcnWakeupEn,
1999 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2000 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
2001 CFG_TELE_BCN_WAKEUP_EN_MIN,
2002 CFG_TELE_BCN_WAKEUP_EN_MAX ),
2003
2004 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
2005 hdd_config_t, infraStaKeepAlivePeriod,
2006 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2007 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
2008 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
2009 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
2010
2011 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002012 hdd_config_t, AddTSWhenACMIsOff,
2013 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2014 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
2015 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002016 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
2017
2018
2019 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002020 hdd_config_t, fValidateScanList,
2021 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2022 CFG_VALIDATE_SCAN_LIST_DEFAULT,
2023 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002024 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002025
Jeff Johnson295189b2012-06-20 16:38:30 -07002026 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002027 hdd_config_t, nNullDataApRespTimeout,
2028 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2029 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
2030 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002031 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
2032
2033 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002034 hdd_config_t, apDataAvailPollPeriodInMs,
2035 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2036 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2037 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002038 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002039
Jeff Johnson295189b2012-06-20 16:38:30 -07002040 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002041 hdd_config_t, enableBtAmp,
2042 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2043 CFG_ENABLE_BTAMP_DEFAULT,
2044 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002045 CFG_ENABLE_BTAMP_MAX ),
2046
2047#ifdef WLAN_BTAMP_FEATURE
2048 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002049 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07002050 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2051 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
2052 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
2053 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
2054#endif //WLAN_BTAMP_FEATURE
2055 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002056 hdd_config_t, nBandCapability,
2057 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2058 CFG_BAND_CAPABILITY_DEFAULT,
2059 CFG_BAND_CAPABILITY_MIN,
2060 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002061
2062 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002063 hdd_config_t, fEnableBeaconEarlyTermination,
2064 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2065 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
2066 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
2067 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002068/* CFG_VOS_TRACE_ENABLE Parameters */
2069 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
2070 hdd_config_t, vosTraceEnableBAP,
2071 VAR_FLAGS_OPTIONAL,
2072 CFG_VOS_TRACE_ENABLE_DEFAULT,
2073 CFG_VOS_TRACE_ENABLE_MIN,
2074 CFG_VOS_TRACE_ENABLE_MAX ),
2075
2076 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
2077 hdd_config_t, vosTraceEnableTL,
2078 VAR_FLAGS_OPTIONAL,
2079 CFG_VOS_TRACE_ENABLE_DEFAULT,
2080 CFG_VOS_TRACE_ENABLE_MIN,
2081 CFG_VOS_TRACE_ENABLE_MAX ),
2082
2083 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
2084 hdd_config_t, vosTraceEnableWDI,
2085 VAR_FLAGS_OPTIONAL,
2086 CFG_VOS_TRACE_ENABLE_DEFAULT,
2087 CFG_VOS_TRACE_ENABLE_MIN,
2088 CFG_VOS_TRACE_ENABLE_MAX ),
2089
2090 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
2091 hdd_config_t, vosTraceEnableHDD,
2092 VAR_FLAGS_OPTIONAL,
2093 CFG_VOS_TRACE_ENABLE_DEFAULT,
2094 CFG_VOS_TRACE_ENABLE_MIN,
2095 CFG_VOS_TRACE_ENABLE_MAX ),
2096
2097 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
2098 hdd_config_t, vosTraceEnableSME,
2099 VAR_FLAGS_OPTIONAL,
2100 CFG_VOS_TRACE_ENABLE_DEFAULT,
2101 CFG_VOS_TRACE_ENABLE_MIN,
2102 CFG_VOS_TRACE_ENABLE_MAX ),
2103
2104 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
2105 hdd_config_t, vosTraceEnablePE,
2106 VAR_FLAGS_OPTIONAL,
2107 CFG_VOS_TRACE_ENABLE_DEFAULT,
2108 CFG_VOS_TRACE_ENABLE_MIN,
2109 CFG_VOS_TRACE_ENABLE_MAX ),
2110
Katya Nigam70d68332013-09-16 16:49:45 +05302111 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PMC_NAME, WLAN_PARAM_Integer,
2112 hdd_config_t, vosTraceEnablePMC,
2113 VAR_FLAGS_OPTIONAL,
2114 CFG_VOS_TRACE_ENABLE_DEFAULT,
2115 CFG_VOS_TRACE_ENABLE_MIN,
2116 CFG_VOS_TRACE_ENABLE_MAX ),
2117
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002118 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
2119 hdd_config_t, vosTraceEnableWDA,
2120 VAR_FLAGS_OPTIONAL,
2121 CFG_VOS_TRACE_ENABLE_DEFAULT,
2122 CFG_VOS_TRACE_ENABLE_MIN,
2123 CFG_VOS_TRACE_ENABLE_MAX ),
2124
2125 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
2126 hdd_config_t, vosTraceEnableSYS,
2127 VAR_FLAGS_OPTIONAL,
2128 CFG_VOS_TRACE_ENABLE_DEFAULT,
2129 CFG_VOS_TRACE_ENABLE_MIN,
2130 CFG_VOS_TRACE_ENABLE_MAX ),
2131
2132 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
2133 hdd_config_t, vosTraceEnableVOSS,
2134 VAR_FLAGS_OPTIONAL,
2135 CFG_VOS_TRACE_ENABLE_DEFAULT,
2136 CFG_VOS_TRACE_ENABLE_MIN,
2137 CFG_VOS_TRACE_ENABLE_MAX ),
2138
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002139 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
2140 hdd_config_t, vosTraceEnableSAP,
2141 VAR_FLAGS_OPTIONAL,
2142 CFG_VOS_TRACE_ENABLE_DEFAULT,
2143 CFG_VOS_TRACE_ENABLE_MIN,
2144 CFG_VOS_TRACE_ENABLE_MAX ),
2145
2146 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
2147 hdd_config_t, vosTraceEnableHDDSAP,
2148 VAR_FLAGS_OPTIONAL,
2149 CFG_VOS_TRACE_ENABLE_DEFAULT,
2150 CFG_VOS_TRACE_ENABLE_MIN,
2151 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002152
Jeff Johnson295189b2012-06-20 16:38:30 -07002153 /* note that since the default value is out of range we cannot
2154 enable range check, otherwise we get a system log message */
2155 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
2156 hdd_config_t, wdiTraceEnableDAL,
2157 VAR_FLAGS_OPTIONAL,
2158 CFG_WDI_TRACE_ENABLE_DEFAULT,
2159 CFG_WDI_TRACE_ENABLE_MIN,
2160 CFG_WDI_TRACE_ENABLE_MAX ),
2161
2162 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
2163 hdd_config_t, wdiTraceEnableCTL,
2164 VAR_FLAGS_OPTIONAL,
2165 CFG_WDI_TRACE_ENABLE_DEFAULT,
2166 CFG_WDI_TRACE_ENABLE_MIN,
2167 CFG_WDI_TRACE_ENABLE_MAX ),
2168
2169 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
2170 hdd_config_t, wdiTraceEnableDAT,
2171 VAR_FLAGS_OPTIONAL,
2172 CFG_WDI_TRACE_ENABLE_DEFAULT,
2173 CFG_WDI_TRACE_ENABLE_MIN,
2174 CFG_WDI_TRACE_ENABLE_MAX ),
2175
2176 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
2177 hdd_config_t, wdiTraceEnablePAL,
2178 VAR_FLAGS_OPTIONAL,
2179 CFG_WDI_TRACE_ENABLE_DEFAULT,
2180 CFG_WDI_TRACE_ENABLE_MIN,
2181 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002182
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002183 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002184 hdd_config_t, nTeleBcnTransListenInterval,
2185 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2186 CFG_TELE_BCN_TRANS_LI_DEFAULT,
2187 CFG_TELE_BCN_TRANS_LI_MIN,
2188 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002189
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002190 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002191 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
2192 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2193 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
2194 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
2195 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002196
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002197 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002198 hdd_config_t, nTeleBcnMaxListenInterval,
2199 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2200 CFG_TELE_BCN_MAX_LI_DEFAULT,
2201 CFG_TELE_BCN_MAX_LI_MIN,
2202 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002203
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002204 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002205 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
2206 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2207 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
2208 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
2209 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002210
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002211 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002212 hdd_config_t, bcnEarlyTermWakeInterval,
2213 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2214 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
2215 CFG_BCN_EARLY_TERM_WAKE_MIN,
2216 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002217
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002218 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002219 hdd_config_t, apDataAvailPollPeriodInMs,
2220 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2221 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2222 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002223 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
2224
2225 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002226 hdd_config_t, enableCloseLoop,
2227 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2228 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
2229 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002230 CFG_ENABLE_CLOSE_LOOP_MAX ),
2231
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002232 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002233 hdd_config_t, enableBypass11d,
2234 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2235 CFG_ENABLE_BYPASS_11D_DEFAULT,
2236 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002237 CFG_ENABLE_BYPASS_11D_MAX ),
2238
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002239 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002240 hdd_config_t, enableDFSChnlScan,
2241 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2242 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
2243 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002244 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
2245
Sachin Ahuja697ba3f2014-11-12 18:57:11 +05302246 REG_VARIABLE( CFG_ENABLE_DFS_PNO_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
2247 hdd_config_t, enableDFSPnoChnlScan,
2248 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2249 CFG_ENABLE_DFS_PNO_CHNL_SCAN_DEFAULT,
2250 CFG_ENABLE_DFS_PNO_CHNL_SCAN_MIN,
2251 CFG_ENABLE_DFS_PNO_CHNL_SCAN_MAX ),
2252
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002253 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002254 hdd_config_t, enableDynamicDTIM,
2255 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2256 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
2257 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002258 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
2259
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002260 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002261 hdd_config_t, enableAutomaticTxPowerControl,
2262 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2263 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
2264 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002265 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
2266
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002267 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002268 hdd_config_t, ShortGI40MhzEnable,
2269 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2270 CFG_SHORT_GI_40MHZ_DEFAULT,
2271 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002272 CFG_SHORT_GI_40MHZ_MAX ),
2273
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002274 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002275 hdd_config_t, reportMaxLinkSpeed,
2276 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2277 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
2278 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002279 CFG_REPORT_MAX_LINK_SPEED_MAX,
2280 NULL, 0 ),
2281
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002282 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002283 hdd_config_t, linkSpeedRssiHigh,
2284 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2285 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
2286 CFG_LINK_SPEED_RSSI_HIGH_MIN,
2287 CFG_LINK_SPEED_RSSI_HIGH_MAX,
2288 NULL, 0 ),
2289
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002290 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07002291 hdd_config_t, linkSpeedRssiMid,
2292 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2293 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
2294 CFG_LINK_SPEED_RSSI_MID_MIN,
2295 CFG_LINK_SPEED_RSSI_MID_MAX,
2296 NULL, 0 ),
2297
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002298 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002299 hdd_config_t, linkSpeedRssiLow,
2300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2301 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
2302 CFG_LINK_SPEED_RSSI_LOW_MIN,
2303 CFG_LINK_SPEED_RSSI_LOW_MAX,
2304 NULL, 0 ),
2305
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002306#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002307 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002308 hdd_config_t, nRoamPrefer5GHz,
2309 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2310 CFG_ROAM_PREFER_5GHZ_DEFAULT,
2311 CFG_ROAM_PREFER_5GHZ_MIN,
2312 CFG_ROAM_PREFER_5GHZ_MAX,
2313 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002314
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002315 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002316 hdd_config_t, nRoamIntraBand,
2317 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2318 CFG_ROAM_INTRA_BAND_DEFAULT,
2319 CFG_ROAM_INTRA_BAND_MIN,
2320 CFG_ROAM_INTRA_BAND_MAX,
2321 cbNotifySetRoamIntraBand, 0 ),
2322
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002323 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
2324 hdd_config_t, nProbes,
2325 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2326 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
2327 CFG_ROAM_SCAN_N_PROBES_MIN,
2328 CFG_ROAM_SCAN_N_PROBES_MAX,
2329 cbNotifySetRoamScanNProbes, 0 ),
2330
2331 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
2332 hdd_config_t, nRoamScanHomeAwayTime,
2333 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2334 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
2335 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
2336 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
2337 cbNotifySetRoamScanHomeAwayTime, 0 ),
2338
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002339#endif
2340
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002341 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07002342 hdd_config_t, isP2pDeviceAddrAdministrated,
2343 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2344 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
2345 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
2346 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002347
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002348 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002349 hdd_config_t, enableMCC,
2350 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2351 CFG_ENABLE_MCC_ENABLED_DEFAULT,
2352 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002353 CFG_ENABLE_MCC_ENABLED_MAX ),
2354
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002355 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002356 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002357 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2358 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
2359 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
2360 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002361
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002362 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002363 hdd_config_t, thermalMitigationEnable,
2364 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2365 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
2366 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002367 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002368
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002369 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002370 hdd_config_t, enableModulatedDTIM,
2371 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2372 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
2373 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002374 CFG_ENABLE_MODULATED_DTIM_MAX ),
2375
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002376 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002377 hdd_config_t, fEnableMCAddrList,
2378 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2379 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2380 CFG_MC_ADDR_LIST_ENABLE_MIN,
2381 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2382
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002383#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002384 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002385 hdd_config_t, vhtChannelWidth,
2386 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2387 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2388 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002389 CFG_VHT_CHANNEL_WIDTH_MAX),
2390
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002391 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002392 hdd_config_t, vhtRxMCS,
2393 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2394 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2395 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002396 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2397
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002398 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002399 hdd_config_t, vhtTxMCS,
2400 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2401 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2402 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002403 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
Abhishek Singhaa63bf22014-10-30 17:09:45 +05302404
2405 REG_VARIABLE( CFG_VHT_AMPDU_LEN_EXP_NAME, WLAN_PARAM_Integer,
2406 hdd_config_t, gVhtMaxAmpduLenExp,
2407 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2408 CFG_VHT_AMPDU_LEN_EXP_DEFAULT,
2409 CFG_VHT_AMPDU_LEN_EXP_MIN,
2410 CFG_VHT_AMPDU_LEN_EXP_MAX ),
Jeff Johnsone7245742012-09-05 17:12:55 -07002411#endif
2412
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002413 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002414 hdd_config_t, enableFirstScan2GOnly,
2415 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2416 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2417 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002418 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2419
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002420 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002421 hdd_config_t, skipDfsChnlInP2pSearch,
2422 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2423 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2424 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002425 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2426
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002427 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002428 hdd_config_t, ignoreDynamicDtimInP2pMode,
2429 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2430 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2431 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002432 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2433
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002434 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002435 hdd_config_t,numBuffAdvert ,
2436 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2437 CFG_NUM_BUFF_ADVERT_DEFAULT,
2438 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002439 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002440
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002441 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002442 hdd_config_t, configMccParam,
2443 VAR_FLAGS_OPTIONAL,
2444 CFG_MCC_CONFIG_PARAM_DEFAULT,
2445 CFG_MCC_CONFIG_PARAM_MIN,
2446 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002447 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002448 hdd_config_t, enableRxSTBC,
2449 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2450 CFG_ENABLE_RX_STBC_DEFAULT,
2451 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302452 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002453#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002454 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002455 hdd_config_t, fEnableTDLSSupport,
2456 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2457 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2458 CFG_TDLS_SUPPORT_ENABLE_MIN,
2459 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302460
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002461 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302462 hdd_config_t, fEnableTDLSImplicitTrigger,
2463 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2464 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2465 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2466 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2467
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002468 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302469 hdd_config_t, fTDLSTxStatsPeriod,
2470 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2471 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2472 CFG_TDLS_TX_STATS_PERIOD_MIN,
2473 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2474
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002475 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302476 hdd_config_t, fTDLSTxPacketThreshold,
2477 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2478 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2479 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2480 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2481
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002482 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302483 hdd_config_t, fTDLSDiscoveryPeriod,
2484 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2485 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2486 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2487 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2488
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002489 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302490 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2491 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2492 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2493 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2494 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2495
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002496 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002497 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302498 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002499 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2500 CFG_TDLS_IDLE_TIMEOUT_MIN,
2501 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2502
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002503 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002504 hdd_config_t, fTDLSIdlePacketThreshold,
2505 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2506 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2507 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2508 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302509
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002510 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002511 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302512 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2513 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2514 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2515 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002516
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002517 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002518 hdd_config_t, fTDLSRSSITriggerThreshold,
2519 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2520 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2521 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2522 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2523
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002524 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002525 hdd_config_t, fTDLSRSSITeardownThreshold,
2526 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2527 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2528 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2529 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302530
2531REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2532 hdd_config_t, fTDLSUapsdMask,
2533 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2534 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2535 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2536 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2537
2538REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2539 hdd_config_t, fEnableTDLSBufferSta,
2540 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2541 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2542 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2543 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2544
Naresh Jayaramf73f3762014-02-04 16:13:20 +05302545REG_VARIABLE( CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2546 hdd_config_t, fEnableTDLSOffChannel,
2547 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2548 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_DEFAULT,
2549 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MIN,
2550 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MAX ),
2551
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302552REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2553 hdd_config_t, fTDLSPuapsdInactivityTimer,
2554 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2555 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2556 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2557 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2558
2559REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2560 hdd_config_t, fTDLSRxFrameThreshold,
2561 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2562 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2563 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2564 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Sunil Dutt41de4e22013-11-14 18:09:02 +05302565
2566REG_VARIABLE( CFG_TDLS_EXTERNAL_CONTROL, WLAN_PARAM_Integer,
2567 hdd_config_t, fTDLSExternalControl,
2568 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2569 CFG_TDLS_EXTERNAL_CONTROL_DEFAULT,
2570 CFG_TDLS_EXTERNAL_CONTROL_MIN,
2571 CFG_TDLS_EXTERNAL_CONTROL_MAX ),
Pradeep Reddy POTTETIa9c80d52014-05-09 18:05:29 +05302572
2573REG_VARIABLE( CFG_TDLS_WMM_MODE_ENABLE, WLAN_PARAM_Integer,
2574 hdd_config_t, fEnableTDLSWmmMode,
2575 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2576 CFG_TDLS_WMM_MODE_ENABLE_DEFAULT,
2577 CFG_TDLS_WMM_MODE_ENABLE_MIN,
2578 CFG_TDLS_WMM_MODE_ENABLE_MAX ),
Pradeep Reddy POTTETIedaeb5f2014-05-22 23:34:41 +05302579
2580REG_VARIABLE( CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2581 hdd_config_t, fEnableTDLSScanCoexSupport,
2582 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2583 CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE_DEFAULT,
2584 CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE_MIN,
2585 CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE_MAX ),
Agarwal Ashishef54a182014-12-16 15:07:31 +05302586
2587REG_VARIABLE( CFG_TDLS_SCAN_ENABLE, WLAN_PARAM_Integer,
2588 hdd_config_t, fEnableTDLSScan,
2589 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2590 CFG_TDLS_SCAN_ENABLE_DEFAULT,
2591 CFG_TDLS_SCAN_ENABLE_MIN,
2592 CFG_TDLS_SCAN_ENABLE_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002593#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002594
Dino Mycledf0a5d92014-07-04 09:41:55 +05302595#ifdef WLAN_FEATURE_LINK_LAYER_STATS
2596REG_VARIABLE( CFG_LINK_LAYER_STATS_ENABLE, WLAN_PARAM_Integer,
2597 hdd_config_t, fEnableLLStats,
2598 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2599 CFG_LINK_LAYER_STATS_ENABLE_DEFAULT,
2600 CFG_LINK_LAYER_STATS_ENABLE_MIN,
2601 CFG_LINK_LAYER_STATS_ENABLE_MAX ),
2602#endif
Dino Myclee8843b32014-07-04 14:21:45 +05302603#ifdef WLAN_FEATURE_EXTSCAN
2604REG_VARIABLE( CFG_EXTSCAN_ENABLE, WLAN_PARAM_Integer,
2605 hdd_config_t, fEnableEXTScan,
2606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2607 CFG_EXTSCAN_ENABLE_DEFAULT,
2608 CFG_EXTSCAN_ENABLE_MIN,
2609 CFG_EXTSCAN_ENABLE_MAX ),
2610#endif
Dino Mycledf0a5d92014-07-04 09:41:55 +05302611
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002612#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002613 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002614 hdd_config_t, fEnableVSTASupport,
2615 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2616 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2617 CFG_VSTA_SUPPORT_ENABLE_MIN,
2618 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2619#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002620 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002621 hdd_config_t, enableLpwrImgTransition,
2622 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2623 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2624 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002625 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2626
Yathish9f22e662012-12-10 14:21:35 -08002627#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002628 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002629 hdd_config_t, fEnableActiveModeOffload,
2630 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2631 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2632 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2633 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2634#endif
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002635
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002636 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002637 hdd_config_t, scanAgingTimeout,
2638 VAR_FLAGS_OPTIONAL,
2639 CFG_SCAN_AGING_PARAM_DEFAULT,
2640 CFG_SCAN_AGING_PARAM_MIN,
2641 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002642
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002643 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002644 hdd_config_t, enableTxLdpc,
2645 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2646 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2647 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2648 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2649
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002650 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302651 hdd_config_t, enableMCCAdaptiveScheduler,
2652 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2653 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2654 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2655 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2656
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002657 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302658 hdd_config_t, isAndroidPsEn,
2659 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2660 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2661 CFG_ANDRIOD_POWER_SAVE_MIN,
2662 CFG_ANDRIOD_POWER_SAVE_MAX),
2663
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002664 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002665 hdd_config_t, AdHocChannel5G,
2666 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2667 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2668 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2669 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2670
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002671 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002672 hdd_config_t, AdHocChannel24G,
2673 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2674 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2675 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2676 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2677
2678
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002679#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002680 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002681 hdd_config_t, enableTxBF,
2682 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2683 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2684 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2685 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002686
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002687 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002688 hdd_config_t, txBFCsnValue,
2689 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2690 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2691 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2692 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
Abhishek Singh6d5d29c2014-07-03 14:25:22 +05302693 REG_VARIABLE( CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
2694 hdd_config_t, enableMuBformee,
2695 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2696 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_DEFAULT,
2697 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MIN,
2698 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002699
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002700#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302701
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002702 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302703 hdd_config_t, sapAllowAllChannel,
2704 VAR_FLAGS_OPTIONAL,
2705 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2706 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2707 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002708
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002709#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002710 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002711 hdd_config_t, disableLDPCWithTxbfAP,
2712 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2713 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2714 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2715 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2716#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002717
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002718 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002719 hdd_config_t, listOfNonDfsCountryCode,
2720 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2721 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2722
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002723 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2724 hdd_config_t, enableSSR,
2725 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2726 CFG_ENABLE_SSR_DEFAULT,
2727 CFG_ENABLE_SSR_MIN,
2728 CFG_ENABLE_SSR_MAX,
2729 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302730
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002731 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302732 hdd_config_t, listOfNon11acCountryCode,
2733 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2734 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2735
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002736 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302737 hdd_config_t, cfgMaxMediumTime,
2738 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2739 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2740 CFG_MAX_MEDIUM_TIME_STAMIN,
2741 CFG_MAX_MEDIUM_TIME_STAMAX ),
2742
Leo Chang64d68bc2013-06-04 15:40:52 -07002743 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2744 hdd_config_t, enableTrafficMonitor,
2745 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2746 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2747 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2748 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2749
2750 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2751 hdd_config_t, trafficIdleTimeout,
2752 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2753 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2754 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2755 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002756
2757#ifdef WLAN_FEATURE_11AC
2758 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2759 hdd_config_t, enableVhtFor24GHzBand,
2760 VAR_FLAGS_OPTIONAL,
2761 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2762 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2763 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2764#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302765
2766 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2767 hdd_config_t, fScanOffload,
2768 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2769 CFG_SCAN_OFFLOAD_DEFAULT,
2770 CFG_SCAN_OFFLOAD_DISABLE,
2771 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002772
2773#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2774 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2775 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2776 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2777 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2778 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2779 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2780 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2781#endif
2782
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07002783 REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
2784 hdd_config_t, fEnableAdaptRxDrain,
2785 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2786 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
2787 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
2788 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
2789
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002790 REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer,
2791 hdd_config_t, dynSplitscan,
2792 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2793 CFG_DYNAMIC_SPLIT_SCAN_DEFAULT,
2794 CFG_DYNAMIC_SPLIT_SCAN_MIN,
2795 CFG_DYNAMIC_SPLIT_SCAN_MAX ),
2796
2797 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer,
2798 hdd_config_t, txRxThresholdForSplitScan,
2799 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2800 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT,
2801 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN,
2802 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ),
2803
2804 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer,
2805 hdd_config_t, trafficMntrTmrForSplitScan,
2806 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2807 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT,
2808 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN,
2809 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ),
2810
Yue Ma0fd23872013-08-01 15:56:47 -07002811 REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer,
2812 hdd_config_t, flexConnectPowerFactor,
2813 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX,
2814 CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT,
2815 CFG_FLEX_CONNECT_POWER_FACTOR_MIN,
2816 CFG_FLEX_CONNECT_POWER_FACTOR_MAX ),
2817
Ravi Joshid2ca7c42013-07-23 08:37:49 -07002818 REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer,
2819 hdd_config_t, enableIbssHeartBeatOffload,
2820 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2821 CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT,
2822 CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN,
2823 CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX),
2824
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05302825 REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer,
2826 hdd_config_t, antennaDiversity,
2827 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2828 CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT,
2829 CFG_ANTENNA_DIVERSITY_PARAM_MIN,
2830 CFG_ANTENNA_DIVERSITY_PARAM_MAX),
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05302831
2832 REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2833 hdd_config_t, fEnableSNRMonitoring,
2834 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2835 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2836 CFG_ENABLE_SNR_MONITORING_MIN,
2837 CFG_ENABLE_SNR_MONITORING_MAX),
2838
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302839#ifdef FEATURE_WLAN_SCAN_PNO
Hardik Kantilal Patel3dfd8792013-11-13 20:34:57 +05302840 REG_VARIABLE( CFG_PNO_SCAN_SUPPORT, WLAN_PARAM_Integer,
2841 hdd_config_t, configPNOScanSupport,
2842 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2843 CFG_PNO_SCAN_SUPPORT_DEFAULT,
2844 CFG_PNO_SCAN_SUPPORT_DISABLE,
2845 CFG_PNO_SCAN_SUPPORT_ENABLE),
2846
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302847 REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2848 hdd_config_t, configPNOScanTimerRepeatValue,
2849 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2850 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2851 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2852 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
2853#endif
krunal soni5afa96c2013-09-06 22:19:02 -07002854 REG_VARIABLE( CFG_AMSDU_SUPPORT_IN_AMPDU_NAME , WLAN_PARAM_Integer,
2855 hdd_config_t, isAmsduSupportInAMPDU,
2856 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2857 CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT,
2858 CFG_AMSDU_SUPPORT_IN_AMPDU_MIN,
2859 CFG_AMSDU_SUPPORT_IN_AMPDU_MAX ),
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302860
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07002861 REG_VARIABLE( CFG_STRICT_5GHZ_PREF_BY_MARGIN , WLAN_PARAM_Integer,
2862 hdd_config_t, nSelect5GHzMargin,
2863 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2864 CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT,
2865 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN,
2866 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX ),
2867
krunal sonie9002db2013-11-25 14:24:17 -08002868 REG_VARIABLE( CFG_COALESING_IN_IBSS_NAME , WLAN_PARAM_Integer,
2869 hdd_config_t, isCoalesingInIBSSAllowed,
2870 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2871 CFG_COALESING_IN_IBSS_DEFAULT,
2872 CFG_COALESING_IN_IBSS_MIN,
2873 CFG_COALESING_IN_IBSS_MAX ),
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05302874
2875 REG_VARIABLE( CFG_DISABLE_ATH_NAME , WLAN_PARAM_Integer,
2876 hdd_config_t, cfgAthDisable,
2877 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2878 CFG_DISABLE_ATH_DEFAULT,
2879 CFG_DISABLE_ATH_MIN,
2880 CFG_DISABLE_ATH_MAX ),
c_hpothu6d7dc922013-12-02 12:36:41 +05302881 REG_VARIABLE(CFG_BTC_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2882 hdd_config_t, cfgBtcActiveWlanLen,
2883 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2884 CFG_BTC_ACTIVE_WLAN_LEN_DEFAULT,
2885 CFG_BTC_ACTIVE_WLAN_LEN_MIN,
2886 CFG_BTC_ACTIVE_WLAN_LEN_MAX ),
2887
2888 REG_VARIABLE(CFG_BTC_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2889 hdd_config_t, cfgBtcActiveBtLen,
2890 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2891 CFG_BTC_ACTIVE_BT_LEN_DEFAULT,
2892 CFG_BTC_ACTIVE_BT_LEN_MIN,
2893 CFG_BTC_ACTIVE_BT_LEN_MAX ),
2894
2895 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2896 hdd_config_t, cfgBtcSapActiveWlanLen,
2897 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2898 CFG_BTC_SAP_ACTIVE_WLAN_LEN_DEFAULT,
2899 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MIN,
2900 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MAX ),
2901
2902 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2903 hdd_config_t, cfgBtcSapActiveBtLen,
2904 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2905 CFG_BTC_SAP_ACTIVE_BT_LEN_DEFAULT,
2906 CFG_BTC_SAP_ACTIVE_BT_LEN_MIN,
2907 CFG_BTC_SAP_ACTIVE_BT_LEN_MAX ),
Arif Hussaind5218912013-12-05 01:10:55 -08002908
2909#ifdef MEMORY_DEBUG
2910 REG_VARIABLE(CFG_ENABLE_MEMORY_DEBUG_NAME, WLAN_PARAM_Integer,
2911 hdd_config_t, IsMemoryDebugSupportEnabled,
2912 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2913 CFG_ENABLE_MEMORY_DEBUG_DEFAULT,
2914 CFG_ENABLE_MEMORY_DEBUG_MIN,
2915 CFG_ENABLE_MEMORY_DEBUG_MAX ),
2916#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002917
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08002918 REG_VARIABLE_STRING( CFG_OVERRIDE_COUNTRY_CODE, WLAN_PARAM_String,
2919 hdd_config_t, overrideCountryCode,
2920 VAR_FLAGS_OPTIONAL,
Kiet Lamaa8e15a2014-02-11 23:30:06 -08002921 (void *)CFG_OVERRIDE_COUNTRY_CODE_DEFAULT),
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05302922
2923 REG_VARIABLE( CFG_ASD_PROBE_INTERVAL_NAME, WLAN_PARAM_Integer,
2924 hdd_config_t, gAsdProbeInterval,
2925 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2926 CFG_ASD_PROBE_INTERVAL_DEFAULT,
2927 CFG_ASD_PROBE_INTERVAL_MIN,
2928 CFG_ASD_PROBE_INTERVAL_MAX),
2929
c_hpothu1c4405a2014-12-10 18:16:16 +05302930 REG_VARIABLE( CFG_ASD_TRIGGER_THRESHOLD_NAME, WLAN_PARAM_SignedInteger,
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05302931 hdd_config_t, gAsdTriggerThreshold,
2932 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2933 CFG_ASD_TRIGGER_THRESHOLD_DEFAULT,
2934 CFG_ASD_TRIGGER_THRESHOLD_MIN,
2935 CFG_ASD_TRIGGER_THRESHOLD_MAX),
2936
2937 REG_VARIABLE( CFG_ASD_RTT_RSSI_HYST_THRESHOLD_NAME, WLAN_PARAM_Integer,
2938 hdd_config_t, gAsdRTTRssiHystThreshold,
2939 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2940 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_DEFAULT,
2941 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MIN,
2942 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MAX),
Leela Venkata Kiran Kumar Reddy Chirala22c159b2013-12-23 18:19:13 -08002943
2944 REG_VARIABLE( CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_NAME, WLAN_PARAM_Integer,
2945 hdd_config_t, debugP2pRemainOnChannel,
2946 VAR_FLAGS_OPTIONAL,
2947 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_DEFAULT,
2948 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MIN,
2949 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MAX ),
2950
2951 REG_VARIABLE(CFG_CTS2S_DURING_BTC_SCO_NAME, WLAN_PARAM_Integer,
2952 hdd_config_t, cfgBtcCTS2SduringSCO,
2953 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2954 CFG_CTS2S_DURING_BTC_SCO_DEFAULT,
2955 CFG_CTS2S_DURING_BTC_SCO_MIN,
2956 CFG_CTS2S_DURING_BTC_SCO_MAX ),
Tushnim Bhattacharyyaa3ba5a52014-01-30 11:37:33 -08002957
2958 REG_VARIABLE( CFG_ENABLE_DEBUG_CONNECT_ISSUE, WLAN_PARAM_Integer,
2959 hdd_config_t, gEnableDebugLog,
2960 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2961 CFG_ENABLE_DEBUG_CONNECT_ISSUE_DEFAULT,
2962 CFG_ENABLE_DEBUG_CONNECT_ISSUE_MIN ,
2963 CFG_ENABLE_DEBUG_CONNECT_ISSUE_MAX),
Sandeep Puligilla04bb8fd2014-02-03 23:21:47 +05302964
2965 REG_VARIABLE(CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_NAME, WLAN_PARAM_Integer,
2966 hdd_config_t, nOBSSScanActiveDwellTime,
2967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2968 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_DEFAULT,
2969 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MIN,
2970 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MAX ),
2971
2972 REG_VARIABLE(CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_NAME, WLAN_PARAM_Integer,
2973 hdd_config_t, nOBSSScanPassiveDwellTime,
2974 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2975 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_DEFAULT,
2976 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MIN,
2977 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MAX ),
2978
2979 REG_VARIABLE(CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_NAME,
2980 WLAN_PARAM_Integer,
2981 hdd_config_t, nOBSSScanWidthTriggerInterval,
2982 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2983 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_DEFAULT,
2984 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MIN,
2985 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MAX ),
Kalikinkar dharad73a9bd2014-01-28 22:42:34 -08002986
2987 REG_VARIABLE( CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_NAME, WLAN_PARAM_Integer,
2988 hdd_config_t, gEnableStrictRegulatoryForFCC,
2989 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2990 CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_DEFAULT,
2991 CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_MIN,
2992 CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_MAX ),
2993
Rashmi Ramannabd3feb72014-02-25 16:14:48 +05302994 REG_VARIABLE( CFG_ADVERTISE_CONCURRENT_OPERATION_NAME , WLAN_PARAM_Integer,
2995 hdd_config_t, advertiseConcurrentOperation,
2996 VAR_FLAGS_OPTIONAL,
2997 CFG_ADVERTISE_CONCURRENT_OPERATION_DEFAULT,
2998 CFG_ADVERTISE_CONCURRENT_OPERATION_MIN,
2999 CFG_ADVERTISE_CONCURRENT_OPERATION_MAX ),
3000
Abhishek Singh8280c4e2014-02-18 13:26:34 +05303001 REG_VARIABLE( CFG_DEFAULT_RATE_INDEX_24GH, WLAN_PARAM_Integer,
3002 hdd_config_t, defaultRateIndex24Ghz,
3003 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3004 CFG_DEFAULT_RATE_INDEX_24GH_DEFAULT,
3005 CFG_DEFAULT_RATE_INDEX_24GH_MIN,
3006 CFG_DEFAULT_RATE_INDEX_24GH_MAX ),
3007
Abhishek Singhf0ac1752014-03-05 17:47:09 +05303008 REG_VARIABLE( CFG_SAP_DOT11_MODE_NAME, WLAN_PARAM_Integer,
3009 hdd_config_t, sapDot11Mode,
3010 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3011 CFG_SAP_DOT11_MODE_DEFAULT,
3012 CFG_SAP_DOT11_MODE_MIN,
3013 CFG_SAP_DOT11_MODE_MAX ),
3014
c_hpothu5bd1ae42014-03-07 20:28:22 +05303015 REG_VARIABLE(CFG_RA_FILTER_ENABLE_NAME, WLAN_PARAM_Integer,
3016 hdd_config_t, cfgRAFilterEnable,
3017 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3018 CFG_RA_FILTER_ENABLE_DEFAULT,
3019 CFG_RA_FILTER_ENABLE_MIN,
3020 CFG_RA_FILTER_ENABLE_MAX ),
3021
3022 REG_VARIABLE(CFG_RA_RATE_LIMIT_INTERVAL_NAME, WLAN_PARAM_Integer,
3023 hdd_config_t, cfgRARateLimitInterval,
3024 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3025 CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT,
3026 CFG_RA_RATE_LIMIT_INTERVAL_MIN,
3027 CFG_RA_RATE_LIMIT_INTERVAL_MAX ),
Sandeep Puligillac80f26e2014-03-11 18:36:10 +05303028
3029 REG_VARIABLE( CFG_ROAMING_DFS_CHANNEL_NAME , WLAN_PARAM_Integer,
3030 hdd_config_t, allowDFSChannelRoam,
3031 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3032 CFG_ROAMING_DFS_CHANNEL_DEFAULT,
3033 CFG_ROAMING_DFS_CHANNEL_MIN,
3034 CFG_ROAMING_DFS_CHANNEL_MAX ),
Vinay Krishna Erannad938c422014-03-10 17:14:21 +05303035
3036#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
3037 REG_VARIABLE( CFG_WLAN_LOGGING_SUPPORT_NAME, WLAN_PARAM_Integer,
3038 hdd_config_t, wlanLoggingEnable,
3039 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3040 CFG_WLAN_LOGGING_SUPPORT_DEFAULT,
3041 CFG_WLAN_LOGGING_SUPPORT_DISABLE,
3042 CFG_WLAN_LOGGING_SUPPORT_ENABLE ),
3043
3044 REG_VARIABLE( CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_NAME, WLAN_PARAM_Integer,
3045 hdd_config_t, wlanLoggingFEToConsole,
3046 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3047 CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_DEFAULT,
3048 CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_DISABLE,
3049 CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_ENABLE ),
3050
3051 REG_VARIABLE( CFG_WLAN_LOGGING_NUM_BUF_NAME, WLAN_PARAM_Integer,
3052 hdd_config_t, wlanLoggingNumBuf,
3053 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3054 CFG_WLAN_LOGGING_NUM_BUF_DEFAULT,
3055 CFG_WLAN_LOGGING_NUM_BUF_MIN,
3056 CFG_WLAN_LOGGING_NUM_BUF_MAX ),
3057#endif //WLAN_LOGGING_SOCK_SVC_ENABLE
3058
c_hpothu059edb02014-03-12 21:44:28 +05303059 REG_VARIABLE(CFG_INITIAL_DWELL_TIME_NAME, WLAN_PARAM_Integer,
3060 hdd_config_t, nInitialDwellTime,
3061 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3062 CFG_INITIAL_DWELL_TIME_DEFAULT,
3063 CFG_INITIAL_DWELL_TIME_MIN,
3064 CFG_INITIAL_DWELL_TIME_MAX ),
c_hpothu0d5a7352014-03-22 12:30:25 +05303065
3066 REG_VARIABLE(CFG_INITIAL_SCAN_SKIP_DFS_CH_NAME, WLAN_PARAM_Integer,
3067 hdd_config_t, initialScanSkipDFSCh,
3068 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3069 CFG_INITIAL_SCAN_SKIP_DFS_CH_DEFAULT,
3070 CFG_INITIAL_SCAN_SKIP_DFS_CH_MIN,
3071 CFG_INITIAL_SCAN_SKIP_DFS_CH_MAX),
c_hpothu2d0f1c42014-04-01 18:38:51 +05303072
3073 REG_VARIABLE(CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_NAME, WLAN_PARAM_Integer,
3074 hdd_config_t, cfgBtcFatalHidnSniffBlkGuidance,
3075 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3076 CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_DEFAULT,
3077 CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_MIN,
3078 CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_MAX ),
3079
3080 REG_VARIABLE(CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_NAME, WLAN_PARAM_Integer,
3081 hdd_config_t, cfgBtcCriticalHidnSniffBlkGuidance,
3082 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3083 CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_DEFAULT,
3084 CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_MIN,
3085 CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_MAX ),
3086
3087 REG_VARIABLE(CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_NAME, WLAN_PARAM_Integer,
3088 hdd_config_t, cfgBtcA2dpTxQueueThold,
3089 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3090 CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_DEFAULT,
3091 CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_MIN,
3092 CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_MAX ),
3093
3094 REG_VARIABLE(CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_NAME, WLAN_PARAM_Integer,
3095 hdd_config_t, cfgBtcOppTxQueueThold,
3096 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3097 CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_DEFAULT,
3098 CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_MIN,
3099 CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_MAX ),
Chet Lanctotfadc8e32014-04-24 14:50:52 -07003100
3101#ifdef WLAN_FEATURE_11W
3102 REG_VARIABLE(CFG_PMF_SA_QUERY_MAX_RETRIES_NAME, WLAN_PARAM_Integer,
3103 hdd_config_t, pmfSaQueryMaxRetries,
3104 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3105 CFG_PMF_SA_QUERY_MAX_RETRIES_DEFAULT,
3106 CFG_PMF_SA_QUERY_MAX_RETRIES_MIN,
3107 CFG_PMF_SA_QUERY_MAX_RETRIES_MAX ),
3108
3109 REG_VARIABLE(CFG_PMF_SA_QUERY_RETRY_INTERVAL_NAME, WLAN_PARAM_Integer,
3110 hdd_config_t, pmfSaQueryRetryInterval,
3111 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3112 CFG_PMF_SA_QUERY_RETRY_INTERVAL_DEFAULT,
3113 CFG_PMF_SA_QUERY_RETRY_INTERVAL_MIN,
3114 CFG_PMF_SA_QUERY_RETRY_INTERVAL_MAX ),
3115#endif
Rashmi Ramanna68b309c2014-05-20 11:52:22 +05303116
3117 REG_VARIABLE(CFG_DEFER_IMPS_FOR_TIME_NAME, WLAN_PARAM_Integer,
3118 hdd_config_t, deferImpsTime,
3119 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3120 CFG_DEFER_IMPS_FOR_TIME_DEFAULT,
3121 CFG_DEFER_IMPS_FOR_TIME_MIN,
3122 CFG_DEFER_IMPS_FOR_TIME_MAX),
3123
Abhishek Singhde51a412014-05-20 19:17:26 +05303124 REG_VARIABLE(CFG_ENABLE_DEAUTH_BEFORE_CONNECTION, WLAN_PARAM_Integer,
3125 hdd_config_t, sendDeauthBeforeCon,
3126 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3127 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_DEFAULT,
3128 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MIN,
3129 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MAX),
Pradeep Reddy POTTETI5c2e16d2014-06-27 16:47:38 +05303130
Siddharth Bhala3a5cb42014-09-29 21:13:13 +05303131 REG_VARIABLE(CFG_ENABLE_MAC_ADDR_SPOOFING, WLAN_PARAM_Integer,
3132 hdd_config_t, enableMacSpoofing,
3133 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3134 CFG_ENABLE_MAC_ADDR_SPOOFING_DEFAULT,
3135 CFG_ENABLE_MAC_ADDR_SPOOFING_MIN,
3136 CFG_ENABLE_MAC_ADDR_SPOOFING_MAX),
3137
Pradeep Reddy POTTETI5c2e16d2014-06-27 16:47:38 +05303138 REG_VARIABLE(CFG_ENABLE_CH_AVOID, WLAN_PARAM_Integer,
3139 hdd_config_t, fenableCHAvoidance,
3140 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3141 CFG_ENABLE_CH_AVOID_DEFAULT,
3142 CFG_ENABLE_CH_AVOID_MIN,
3143 CFG_ENABLE_CH_AVOID_MAX ),
Agarwal Ashish51325b52014-06-16 16:50:49 +05303144
3145 REG_VARIABLE(CFG_MAX_CONCURRENT_CONNECTIONS_NAME, WLAN_PARAM_Integer,
3146 hdd_config_t, gMaxConcurrentActiveSessions,
3147 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3148 CFG_MAX_CONCURRENT_CONNECTIONS_DEFAULT,
3149 CFG_MAX_CONCURRENT_CONNECTIONS_MIN,
3150 CFG_MAX_CONCURRENT_CONNECTIONS_MAX ),
Hardik Kantilal Patel086e0a32014-11-20 14:56:26 +05303151
3152#ifdef WLAN_FEATURE_AP_HT40_24G
3153 REG_VARIABLE(CFG_ENABLE_HT_2040_COEX, WLAN_PARAM_Integer,
3154 hdd_config_t, apHT40_24GEnabled,
3155 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3156 CFG_ENABLE_HT_2040_COEX_DEFAULT,
3157 CFG_ENABLE_HT_2040_COEX_MIN,
3158 CFG_ENABLE_HT_2040_COEX_MAX ),
3159#endif
3160
Mihir Shetec34258c2014-07-30 17:50:27 +05303161 REG_VARIABLE( CFG_ENABLE_DYNAMIC_WMMPS_NAME, WLAN_PARAM_Integer,
3162 hdd_config_t, enableDynamicWMMPS,
3163 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3164 CFG_ENABLE_DYNAMIC_WMM_PS_DEFAULT,
3165 CFG_ENABLE_DYNAMIC_WMM_PS_MIN,
3166 CFG_ENABLE_DYNAMIC_WMM_PS_MAX ),
3167
3168 REG_VARIABLE( CFG_MAX_UAPSD_CONSEC_SP_NAME, WLAN_PARAM_Integer,
3169 hdd_config_t, maxUapsdConsecSP,
3170 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3171 CFG_MAX_UAPSD_CONSEC_SP_DEFAULT,
3172 CFG_MAX_UAPSD_CONSEC_SP_MIN,
3173 CFG_MAX_UAPSD_CONSEC_SP_MAX ),
3174
3175 REG_VARIABLE( CFG_MAX_UAPSD_CONSEC_RX_CNT_NAME, WLAN_PARAM_Integer,
3176 hdd_config_t, maxUapsdConsecRxCnt,
3177 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3178 CFG_MAX_UAPSD_CONSEC_RX_CNT_DEFAULT,
3179 CFG_MAX_UAPSD_CONSEC_RX_CNT_MIN,
3180 CFG_MAX_UAPSD_CONSEC_RX_CNT_MAX ),
3181
3182 REG_VARIABLE( CFG_MAX_UAPSD_CONSEC_TX_CNT_NAME, WLAN_PARAM_Integer,
3183 hdd_config_t, maxUapsdConsecTxCnt,
3184 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3185 CFG_MAX_UAPSD_CONSEC_TX_CNT_DEFAULT,
3186 CFG_MAX_UAPSD_CONSEC_TX_CNT_MIN,
3187 CFG_MAX_UAPSD_CONSEC_TX_CNT_MAX ),
3188
3189 REG_VARIABLE( CFG_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW_NAME, WLAN_PARAM_Integer,
3190 hdd_config_t, uapsdConsecRxCntMeasWindow,
3191 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3192 CFG_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW_DEFAULT,
3193 CFG_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW_MIN,
3194 CFG_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW_MAX ),
3195
3196 REG_VARIABLE( CFG_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW_NAME, WLAN_PARAM_Integer,
3197 hdd_config_t, uapsdConsecTxCntMeasWindow,
3198 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3199 CFG_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW_DEFAULT,
3200 CFG_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW_MIN,
3201 CFG_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW_MAX ),
3202
3203 REG_VARIABLE( CFG_UAPSD_PSPOLL_NAME, WLAN_PARAM_Integer,
3204 hdd_config_t, maxPsPollInWmmUapsdMode,
3205 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3206 CFG_UAPSD_PSPOLL_DEFAULT,
3207 CFG_UAPSD_PSPOLL_MIN,
3208 CFG_UAPSD_PSPOLL_MAX ),
3209
3210 REG_VARIABLE( CFG_MAX_UAPSD_INACT_INTVL_NAME, WLAN_PARAM_Integer,
3211 hdd_config_t, maxUapsdInactivityIntervals,
3212 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3213 CFG_MAX_UAPSD_INACT_INTVL_DEFAULT,
3214 CFG_MAX_UAPSD_INACT_INTVL_MIN,
3215 CFG_MAX_UAPSD_INACT_INTVL_MAX ),
Dino Mycled9b7cc12014-09-04 18:43:07 +05303216
c_hpothu03d961b2014-09-19 16:45:00 +05303217 REG_VARIABLE( CFG_BURST_MODE_BE_TXOP_VALUE, WLAN_PARAM_Integer,
3218 hdd_config_t, burstModeTXOPValue,
3219 VAR_FLAGS_OPTIONAL |
3220 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3221 CFG_BURST_MODE_BE_TXOP_VALUE_DEFAULT,
3222 CFG_BURST_MODE_BE_TXOP_VALUE_MIN,
3223 CFG_BURST_MODE_BE_TXOP_VALUE_MAX ),
Peng Xufc6ad8e2014-09-25 13:16:43 +05303224 REG_VARIABLE( CFG_SAP_SCAN_BAND_PREFERENCE, WLAN_PARAM_Integer,
3225 hdd_config_t, acsScanBandPreference,
3226 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3227 CFG_SAP_SCAN_BAND_PREFERENCE_DEFAULT,
3228 CFG_SAP_SCAN_BAND_PREFERENCE_MIN,
3229 CFG_SAP_SCAN_BAND_PREFERENCE_MAX ),
Deepthi Gowri9025aa62014-11-07 19:45:36 +05303230
3231 REG_VARIABLE( CFG_ENABLE_DYNAMIC_RA_START_RATE_NAME, WLAN_PARAM_Integer,
3232 hdd_config_t, enableDynamicRAStartRate,
3233 VAR_FLAGS_OPTIONAL |
3234 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3235 CFG_ENABLE_DYNAMIC_RA_START_RATE_DEFAULT,
3236 CFG_ENABLE_DYNAMIC_RA_START_RATE_MIN,
3237 CFG_ENABLE_DYNAMIC_RA_START_RATE_MAX),
Ganesh Kondabattinibabfb492014-12-17 20:25:29 +05303238
3239 REG_VARIABLE( CFG_P2P_LISTEN_DEFER_INTERVAL_NAME, WLAN_PARAM_Integer,
3240 hdd_config_t, gP2PListenDeferInterval,
3241 VAR_FLAGS_OPTIONAL |
3242 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3243 CFG_P2P_LISTEN_DEFER_INTERVAL_DEFAULT,
3244 CFG_P2P_LISTEN_DEFER_INTERVAL_MIN,
3245 CFG_P2P_LISTEN_DEFER_INTERVAL_MAX),
Chandrasekaran, Manishekar5cb0acd2014-12-23 20:06:52 +05303246
3247 REG_VARIABLE( CFG_BTC_ENABLE_IND_TIMER_VALUE, WLAN_PARAM_Integer,
3248 hdd_config_t, btcEnableIndTimerVal,
3249 VAR_FLAGS_OPTIONAL |
3250 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3251 CFG_BTC_ENABLE_IND_TIMER_VALUE_DEFAULT,
3252 CFG_BTC_ENABLE_IND_TIMER_VALUE_MIN,
3253 CFG_BTC_ENABLE_IND_TIMER_VALUE_MAX),
3254
Naresh Jayaramf5bbe3f2014-12-29 18:32:47 +05303255 REG_VARIABLE( CFG_BTC_FAST_WLAN_CONN_PREF , WLAN_PARAM_Integer,
3256 hdd_config_t, btcFastWlanConnPref,
3257 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3258 CFG_BTC_FAST_WLAN_CONN_PREF_DEFAULT,
3259 CFG_BTC_FAST_WLAN_CONN_PREF_MIN,
3260 CFG_BTC_FAST_WLAN_CONN_PREF_MAX ),
3261
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08003262};
3263
Jeff Johnson295189b2012-06-20 16:38:30 -07003264/*
3265 * This function returns a pointer to the character after the occurence
3266 * of a new line character. It also modifies the original string by replacing
3267 * the '\n' character with the null character.
3268 * Function returns NULL if no new line character was found before end of
3269 * string was reached
3270 */
Vinay Krishna Eranna4fba8d22014-12-02 19:34:22 +05303271static char* get_next_line(char* str, char *str_end)
Jeff Johnson295189b2012-06-20 16:38:30 -07003272{
3273 char c;
3274
3275 if( str == NULL || *str == '\0') {
3276 return NULL;
3277 }
3278
3279 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003280 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07003281 str = str + 1;
Vinay Krishna Eranna4fba8d22014-12-02 19:34:22 +05303282 if (str > str_end)
3283 {
3284 return str;
3285 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003286 c = *str;
3287 }
3288
3289 if (c == '\0' ) {
3290 return NULL;
3291 }
3292 else
3293 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003294 return (str+1);
3295 }
3296
3297 return NULL;
3298}
3299
3300// look for space. Ascii values to look are -
3301// 0x09 == horizontal tab
3302// 0x0a == Newline ("\n")
3303// 0x0b == vertical tab
3304// 0x0c == Newpage or feed form.
3305// 0x0d == carriage return (CR or "\r")
3306// Null ('\0') should not considered as space.
3307#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
3308
3309/*
3310 * This function trims any leading and trailing white spaces
3311 */
3312static char *i_trim(char *str)
3313
3314{
3315 char *ptr;
3316
3317 if(*str == '\0') return str;
3318
3319 /* Find the first non white-space*/
3320 for (ptr = str; i_isspace(*ptr); ptr++);
3321 if (*ptr == '\0')
3322 return str;
3323
3324 /* This is the new start of the string*/
3325 str = ptr;
3326
3327 /* Find the last non white-space */
3328 ptr += strlen(ptr) - 1;
3329 for (; ptr != str && i_isspace(*ptr); ptr--);
3330 /* Null terminate the following character */
3331 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003332
Jeff Johnson295189b2012-06-20 16:38:30 -07003333 return str;
3334}
3335
3336
3337//Structure to store each entry in qcom_cfg.ini file
3338typedef struct
3339{
3340 char *name;
3341 char *value;
3342}tCfgIniEntry;
3343
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003344static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07003345 tCfgIniEntry* iniTable, unsigned long entries);
3346
3347#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003348void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07003349{
3350 unsigned long i;
3351
3352 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003353 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07003354 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
3355 }
3356}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003357#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003358
3359/*
3360 * This function reads the qcom_cfg.ini file and
3361 * parses each 'Name=Value' pair in the ini file
3362 */
3363VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
3364{
3365 int status, i=0;
3366 /** Pointer for firmware image data */
3367 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07003368 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07003369 size_t size;
3370 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07003371 /* cfgIniTable is static to avoid excess stack usage */
3372 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07003373 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
3374
3375 memset(cfgIniTable, 0, sizeof(cfgIniTable));
3376
3377 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003378
Jeff Johnson295189b2012-06-20 16:38:30 -07003379 if(status)
3380 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003381 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07003382 vos_status = VOS_STATUS_E_FAILURE;
3383 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07003384 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003385 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07003386 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003387 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003388 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07003389 vos_status = VOS_STATUS_E_FAILURE;
3390 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003391 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003392
Vinay Krishna Erannaf5a30832014-08-13 18:44:37 +05303393 hddLog(LOGE, "%s: qcom_cfg.ini Size %zu", __func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07003394
3395 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003396
Jeff Johnson295189b2012-06-20 16:38:30 -07003397 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003398 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07003399 release_firmware(fw);
3400 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003401 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003402 pTemp = buffer;
3403
3404 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
3405 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003406
Jeff Johnson295189b2012-06-20 16:38:30 -07003407 while (buffer != NULL)
3408 {
Vinay Krishna Erannaf5a30832014-08-13 18:44:37 +05303409 /*
3410 * get_next_line function used to modify the \n and \r delimiter
3411 * to \0 before returning, without checking if it is over parsing the
3412 * source buffer. So changed the function not to modify the buffer
3413 * passed to it and letting the calling/caller function to take
3414 * care of the return pointer validation and modification of the buffer.
3415 * So validating if the return pointer is not greater than the end
3416 * buffer address and modifying the buffer value.
3417 */
Vinay Krishna Eranna4fba8d22014-12-02 19:34:22 +05303418 line = get_next_line(buffer, (pTemp + (fw->size-1)));
Vinay Krishna Erannaf5a30832014-08-13 18:44:37 +05303419 if(line > (pTemp + fw->size)) {
3420 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: INI file seems to be corrupted",
3421 __func__);
3422 vos_status = VOS_STATUS_E_FAILURE;
3423 goto config_exit;
3424 }
3425 else if(line) {
3426 *(line - 1) = '\0';
3427 }
3428
Jeff Johnson295189b2012-06-20 16:38:30 -07003429 buffer = i_trim(buffer);
3430
3431 hddLog(LOG1, "%s: item", buffer);
3432
3433 if(strlen((char*)buffer) == 0 || *buffer == '#') {
3434 buffer = line;
3435 continue;
3436 }
3437 else if(strncmp(buffer, "END", 3) == 0 ) {
3438 break;
3439 }
3440 else
3441 {
3442 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003443 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003444 buffer++;
3445 if(*buffer != '\0') {
3446 *buffer++ = '\0';
3447 i_trim(name);
3448 if(strlen (name) != 0) {
3449 buffer = i_trim(buffer);
3450 if(strlen(buffer)>0) {
3451 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003452 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003453 buffer++;
3454 *buffer = '\0';
3455 cfgIniTable[i].name= name;
3456 cfgIniTable[i++].value= value;
3457 if(i >= MAX_CFG_INI_ITEMS) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003458 hddLog(LOGE,"%s: Number of items in %s > %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003459 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07003460 break;
3461 }
3462 }
3463 }
3464 }
3465 }
3466 buffer = line;
3467 }
3468
3469 //Loop through the registry table and apply all these configs
3470 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
3471
Jeff Johnson4416a782013-03-25 14:17:50 -07003472config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07003473 release_firmware(fw);
3474 vos_mem_free(pTemp);
3475 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003476}
Jeff Johnson295189b2012-06-20 16:38:30 -07003477
3478
3479static void print_hdd_cfg(hdd_context_t *pHddCtx)
3480{
3481 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003482 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %u",pHddCtx->cfg_ini->RTSThreshold) ;
Jeff Johnson295189b2012-06-20 16:38:30 -07003483 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
3484 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
3485 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
3486 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003487 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%u]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
Jeff Johnson295189b2012-06-20 16:38:30 -07003488 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
Arif Hussaina7c8e412013-11-20 11:06:42 -08003489 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
3490 "Name = [gIbssBssid] Value =["MAC_ADDRESS_STR"]",
3491 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->IbssBssid.bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003492
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003493 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003494 "Name = [Intf0MacAddress] Value =["MAC_ADDRESS_STR"]",
3495 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[0].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003496
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003497 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003498 "Name = [Intf1MacAddress] Value =["MAC_ADDRESS_STR"]",
3499 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[1].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003500
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003501 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003502 "Name = [Intf2MacAddress] Value =["MAC_ADDRESS_STR"]",
3503 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[2].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003504
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003505 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003506 "Name = [Intf3MacAddress] Value =["MAC_ADDRESS_STR"]",
3507 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[3].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003508
Arif Hussain6d2a3322013-11-17 19:50:10 -08003509 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]",pHddCtx->cfg_ini->apUapsdEnabled);
Jeff Johnson295189b2012-06-20 16:38:30 -07003510
Arif Hussain6d2a3322013-11-17 19:50:10 -08003511 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]",
Jeff Johnson295189b2012-06-20 16:38:30 -07003512 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
3513 pHddCtx->cfg_ini->apCntryCode[2]);
3514 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
Arif Hussain6d2a3322013-11-17 19:50:10 -08003515 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]", pHddCtx->cfg_ini->nAPAutoShutOff);
Jeff Johnson295189b2012-06-20 16:38:30 -07003516
Arif Hussain6d2a3322013-11-17 19:50:10 -08003517 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableListenMode] Value = [%u]", pHddCtx->cfg_ini->nEnableListenMode);
3518 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]",pHddCtx->cfg_ini->apProtection);
3519 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]",pHddCtx->cfg_ini->apOBSSProtEnabled);
3520 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApAutoChannelSelection] value = [%u]",pHddCtx->cfg_ini->apAutoChannelSelection);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003521
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003522 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
3523 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
3524 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%u]",pHddCtx->cfg_ini->dot11Mode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003525 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
3526 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
3527 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
3528 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
3529
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003530 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
3531 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003532
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003533 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
3534 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003535
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003536 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
3537 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003538
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003539 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
3540 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003541#ifdef FEATURE_WLAN_ESE
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003542 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%u] ",pHddCtx->cfg_ini->InfraInactivityInterval);
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003543 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [EseEnabled] Value = [%u] ",pHddCtx->cfg_ini->isEseIniFeatureEnabled);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003544 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
3545 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTxPowerCap] Value = [%u] dBm ",pHddCtx->cfg_ini->nTxPowerCap);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003546#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003547#ifdef FEATURE_WLAN_LFR
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003548 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastRoamEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled);
Kiet Lamaa8e15a2014-02-11 23:30:06 -08003549 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [MAWCEnabled] Value = [%u] ",pHddCtx->cfg_ini->MAWCEnabled);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003550#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003551#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003552 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->RoamRssiDiff);
3553 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
3554 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [isWESModeEnabled] Value = [%u] ",pHddCtx->cfg_ini->isWESModeEnabled);
Jeff Johnson43971f52012-07-17 12:26:56 -07003555#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003556#ifdef FEATURE_WLAN_OKC
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003557 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%u] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003558#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003559 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
3560 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003561 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
3562 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
Jeff Johnson295189b2012-06-20 16:38:30 -07003563 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
3564
3565 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
3566 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003567 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
3568 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
Jeff Johnson295189b2012-06-20 16:38:30 -07003569 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
3570
3571 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
3572 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003573 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
3574 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
Jeff Johnson295189b2012-06-20 16:38:30 -07003575 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
3576
3577 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
3578 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003579 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
3580 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
Jeff Johnson295189b2012-06-20 16:38:30 -07003581 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
3582
3583 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
3584 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
3585 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
3586 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003587 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%u] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
Dhanashri Atred8c20a32014-01-03 17:20:55 -08003588 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BkReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->BkReorderAgingTime);
3589 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BeReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->BeReorderAgingTime);
3590 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ViReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->ViReorderAgingTime);
3591 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [VoReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->VoReorderAgingTime);
Jeff Johnson295189b2012-06-20 16:38:30 -07003592 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
3593 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fhostArpOffload] Value = [%u] ",pHddCtx->cfg_ini->fhostArpOffload);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003594#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003595 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%u] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
Jeff Johnson295189b2012-06-20 16:38:30 -07003596#endif
3597
Girish Gowlibf0e1ab2015-01-19 16:05:16 +05303598#ifdef DEBUG_ROAM_DELAY
3599 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableRoamDelayStats] Value = [%u] ",pHddCtx->cfg_ini->gEnableRoamDelayStats);
3600#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003601#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003602 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
3603 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
3604 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
3605 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
3606 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%u] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
3607 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
3608 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanResultsRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod);
3609 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nEmptyScanRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
Mukul Sharma20aa6582014-08-07 21:36:12 +05303610 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborInitialForcedRoamTo5GhEnable] Value = [%u] ",pHddCtx->cfg_ini->nNeighborInitialForcedRoamTo5GhEnable);
Jeff Johnson295189b2012-06-20 16:38:30 -07003611#endif
3612 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
3613 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
3614 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
3615 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
3616 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
3617 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
3618 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
3619
3620 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
3621 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3622 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
3623#ifdef WLAN_BTAMP_FEATURE
3624 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
3625#endif //WLAN_BTAMP_FEATURE
3626 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
3627 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
3628 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
3629 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
3630 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
3631 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
3632 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
3633 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
3634 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3635 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
3636 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
Sachin Ahuja697ba3f2014-11-12 18:57:11 +05303637 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSPnoChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSPnoChnlScan);
Jeff Johnson295189b2012-06-20 16:38:30 -07003638 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
3639 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [thermalMitigationEnable] Value = [%u] ",pHddCtx->cfg_ini->thermalMitigationEnable);
Jeff Johnsone7245742012-09-05 17:12:55 -07003640#ifdef WLAN_FEATURE_11AC
Arif Hussain6d2a3322013-11-17 19:50:10 -08003641 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]",pHddCtx->cfg_ini->vhtChannelWidth);
Jeff Johnsone7245742012-09-05 17:12:55 -07003642#endif
3643 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
3644 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
3645 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ignoreDynamicDtimInP2pMode] Value = [%u] ",pHddCtx->cfg_ini->ignoreDynamicDtimInP2pMode);
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303646 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableRxSTBC] Value = [%u] ",pHddCtx->cfg_ini->enableRxSTBC);
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08003647 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableLpwrImgTransition] Value = [%u] ",pHddCtx->cfg_ini->enableLpwrImgTransition);
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003648 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableSSR] Value = [%u] ",pHddCtx->cfg_ini->enableSSR);
Ravi Joshi83bfaa12013-05-28 22:12:08 -07003649 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableVhtFor24GHzBand] Value = [%u] ",pHddCtx->cfg_ini->enableVhtFor24GHzBand);
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003650
Leo Chang64d68bc2013-06-04 15:40:52 -07003651 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
3652 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTrafficIdleTimeout] Value = [%u] ", pHddCtx->cfg_ini->trafficIdleTimeout);
Yue Ma0fd23872013-08-01 15:56:47 -07003653 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gFlexConnectPowerFactor] Value = [%u] ", pHddCtx->cfg_ini->flexConnectPowerFactor);
Ravi Joshid2ca7c42013-07-23 08:37:49 -07003654 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableIbssHeartBeatOffload] Value = [%u] ", pHddCtx->cfg_ini->enableIbssHeartBeatOffload);
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05303655 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAntennaDiversity] Value = [%u] ", pHddCtx->cfg_ini->antennaDiversity);
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303656 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
3657 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
3658 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
3659 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApKeepAlivePeriod]Value = [%u]",pHddCtx->cfg_ini->apKeepAlivePeriod);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003660 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAmsduSupportInAMPDU] Value = [%u] ",pHddCtx->cfg_ini->isAmsduSupportInAMPDU);
3661 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nSelect5GHzMargin] Value = [%u] ",pHddCtx->cfg_ini->nSelect5GHzMargin);
Jeff Johnson89aa2692013-11-25 16:23:43 -08003662 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gCoalesingInIBSS] Value = [%u] ",pHddCtx->cfg_ini->isCoalesingInIBSSAllowed);
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303663
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08003664 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [overrideCountryCode] Value = [%s] ",pHddCtx->cfg_ini->overrideCountryCode);
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05303665
3666 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdProbeInterval] Value = [%u]",pHddCtx->cfg_ini->gAsdProbeInterval);
c_hpothu1c4405a2014-12-10 18:16:16 +05303667 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdTriggerThreshold] Value = [%hhd]",pHddCtx->cfg_ini->gAsdTriggerThreshold);
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05303668 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdRTTRssiHystThreshold]Value = [%u]",pHddCtx->cfg_ini->gAsdRTTRssiHystThreshold);
Sandeep Puligillac80f26e2014-03-11 18:36:10 +05303669 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gRoamtoDFSChannel] Value = [%u] ",pHddCtx->cfg_ini->allowDFSChannelRoam);
Agarwal Ashish51325b52014-06-16 16:50:49 +05303670 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gMaxConcurrentActiveSessions] Value = [%u] ", pHddCtx->cfg_ini->gMaxConcurrentActiveSessions);
Hardik Kantilal Patel086e0a32014-11-20 14:56:26 +05303671#ifdef WLAN_FEATURE_AP_HT40_24G
3672 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApHT4024G] Value = [%u]", pHddCtx->cfg_ini->apHT40_24GEnabled);
3673#endif
Peng Xufc6ad8e2014-09-25 13:16:43 +05303674 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAcsScanBandPreference] Value = [%u] ",pHddCtx->cfg_ini->acsScanBandPreference);
Agarwal Ashishbd3e10b2014-11-24 19:19:46 +05303675 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gACSBandSwitchThreshold] value = [%u]\n",pHddCtx->cfg_ini->acsBandSwitchThreshold);
3676 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDeferScanTimeInterval] value = [%u]\n",pHddCtx->cfg_ini->nDeferScanTimeInterval);
Agarwal Ashishef54a182014-12-16 15:07:31 +05303677 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTDLSScan] value = [%u]\n",pHddCtx->cfg_ini->fEnableTDLSScan);
Jeff Johnson295189b2012-06-20 16:38:30 -07003678}
3679
3680
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003681
Jeff Johnson295189b2012-06-20 16:38:30 -07003682#define CFG_VALUE_MAX_LEN 256
3683#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
3684VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
3685{
3686 unsigned int idx;
3687 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3688 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3689 v_U32_t value;
3690 char valueStr[CFG_VALUE_MAX_LEN];
3691 char configStr[CFG_ENTRY_MAX_LEN];
3692 char *fmt;
3693 void *pField;
3694 v_MACADDR_t *pMacAddr;
3695 char *pCur = pBuf;
3696 int curlen;
3697
3698 // start with an empty string
3699 *pCur = '\0';
3700
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003701 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07003702 {
3703 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
3704
3705 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3706 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003707 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07003708 {
3709 value = 0;
3710 memcpy( &value, pField, pRegEntry->VarSize );
3711 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
3712 {
3713 fmt = "%x";
3714 }
3715 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3716 {
3717 fmt = "%d";
3718 }
3719 else
3720 {
3721 fmt = "%u";
3722 }
3723 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
3724 }
3725 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3726 {
3727 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
3728 }
3729 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3730 {
3731 pMacAddr = (v_MACADDR_t *) pField;
3732 snprintf(valueStr, CFG_VALUE_MAX_LEN,
3733 "%02x:%02x:%02x:%02x:%02x:%02x",
3734 pMacAddr->bytes[0],
3735 pMacAddr->bytes[1],
3736 pMacAddr->bytes[2],
3737 pMacAddr->bytes[3],
3738 pMacAddr->bytes[4],
3739 pMacAddr->bytes[5]);
3740 }
3741 else
3742 {
3743 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
3744 }
Sameer Thalappilb0a30232013-09-27 15:37:48 -07003745 curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN,
Jeff Johnson295189b2012-06-20 16:38:30 -07003746 "%s=[%s]%s\n",
3747 pRegEntry->RegName,
3748 valueStr,
3749 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
3750 "*" : "");
3751
3752 // ideally we want to return the config to the application
3753 // however the config is too big so we just printk() for now
3754#ifdef RETURN_IN_BUFFER
3755 if (curlen <= buflen)
3756 {
3757 // copy string + '\0'
3758 memcpy(pCur, configStr, curlen+1);
3759
3760 // account for addition;
3761 pCur += curlen;
3762 buflen -= curlen;
3763 }
3764 else
3765 {
3766 // buffer space exhausted, return what we have
3767 return VOS_STATUS_E_RESOURCES;
3768 }
3769#else
3770 printk(KERN_CRIT "%s", configStr);
3771#endif // RETURN_IN_BUFFER
3772
3773}
3774
3775#ifndef RETURN_IN_BUFFER
3776 // notify application that output is in system log
3777 snprintf(pCur, buflen, "WLAN configuration written to system log");
3778#endif // RETURN_IN_BUFFER
3779
3780 return VOS_STATUS_SUCCESS;
3781}
3782
3783static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003784 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07003785{
3786 VOS_STATUS status = VOS_STATUS_E_FAILURE;
3787 unsigned long i;
3788
3789 for (i = 0; i < entries; i++) {
3790 if (strcmp(iniTable[i].name, name) == 0) {
3791 *value = iniTable[i].value;
3792 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
3793 WLAN_INI_FILE, name, *value);
3794 return VOS_STATUS_SUCCESS;
3795 }
3796 }
3797
3798 return status;
3799}
3800
3801static int parseHexDigit(char c)
3802{
3803 if (c >= '0' && c <= '9')
3804 return c-'0';
3805 if (c >= 'a' && c <= 'f')
3806 return c-'a'+10;
3807 if (c >= 'A' && c <= 'F')
3808 return c-'A'+10;
3809
3810 return 0;
3811}
3812
3813
3814static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
3815{
3816 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
3817 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
3818 unsigned int idx;
3819 void *pField;
3820 char *value_str = NULL;
3821 unsigned long len_value_str;
3822 char *candidate;
3823 v_U32_t value;
3824 v_S31_t svalue;
3825 void *pStructBase = pHddCtx->cfg_ini;
3826 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3827 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3828 v_U32_t cbOutString;
3829 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003830 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003831
3832 // sanity test
3833 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
3834 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003835 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003836 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07003837 }
3838
3839 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
3840 {
3841 //Calculate the address of the destination field in the structure.
3842 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
3843
3844 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
3845
3846 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
3847 {
3848 // If we could not read the cfg item and it is required, this is an error.
3849 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003850 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003851 ret_status = VOS_STATUS_E_FAILURE;
3852 break;
3853 }
3854
3855 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3856 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
3857 {
3858 // If successfully read from the registry, use the value read.
3859 // If not, use the default value.
3860 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003861 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003862 if (rv < 0) {
3863 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
3864 __func__, pRegEntry->RegName);
3865 value = pRegEntry->VarDefault;
3866 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003867 }
3868 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003869 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003870 if (rv < 0) {
3871 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
3872 __func__, pRegEntry->RegName);
3873 value = pRegEntry->VarDefault;
3874 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003875 }
3876 else {
3877 value = pRegEntry->VarDefault;
3878 }
3879
3880 // If this parameter needs range checking, do it here.
3881 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3882 {
3883 if ( value > pRegEntry->VarMax )
3884 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003885 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003886 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07003887 value = pRegEntry->VarMax;
3888 }
3889
3890 if ( value < pRegEntry->VarMin )
3891 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003892 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003893 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003894 value = pRegEntry->VarMin;
3895 }
3896 }
3897 // If this parameter needs range checking, do it here.
3898 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3899 {
3900 if ( value > pRegEntry->VarMax )
3901 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003902 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003903 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003904 value = pRegEntry->VarDefault;
3905 }
3906
3907 if ( value < pRegEntry->VarMin )
3908 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003909 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003910 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003911 value = pRegEntry->VarDefault;
3912 }
3913 }
3914
3915 // Move the variable into the output field.
3916 memcpy( pField, &value, pRegEntry->VarSize );
3917 }
3918 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3919 {
3920 // If successfully read from the registry, use the value read.
3921 // If not, use the default value.
3922 if (VOS_STATUS_SUCCESS == match_status)
3923 {
Jeff Johnson02797792013-10-26 19:17:13 -07003924 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003925 if (rv < 0) {
3926 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3927 __func__, pRegEntry->RegName);
3928 svalue = (v_S31_t)pRegEntry->VarDefault;
3929 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003930 }
3931 else
3932 {
3933 svalue = (v_S31_t)pRegEntry->VarDefault;
3934 }
3935
3936 // If this parameter needs range checking, do it here.
3937 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3938 {
3939 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3940 {
3941 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003942 "[%d > %d]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003943 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3944 svalue = (v_S31_t)pRegEntry->VarMax;
3945 }
3946
3947 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3948 {
3949 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003950 "[%d < %d]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003951 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3952 svalue = (v_S31_t)pRegEntry->VarMin;
3953 }
3954 }
3955 // If this parameter needs range checking, do it here.
3956 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3957 {
3958 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3959 {
3960 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003961 "[%d > %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003962 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003963 (int)pRegEntry->VarMax,
3964 (int)pRegEntry->VarDefault );
3965 svalue = (v_S31_t)pRegEntry->VarDefault;
3966 }
3967
3968 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3969 {
3970 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003971 "[%d < %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003972 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003973 (int)pRegEntry->VarMin,
3974 (int)pRegEntry->VarDefault);
3975 svalue = pRegEntry->VarDefault;
3976 }
3977 }
3978
3979 // Move the variable into the output field.
3980 memcpy( pField, &svalue, pRegEntry->VarSize );
3981 }
3982 // Handle string parameters
3983 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3984 {
3985#ifdef WLAN_CFG_DEBUG
Arif Hussain6d2a3322013-11-17 19:50:10 -08003986 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "RegName = %s, VarOffset %u VarSize %u VarDefault %s",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003987 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003988#endif
3989
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003990 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003991 {
3992 len_value_str = strlen(value_str);
3993
3994 if(len_value_str > (pRegEntry->VarSize - 1)) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003995 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003996 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003997 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3998 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3999 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
4000 }
4001 else
4002 {
4003 memcpy( pField, (void *)(value_str), len_value_str);
4004 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
4005 }
4006 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004007 else
Jeff Johnson295189b2012-06-20 16:38:30 -07004008 {
4009 // Failed to read the string parameter from the registry. Use the default.
4010 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
4011 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004012 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07004013 }
4014 }
4015 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
4016 {
4017 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08004018 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004019 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07004020 continue;
4021 }
4022 candidate = (char*)pRegEntry->VarDefault;
4023 if ( match_status == VOS_STATUS_SUCCESS) {
4024 len_value_str = strlen(value_str);
4025 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08004026 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004027 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07004028 }
4029 else
4030 candidate = value_str;
4031 }
4032 //parse the string and store it in the byte array
4033 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
4034 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004035 ((char*)pField)[i] =
4036 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07004037 }
4038 }
4039 else
4040 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08004041 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004042 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07004043 }
4044
4045 // did we successfully parse a cfg item for this parameter?
4046 if( (match_status == VOS_STATUS_SUCCESS) &&
4047 (idx < MAX_CFG_INI_ITEMS) )
4048 {
4049 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4050 }
4051 }
4052
4053 print_hdd_cfg(pHddCtx);
4054
4055 return( ret_status );
4056}
4057
4058eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
4059{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004060 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07004061 {
4062 case (eHDD_DOT11_MODE_abg):
4063 return eCSR_DOT11_MODE_abg;
4064 case (eHDD_DOT11_MODE_11b):
4065 return eCSR_DOT11_MODE_11b;
4066 case (eHDD_DOT11_MODE_11g):
4067 return eCSR_DOT11_MODE_11g;
4068 default:
4069 case (eHDD_DOT11_MODE_11n):
4070 return eCSR_DOT11_MODE_11n;
4071 case (eHDD_DOT11_MODE_11g_ONLY):
4072 return eCSR_DOT11_MODE_11g_ONLY;
4073 case (eHDD_DOT11_MODE_11n_ONLY):
4074 return eCSR_DOT11_MODE_11n_ONLY;
4075 case (eHDD_DOT11_MODE_11b_ONLY):
4076 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07004077#ifdef WLAN_FEATURE_11AC
4078 case (eHDD_DOT11_MODE_11ac_ONLY):
4079 return eCSR_DOT11_MODE_11ac_ONLY;
4080 case (eHDD_DOT11_MODE_11ac):
4081 return eCSR_DOT11_MODE_11ac;
4082#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004083 case (eHDD_DOT11_MODE_AUTO):
4084 return eCSR_DOT11_MODE_AUTO;
4085 }
4086
4087}
4088
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004089static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07004090{
4091 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4092 tSmeBtcConfig btcParams;
Wilson Tsaof8b37942013-09-06 10:49:00 -07004093 int i;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004094
Jeff Johnson295189b2012-06-20 16:38:30 -07004095 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
4096
4097 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07004098 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07004099 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
4100
Jeff Johnson32d95a32012-09-10 13:15:23 -07004101 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
4102 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
4103 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
4104 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
4105 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
4106 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
4107 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
4108 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
4109 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
4110 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
4111 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
4112 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
4113 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
4114
Wilson Tsaof8b37942013-09-06 10:49:00 -07004115 for (i = 0; i < 10; i++)
4116 {
4117 btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i];
4118 btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i];
4119 btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i];
4120 btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i];
4121 }
4122 for (i = 0; i < 6; i++)
4123 {
4124 btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i];
4125 }
4126 btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff;
4127 btcParams.SARPowerBackoff = pConfig->SARPowerBackoff;
4128
Jeff Johnson295189b2012-06-20 16:38:30 -07004129 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
4130}
4131
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004132static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07004133{
4134 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4135
4136 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004137
Jeff Johnson295189b2012-06-20 16:38:30 -07004138 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004139
Jeff Johnson295189b2012-06-20 16:38:30 -07004140 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
4141 {
4142 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
4143 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
4144 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
4145 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
4146 }
4147 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
4148 {
4149 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
4150 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
4151 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
4152 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
4153 }
4154 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
4155 {
4156 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
4157 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
4158 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
4159 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
4160 }
4161
4162 if (pConfig->fIsImpsEnabled)
4163 {
4164 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
4165 }
4166 else
4167 {
4168 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
4169 }
4170
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05304171 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
4172 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
4173 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
4174
Jeff Johnson295189b2012-06-20 16:38:30 -07004175 if (pConfig->fIsBmpsEnabled)
4176 {
4177 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
4178 }
4179 else
4180 {
4181 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
4182 }
4183
4184 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
4185
4186 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
4187 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08004188 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params");
Jeff Johnson295189b2012-06-20 16:38:30 -07004189 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004190
Jeff Johnson295189b2012-06-20 16:38:30 -07004191 if(pConfig->fIsAutoBmpsTimerEnabled)
4192 {
4193 sme_StartAutoBmpsTimer(pHddCtx->hHal);
4194 }
4195
4196}
4197
4198#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4199static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
4200{
4201 char *s = str;
4202
4203 if( str == NULL || intArray == NULL || len == NULL )
4204 {
4205 return VOS_STATUS_E_INVAL;
4206 }
4207 *len = 0;
4208
Jeff Johnson295189b2012-06-20 16:38:30 -07004209 while ( (s != NULL) && (*len < intArrayMaxLen) )
4210 {
4211 int val;
4212 //Increment length only if sscanf succesfully extracted one element.
4213 //Any other return value means error. Ignore it.
4214 if( sscanf(s, "%d", &val ) == 1 )
4215 {
4216 intArray[*len] = (tANI_U8) val;
4217 *len += 1;
4218 }
4219 s = strpbrk( s, "," );
4220 if( s )
4221 s++;
4222 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004223
4224 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004225
Jeff Johnson295189b2012-06-20 16:38:30 -07004226}
4227#endif
4228
4229
4230v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
4231{
4232 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004233#ifdef WLAN_SOFTAP_VSTA_FEATURE
4234 tANI_U32 val;
4235#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004236
4237 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Yue Maed390e72014-04-23 15:46:45 -07004238 tSirMacHTCapabilityInfo *htCapInfo;
4239 tANI_U32 temp32;
4240 tANI_U16 temp16;
Jeff Johnson295189b2012-06-20 16:38:30 -07004241
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004242 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004243 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4244 {
4245 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004246 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004247 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004248
4249 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004250 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4251 {
4252 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004253 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004254 }
4255
4256 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
4257 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4258 {
4259 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004260 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004261 }
4262
4263 if ( 0 != pConfig->Cfg1Id )
4264 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004265 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07004266 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4267 {
4268 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004269 hddLog(LOGE, "Could not pass on Cfg1Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004270 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004271
Jeff Johnson295189b2012-06-20 16:38:30 -07004272 }
4273
4274 if ( 0 != pConfig->Cfg2Id )
4275 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004276 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004277 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4278 {
4279 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004280 hddLog(LOGE, "Could not pass on Cfg2Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004281 }
4282 }
4283
4284 if ( 0 != pConfig->Cfg3Id )
4285 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004286 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004287 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4288 {
4289 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004290 hddLog(LOGE, "Could not pass on Cfg3Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004291 }
4292 }
4293
4294 if ( 0 != pConfig->Cfg4Id )
4295 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004296 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004297 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4298 {
4299 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004300 hddLog(LOGE, "Could not pass on Cfg4Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004301 }
4302 }
4303
4304 if ( 0 != pConfig->Cfg5Id )
4305 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004306 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004307 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4308 {
4309 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004310 hddLog(LOGE, "Could not pass on Cfg5Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004311 }
4312 }
4313
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004314 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07004315 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4316 {
4317 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004318 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004319 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004320
4321 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07004322 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4323 {
4324 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004325 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004326 }
4327
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004328 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07004329 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4330 {
4331 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004332 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004333 }
4334
4335 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
4336 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4337 {
4338 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004339 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004340 }
4341
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004342 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07004343 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004344 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07004345 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4346 {
4347 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004348 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004349 }
4350 }
4351 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004352 {
Jeff Johnson295189b2012-06-20 16:38:30 -07004353 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
4354 {
4355 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
Arif Hussain24bafea2013-11-15 15:10:03 -08004356 "MAC Addr (IBSS BSSID) read from Registry is: " MAC_ADDRESS_STR,
4357 MAC_ADDR_ARRAY(pConfig->IbssBssid.bytes));
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004358 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07004359 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4360 {
4361 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004362 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004363 }
4364 }
4365 else
4366 {
4367 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004368 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004369 }
4370 }
4371
Naresh Jayaram3df09eb2013-12-18 17:39:04 +05304372 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME,
4373 pConfig->nPassiveMinChnTime, NULL,
4374 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4375 {
4376 fStatus = FALSE;
4377 hddLog(LOGE, "Could not pass on WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME"
4378 " to CCM\n");
4379 }
4380
4381 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME,
4382 pConfig->nPassiveMaxChnTime, NULL,
4383 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4384 {
4385 fStatus = FALSE;
4386 hddLog(LOGE, "Could not pass on WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME"
4387 " to CCM\n");
4388 }
4389
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004390 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004391 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4392 {
4393 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004394 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004395 }
4396
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004397 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07004398 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4399 {
4400 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004401 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004402 }
4403
4404 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4405 {
4406 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004407 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004408 }
4409
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004410 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07004411 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4412 {
4413 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004414 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL");
Jeff Johnson295189b2012-06-20 16:38:30 -07004415 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004416
Jeff Johnson295189b2012-06-20 16:38:30 -07004417 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
4418 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4419 {
4420 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004421 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004422 }
4423
Jeff Johnson295189b2012-06-20 16:38:30 -07004424 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
4425 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4426 {
4427 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004428 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004429 }
4430
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004431 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07004432 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4433 {
4434 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004435 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004436 }
4437
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004438 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07004439 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4440 {
4441 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004442 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004443 }
4444
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004445 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07004446 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4447 {
4448 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004449 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004450 }
4451
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004452 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07004453 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4454 {
4455 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004456 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004457 }
4458
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004459 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07004460 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4461 {
4462 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004463 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004464 }
4465
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004466 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07004467 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4468 {
4469 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004470 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004471 }
4472
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004473 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07004474 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4475 {
4476 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004477 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004478 }
4479
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004480 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004481 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4482 {
4483 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004484 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004485 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004486
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004487 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004488 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4489 {
4490 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004491 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004492 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004493
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304494 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
4495 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4496 {
4497 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004498 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM");
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304499 }
4500
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304501 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
4502 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4503 {
4504 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004505 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM");
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304506 }
4507
4508
Jeff Johnson295189b2012-06-20 16:38:30 -07004509#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004510 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07004511 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4512 {
4513 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004514 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004515 }
4516
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004517 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004518 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4519 {
4520 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004521 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004522 }
4523
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004524 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004525 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4526 {
4527 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004528 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004529 }
4530
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004531 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07004532 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4533#endif
4534
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004535 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07004536 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4537 {
4538 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004539 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004540 }
4541
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004542 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07004543 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4544 {
4545 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004546 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004547 }
4548
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004549 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004550 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4551 {
4552 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004553 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004554 }
4555
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004556 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004557 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4558 {
4559 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004560 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004561 }
4562
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004563 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004564 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4565 {
4566 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004567 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004568 }
4569
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004570 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004571 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4572 {
4573 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004574 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004575 }
4576
4577 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
4578 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4579 {
4580 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004581 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004582 }
4583
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004584 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004585 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4586 {
4587 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004588 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004589 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004590 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07004591 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4592 {
4593 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004594 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004595 }
4596
4597 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
4598 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4599 {
4600 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004601 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_NULLDATA_DELAY_TIMEOUT configuration info to CCM" );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004602 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004603
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004604 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07004605 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004606 {
4607 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004608 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM" );
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004609 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004610 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004611 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4612 {
4613 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004614 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004615 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004616 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004617 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4618 {
4619 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004620 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004621 }
4622
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004623 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07004624 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4625 {
4626 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004627 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004628 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004629 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07004630 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4631 {
4632 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004633 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004634 }
4635
Jeff Johnson295189b2012-06-20 16:38:30 -07004636 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
4637 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4638 {
4639 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004640 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004641 }
4642
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004643 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07004644 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
4645 ==eHAL_STATUS_FAILURE)
4646 {
4647 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004648 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004649 }
4650
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004651 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07004652 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
4653 ==eHAL_STATUS_FAILURE)
4654 {
4655 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004656 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004657 }
4658
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004659 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004660 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4661 {
4662 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004663 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004664 }
4665
Jeff Johnsond13512a2012-07-17 11:42:19 -07004666
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004667 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07004668 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4669 {
4670 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004671 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM");
Jeff Johnsond13512a2012-07-17 11:42:19 -07004672 }
4673
Jeff Johnsone7245742012-09-05 17:12:55 -07004674#ifdef WLAN_FEATURE_11AC
4675 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
4676 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
4677 /* we update only the least significant 2 bits in the corresponding fields */
4678 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
4679 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
4680 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
4681 {
4682 {
4683 tANI_U32 temp = 0;
4684
4685 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004686 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004687
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004688 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07004689 temp, NULL, eANI_BOOLEAN_FALSE)
4690 ==eHAL_STATUS_FAILURE)
4691 {
4692 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004693 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004694 }
4695
4696 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004697 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004698
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004699 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004700 temp, NULL, eANI_BOOLEAN_FALSE)
4701 ==eHAL_STATUS_FAILURE)
4702 {
4703 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004704 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004705 }
4706
4707 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004708 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004709
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004710 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004711 temp, NULL, eANI_BOOLEAN_FALSE)
4712 ==eHAL_STATUS_FAILURE)
4713 {
4714 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004715 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004716 }
Praveen Kumar Sirisilla4cf7d262013-12-04 17:22:53 -08004717 /* Currently shortGI40Mhz is used for shortGI80Mhz */
4718 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_SHORT_GI_80MHZ,
4719 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)
4720 == eHAL_STATUS_FAILURE)
4721 {
4722 fStatus = FALSE;
4723 hddLog(LOGE, "Could not pass WNI_VHT_SHORT_GI_80MHZ to CCM\n");
4724 }
Abhishek Singhaa63bf22014-10-30 17:09:45 +05304725 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_AMPDU_LEN_EXPONENT,
4726 pConfig->gVhtMaxAmpduLenExp, NULL, eANI_BOOLEAN_FALSE)
4727 ==eHAL_STATUS_FAILURE)
4728 {
4729 fStatus = FALSE;
4730 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_AMPDU_LEN_EXPONENT to CCM");
4731 }
4732
Jeff Johnsone7245742012-09-05 17:12:55 -07004733 }
4734 }
4735#endif
4736
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004737 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004738 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4739 {
4740 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004741 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM");
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004742 }
4743
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004744 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304745 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4746 ==eHAL_STATUS_FAILURE)
4747 {
4748 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004749 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304750 }
4751
Yue Maed390e72014-04-23 15:46:45 -07004752 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, &temp32);
4753 temp16 = temp32 & 0xffff;
4754 htCapInfo = (tSirMacHTCapabilityInfo *)&temp16;
4755 htCapInfo->rxSTBC = pConfig->enableRxSTBC;
4756 temp32 = temp16;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304757
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004758 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Yue Maed390e72014-04-23 15:46:45 -07004759 temp32, NULL, eANI_BOOLEAN_FALSE)
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304760 ==eHAL_STATUS_FAILURE)
4761 {
4762 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004763 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304764 }
4765
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004766 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304767 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4768 ==eHAL_STATUS_FAILURE)
4769 {
4770 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004771 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304772 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004773
4774#ifdef WLAN_SOFTAP_VSTA_FEATURE
4775 if(pConfig->fEnableVSTASupport)
4776 {
4777 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
4778 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
4779 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
4780 }
4781 else
4782 {
4783 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
4784 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004785 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004786 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4787 {
4788 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004789 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM" );
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004790 }
4791#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004792 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004793 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
4794 ==eHAL_STATUS_FAILURE)
4795 {
4796 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004797 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM");
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004798 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304799
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004800 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
4801 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4802 {
4803 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004804 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM");
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004805 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004806 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
4807 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4808 {
4809 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004810 hddLog(LOGE, "Could not pass on WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP to CCM");
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004811 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004812
4813 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
4814 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4815 {
4816 fStatus = FALSE;
4817 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
4818 }
4819
4820 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
4821 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4822 {
4823 fStatus = FALSE;
4824 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
4825 }
4826
4827 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
4828 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4829 {
4830 fStatus = FALSE;
4831 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
4832 }
4833
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05304834 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
4835 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4836 {
4837 fStatus = FALSE;
4838 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
4839 }
4840
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304841#ifdef FEATURE_WLAN_TDLS
4842
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004843 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
4844 pConfig->fTDLSUapsdMask, NULL,
4845 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304846 {
4847 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004848 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304849 }
Pradeep Reddy POTTETIedaeb5f2014-05-22 23:34:41 +05304850
4851 if (TRUE == pConfig->fEnableTDLSScanCoexSupport)
4852 {
4853 /* TDLSScanCoexistance feature is supported when the DUT acts as only
4854 * the Sleep STA and hence explicitly disable the BufferSta capability
4855 * on the DUT. DUT's Buffer STA capability is explicitly disabled to
4856 * ensure that the TDLS peer shall not go to TDLS power save mode.
4857 */
4858 pConfig->fEnableTDLSBufferSta = FALSE;
4859 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004860 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
4861 pConfig->fEnableTDLSBufferSta, NULL,
4862 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304863 {
4864 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004865 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304866 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004867 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
4868 pConfig->fTDLSPuapsdInactivityTimer, NULL,
4869 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304870 {
4871 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004872 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304873 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004874 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
4875 pConfig->fTDLSRxFrameThreshold, NULL,
4876 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304877 {
4878 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004879 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304880 }
Naresh Jayaramf73f3762014-02-04 16:13:20 +05304881
4882 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_OFF_CHANNEL_ENABLED,
4883 pConfig->fEnableTDLSOffChannel, NULL,
4884 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4885 {
4886 fStatus = FALSE;
4887 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM\n");
4888 }
4889
Pradeep Reddy POTTETIa9c80d52014-05-09 18:05:29 +05304890 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_WMM_MODE_ENABLED,
4891 pConfig->fEnableTDLSWmmMode, NULL,
4892 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4893 {
4894 fStatus = FALSE;
4895 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_WMM_MODE_ENABLED to CCM\n");
4896 }
4897
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304898#endif
4899
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004900 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
4901 pConfig->fEnableAdaptRxDrain, NULL,
4902 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4903 {
4904 fStatus = FALSE;
4905 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
4906 }
Yue Ma0fd23872013-08-01 15:56:47 -07004907
4908 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
4909 pConfig->flexConnectPowerFactor, NULL,
4910 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4911 {
4912 fStatus = FALSE;
4913 hddLog(LOGE, "Failure: Could not pass on "
4914 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
4915 }
4916
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05304917 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
4918 pConfig->antennaDiversity, NULL,
4919 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4920 {
4921 fStatus = FALSE;
4922 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
4923 }
4924
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05304925 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ATH_DISABLE,
4926 pConfig->cfgAthDisable, NULL,
4927 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4928 {
4929 fStatus = FALSE;
4930 hddLog(LOGE, "Could not pass on WNI_CFG_ATH_DISABLE to CCM");
4931 }
c_hpothu6d7dc922013-12-02 12:36:41 +05304932
4933 if (ccmCfgSetInt(pHddCtx->hHal,
4934 WNI_CFG_BTC_ACTIVE_WLAN_LEN,
4935 pConfig->cfgBtcActiveWlanLen,
4936 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4937 {
4938 fStatus = FALSE;
4939 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4940 }
4941
4942 if (ccmCfgSetInt(pHddCtx->hHal,
4943 WNI_CFG_BTC_ACTIVE_BT_LEN,
4944 pConfig->cfgBtcActiveBtLen,
4945 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4946 {
4947 fStatus = FALSE;
4948 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4949 }
4950
4951 if (ccmCfgSetInt(pHddCtx->hHal,
4952 WNI_CFG_BTC_SAP_ACTIVE_WLAN_LEN,
4953 pConfig->cfgBtcSapActiveWlanLen,
4954 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4955 {
4956 fStatus = FALSE;
4957 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4958 }
4959
4960 if (ccmCfgSetInt(pHddCtx->hHal,
4961 WNI_CFG_BTC_SAP_ACTIVE_BT_LEN,
4962 pConfig->cfgBtcSapActiveBtLen,
4963 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4964 {
4965 fStatus = FALSE;
4966 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4967 }
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05304968
4969 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_PROBE_INTERVAL,
4970 pConfig->gAsdProbeInterval, NULL,
4971 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4972 {
4973 fStatus = FALSE;
4974 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_PROBE_INTERVAL to CCM");
4975 }
4976
4977 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_TRIGGER_THRESHOLD,
4978 pConfig->gAsdTriggerThreshold, NULL,
4979 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4980 {
4981 fStatus = FALSE;
4982 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_TRIGGER_THRESHOLD to CCM");
4983 }
4984
4985 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD,
4986 pConfig->gAsdRTTRssiHystThreshold, NULL,
4987 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4988 {
4989 fStatus = FALSE;
4990 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_RSSI_HYST_THRESHOLD to CCM");
4991 }
Leela Venkata Kiran Kumar Reddy Chirala22c159b2013-12-23 18:19:13 -08004992
4993 if (ccmCfgSetInt(pHddCtx->hHal,
4994 WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL,
4995 pConfig->debugP2pRemainOnChannel,
4996 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4997 {
4998 fStatus = FALSE;
4999 hddLog(LOGE,
5000 "Could not pass on WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL to CCM");
5001 }
5002
5003 if (ccmCfgSetInt(pHddCtx->hHal,
5004 WNI_CFG_BTC_CTS2S_DURING_SCO,
5005 pConfig->cfgBtcCTS2SduringSCO,
5006 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5007 {
5008 fStatus = FALSE;
5009 hddLog(LOGE, "Could not pass on WNI_CFG_BTC_CTS2S_DURING_SCO to CCM");
5010 }
Abhishek Singh8280c4e2014-02-18 13:26:34 +05305011
5012 if(ccmCfgSetInt(pHddCtx->hHal,
5013 WNI_CFG_DEFAULT_RATE_INDEX_24GHZ,
5014 defHddRateToDefCfgRate(pConfig->defaultRateIndex24Ghz),
5015 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5016 {
5017 fStatus = FALSE;
5018 hddLog(LOGE, "Could not pass on WNI_CFG_DEFAULT_RATE_INDEX_24GHZ to"
5019 " CCM\n");
5020 }
c_hpothu5bd1ae42014-03-07 20:28:22 +05305021
5022 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RA_FILTER_ENABLE, pConfig->cfgRAFilterEnable,
5023 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5024 {
5025 fStatus = FALSE;
5026 hddLog(LOGE, "Could not pass on WNI_CFG_RA_FILTER_ENABLE to CCM");
5027 }
5028
5029 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RA_RATE_LIMIT_INTERVAL, pConfig->cfgRARateLimitInterval,
5030 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5031 {
5032 fStatus = FALSE;
5033 hddLog(LOGE, "Could not pass on WNI_CFG_RA_FILTER_ENABLE to CCM");
5034 }
5035
c_hpothu2d0f1c42014-04-01 18:38:51 +05305036 if (ccmCfgSetInt(pHddCtx->hHal,
5037 WNI_CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE,
5038 pConfig->cfgBtcFatalHidnSniffBlkGuidance,
5039 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5040 {
5041 fStatus = FALSE;
5042 hddLog(LOGE, "Could not pass on"
5043 "WNI_CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE to CCM");
5044 }
5045
5046 if (ccmCfgSetInt(pHddCtx->hHal,
5047 WNI_CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE,
5048 pConfig->cfgBtcCriticalHidnSniffBlkGuidance,
5049 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5050 {
5051 fStatus = FALSE;
5052 hddLog(LOGE, "Could not pass on"
5053 "WNI_CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE to CCM");
5054 }
5055
5056 if (ccmCfgSetInt(pHddCtx->hHal,
5057 WNI_CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD,
5058 pConfig->cfgBtcA2dpTxQueueThold,
5059 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5060 {
5061 fStatus = FALSE;
5062 hddLog(LOGE, "Could not pass on"
5063 "WNI_CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD to CCM");
5064 }
5065
5066 if (ccmCfgSetInt(pHddCtx->hHal,
5067 WNI_CFG_BTC_DYN_OPP_TX_QUEUE_THOLD,
5068 pConfig->cfgBtcOppTxQueueThold,
5069 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5070 {
5071 fStatus = FALSE;
5072 hddLog(LOGE, "Could not pass on"
5073 "WNI_CFG_BTC_DYN_OPP_TX_QUEUE_THOLD to CCM");
5074 }
5075
Chet Lanctotfadc8e32014-04-24 14:50:52 -07005076#ifdef WLAN_FEATURE_11W
5077 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PMF_SA_QUERY_MAX_RETRIES,
5078 pConfig->pmfSaQueryMaxRetries, NULL,
5079 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5080 {
5081 fStatus = FALSE;
5082 hddLog(LOGE, "Could not pass on WNI_CFG_SA_QUERY_MAX_RETRIES to CCM");
5083 }
5084
5085 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PMF_SA_QUERY_RETRY_INTERVAL,
5086 pConfig->pmfSaQueryRetryInterval, NULL,
5087 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5088 {
5089 fStatus = FALSE;
5090 hddLog(LOGE, "Could not pass on WNI_CFG_SA_QUERY_RETRY_INTERVAL to CCM");
5091 }
5092#endif
Mihir Shetec34258c2014-07-30 17:50:27 +05305093 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_CONSEC_SP,
5094 pConfig->maxUapsdConsecSP, NULL,
5095 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5096 {
5097 fStatus = FALSE;
5098 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_CONSEC_SP");
5099 }
5100
5101 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_CONSEC_RX_CNT,
5102 pConfig->maxUapsdConsecRxCnt, NULL,
5103 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5104 {
5105 fStatus = FALSE;
5106 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_CONSEC_RX_CNT");
5107 }
5108
5109 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_CONSEC_TX_CNT,
5110 pConfig->maxUapsdConsecTxCnt, NULL,
5111 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5112 {
5113 fStatus = FALSE;
5114 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_CONSEC_TX_CNT");
5115 }
5116
5117 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW,
5118 pConfig->uapsdConsecTxCntMeasWindow, NULL,
5119 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5120 {
5121 fStatus = FALSE;
5122 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW");
5123 }
5124
5125 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW,
5126 pConfig->uapsdConsecRxCntMeasWindow, NULL,
5127 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5128 {
5129 fStatus = FALSE;
5130 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW");
5131 }
5132
5133 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PSPOLL_IN_WMM_UAPSD_PS_MODE,
5134 pConfig->maxPsPollInWmmUapsdMode, NULL,
5135 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5136 {
5137 fStatus = FALSE;
5138 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PSPOLL_IN_WMM_UAPSD_PS_MODE");
5139 }
5140
5141 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_INACTIVITY_INTERVALS,
5142 pConfig->maxUapsdInactivityIntervals, NULL,
5143 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5144 {
5145 fStatus = FALSE;
5146 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_INACTIVITY_INTERVALS");
5147 }
5148
5149 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_DYNAMIC_WMMPS,
5150 pConfig->enableDynamicWMMPS, NULL,
5151 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5152 {
5153 fStatus = FALSE;
5154 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_DYNAMIC_WMMPS");
5155 }
Chet Lanctotfadc8e32014-04-24 14:50:52 -07005156
c_hpothu03d961b2014-09-19 16:45:00 +05305157 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BURST_MODE_BE_TXOP_VALUE,
5158 pConfig->burstModeTXOPValue, NULL,
5159 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5160 {
5161 fStatus = FALSE;
5162 hddLog(LOGE, "Could not pass on WNI_CFG_BURST_MODE_BE_TXOP_VALUE ");
5163 }
Deepthi Gowri9025aa62014-11-07 19:45:36 +05305164
5165 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_DYNAMIC_RA_START_RATE,
5166 pConfig->enableDynamicRAStartRate,
5167 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5168 {
5169 fStatus = FALSE;
5170 hddLog(LOGE, "Could not pass on"
5171 "WNI_CFG_ENABLE_DYNAMIC_RA_START_RATE to CCM");
5172 }
Naresh Jayaramf5bbe3f2014-12-29 18:32:47 +05305173
5174 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BTC_FAST_WLAN_CONN_PREF,
5175 pConfig->btcFastWlanConnPref, NULL,
5176 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5177 {
5178 fStatus = FALSE;
5179 hddLog(LOGE, "Could not pass on WNI_CFG_BTC_FAST_WLAN_CONN_PREF ");
5180 }
Jeff Johnson295189b2012-06-20 16:38:30 -07005181 return fStatus;
5182}
5183
5184
5185/**---------------------------------------------------------------------------
5186
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005187 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07005188
5189 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005190
Jeff Johnson295189b2012-06-20 16:38:30 -07005191 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005192
Jeff Johnson295189b2012-06-20 16:38:30 -07005193 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005194
Jeff Johnson295189b2012-06-20 16:38:30 -07005195 --------------------------------------------------------------------------*/
5196
5197VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
5198{
5199 VOS_STATUS status = VOS_STATUS_SUCCESS;
5200 eHalStatus halStatus;
Mukul Sharma20aa6582014-08-07 21:36:12 +05305201 tpSmeConfigParams smeConfig;
Jeff Johnson295189b2012-06-20 16:38:30 -07005202
5203 hdd_config_t *pConfig = pHddCtx->cfg_ini;
5204
Mukul Sharma20aa6582014-08-07 21:36:12 +05305205 smeConfig = vos_mem_malloc(sizeof(tSmeConfigParams));
5206 if (NULL == smeConfig)
5207 {
5208 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, "%s smeConfig allocation failed",__func__);
5209 return eHAL_STATUS_FAILED_ALLOC;
5210 }
Mukul Sharmaa631e892014-08-28 15:38:51 +05305211 vos_mem_zero( smeConfig, sizeof( tSmeConfigParams ) );
Jeff Johnson295189b2012-06-20 16:38:30 -07005212
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005213 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussain6d2a3322013-11-17 19:50:10 -08005214 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07005215 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
5216
5217 // Config params obtained from the registry
Amar Singhalfddc28c2013-09-05 13:03:40 -07005218
Mukul Sharma20aa6582014-08-07 21:36:12 +05305219 smeConfig->csrConfig.RTSThreshold = pConfig->RTSThreshold;
5220 smeConfig->csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
5221 smeConfig->csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
5222 smeConfig->csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
5223 smeConfig->csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
Jeff Johnson295189b2012-06-20 16:38:30 -07005224
Mukul Sharma20aa6582014-08-07 21:36:12 +05305225 smeConfig->csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
Jeff Johnson295189b2012-06-20 16:38:30 -07005226
Leela Venkata Kiran Kumar Reddy Chirala784d7e82013-11-20 10:57:25 -08005227 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_abg) ||
5228 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b) ||
5229 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g) ||
5230 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b_ONLY) ||
5231 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g_ONLY))
5232 {
Mukul Sharma20aa6582014-08-07 21:36:12 +05305233 smeConfig->csrConfig.channelBondingMode24GHz = 0;
5234 smeConfig->csrConfig.channelBondingMode5GHz = 0;
Leela Venkata Kiran Kumar Reddy Chirala784d7e82013-11-20 10:57:25 -08005235 }
5236 else
5237 {
Mukul Sharma20aa6582014-08-07 21:36:12 +05305238 smeConfig->csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
5239 smeConfig->csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
Leela Venkata Kiran Kumar Reddy Chirala784d7e82013-11-20 10:57:25 -08005240 }
Mukul Sharma20aa6582014-08-07 21:36:12 +05305241 smeConfig->csrConfig.TxRate = pConfig->TxRate;
5242 smeConfig->csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
5243 smeConfig->csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
5244 smeConfig->csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
5245 smeConfig->csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
5246 smeConfig->csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
5247 smeConfig->csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
5248 smeConfig->csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
5249 smeConfig->csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
5250 smeConfig->csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
5251 smeConfig->csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
5252 smeConfig->csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
5253 smeConfig->csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
5254 smeConfig->csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
5255 smeConfig->csrConfig.nRoamingTime = pConfig->nRoamingTime;
5256 smeConfig->csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
5257 smeConfig->csrConfig.nInitialDwellTime = pConfig->nInitialDwellTime;
5258 smeConfig->csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
5259 smeConfig->csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
5260 smeConfig->csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
5261 smeConfig->csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
5262 smeConfig->csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
5263 smeConfig->csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
5264 smeConfig->csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07005265#ifdef WLAN_AP_STA_CONCURRENCY
Mukul Sharma20aa6582014-08-07 21:36:12 +05305266 smeConfig->csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
5267 smeConfig->csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
5268 smeConfig->csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
5269 smeConfig->csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
5270 smeConfig->csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
5271 smeConfig->csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
5272 smeConfig->csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07005273
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07005274#endif
Mukul Sharma20aa6582014-08-07 21:36:12 +05305275 smeConfig->csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
5276 smeConfig->csrConfig.WMMSupportMode = pConfig->WmmMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07005277
5278#if defined WLAN_FEATURE_VOWIFI
Mukul Sharma20aa6582014-08-07 21:36:12 +05305279 smeConfig->rrmConfig.rrmEnabled = pConfig->fRrmEnable;
5280 smeConfig->rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
Jeff Johnson295189b2012-06-20 16:38:30 -07005281#endif
5282 //Remaining config params not obtained from registry
5283 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07005284#ifdef WLAN_FEATURE_11AC
Mukul Sharma20aa6582014-08-07 21:36:12 +05305285 smeConfig->csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
5286 smeConfig->csrConfig.enableTxBF = pConfig->enableTxBF;
5287 smeConfig->csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
5288 smeConfig->csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Abhishek Singh6d5d29c2014-07-03 14:25:22 +05305289 /* Consider Mu-beamformee only if SU-beamformee is enabled */
5290 if ( pConfig->enableTxBF )
Mukul Sharma20aa6582014-08-07 21:36:12 +05305291 smeConfig->csrConfig.enableMuBformee = pConfig->enableMuBformee;
Abhishek Singh6d5d29c2014-07-03 14:25:22 +05305292 else
Mukul Sharma20aa6582014-08-07 21:36:12 +05305293 smeConfig->csrConfig.enableMuBformee = 0;
Jeff Johnsone7245742012-09-05 17:12:55 -07005294#endif
Mukul Sharma20aa6582014-08-07 21:36:12 +05305295 smeConfig->csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
5296 smeConfig->csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
5297 smeConfig->csrConfig.ProprietaryRatesEnabled = 0;
5298 smeConfig->csrConfig.HeartbeatThresh50 = 40;
5299 smeConfig->csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08005300 if (pConfig->nBandCapability == eCSR_BAND_24)
5301 {
Mukul Sharma20aa6582014-08-07 21:36:12 +05305302 smeConfig->csrConfig.Is11hSupportEnabled = 0;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08005303 } else {
Mukul Sharma20aa6582014-08-07 21:36:12 +05305304 smeConfig->csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08005305 }
Mukul Sharma20aa6582014-08-07 21:36:12 +05305306 smeConfig->csrConfig.cbChoice = 0;
5307 smeConfig->csrConfig.bgScanInterval = 0;
5308 smeConfig->csrConfig.eBand = pConfig->nBandCapability;
5309 smeConfig->csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
5310 smeConfig->csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
5311 smeConfig->csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005312#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Mukul Sharma20aa6582014-08-07 21:36:12 +05305313 smeConfig->csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
5314 smeConfig->csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
5315 smeConfig->csrConfig.nProbes = pConfig->nProbes;
5316 smeConfig->csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08005317#endif
Mukul Sharma20aa6582014-08-07 21:36:12 +05305318 smeConfig->csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
Jeff Johnsone7245742012-09-05 17:12:55 -07005319
Jeff Johnson295189b2012-06-20 16:38:30 -07005320 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08005321 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
5322 {
Mukul Sharma20aa6582014-08-07 21:36:12 +05305323 smeConfig->csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07005324
Jeff Johnson7dda7772013-02-27 08:36:13 -08005325 /* if there is a requirement that HDD will control the default
5326 * channel list & country code (say from .ini file) we need to
5327 * add some logic here. Otherwise the default 11d info should
5328 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07005329 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08005330 else
5331 {
5332 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
5333 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07005334
Jeff Johnson7dda7772013-02-27 08:36:13 -08005335 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
5336 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
Mukul Sharma20aa6582014-08-07 21:36:12 +05305337 sme_set11dinfo(pHddCtx->hHal, smeConfig);
Jeff Johnson7dda7772013-02-27 08:36:13 -08005338 }
Mukul Sharma20aa6582014-08-07 21:36:12 +05305339 hdd_set_power_save_config(pHddCtx, smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07005340 hdd_set_btc_config(pHddCtx);
5341
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005342#ifdef WLAN_FEATURE_VOWIFI_11R
Mukul Sharma20aa6582014-08-07 21:36:12 +05305343 smeConfig->csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
Jeff Johnson295189b2012-06-20 16:38:30 -07005344#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07005345#ifdef FEATURE_WLAN_LFR
Mukul Sharma20aa6582014-08-07 21:36:12 +05305346 smeConfig->csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
5347 smeConfig->csrConfig.MAWCEnabled = pConfig->MAWCEnabled;
Jeff Johnson04dd8a82012-06-29 20:41:40 -07005348#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005349#ifdef FEATURE_WLAN_ESE
Mukul Sharma20aa6582014-08-07 21:36:12 +05305350 smeConfig->csrConfig.isEseIniFeatureEnabled = pConfig->isEseIniFeatureEnabled;
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005351 if( pConfig->isEseIniFeatureEnabled )
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08005352 {
5353 pConfig->isFastTransitionEnabled = TRUE;
5354 }
Jeff Johnson295189b2012-06-20 16:38:30 -07005355#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005356#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Mukul Sharma20aa6582014-08-07 21:36:12 +05305357 smeConfig->csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
5358 smeConfig->csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
5359 smeConfig->csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
5360 smeConfig->csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07005361#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005362#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Mukul Sharma20aa6582014-08-07 21:36:12 +05305363 smeConfig->csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
5364 smeConfig->csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07005365
Mukul Sharma20aa6582014-08-07 21:36:12 +05305366 if (0 == smeConfig->csrConfig.isRoamOffloadScanEnabled)
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07005367 {
5368 /* Disable roaming in concurrency if roam scan offload is disabled */
Mukul Sharma20aa6582014-08-07 21:36:12 +05305369 smeConfig->csrConfig.bFastRoamInConIniFeatureEnabled = 0;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07005370 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005371#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07005372#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Mukul Sharma20aa6582014-08-07 21:36:12 +05305373 smeConfig->csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
5374 smeConfig->csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
5375 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
5376 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
5377 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
5378 smeConfig->csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
5379 smeConfig->csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
5380 smeConfig->csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Mukul Sharma8b192c02014-12-30 19:52:50 +05305381 //Making Forced 5G roaming to tightly coupled with the gEnableFirstScan2GOnly
5382 //=1 only, Also making sure if HW does not support 5G RF band then no need to
5383 //enable this feature even though it is enabled in .ini.
5384 if((pConfig->enableFirstScan2GOnly) && (pConfig->nBandCapability != eCSR_BAND_24))
Mukul Sharmad49b3d62014-09-02 01:45:32 +05305385 {
Mukul Sharma8b192c02014-12-30 19:52:50 +05305386 smeConfig->csrConfig.neighborRoamConfig.nNeighborInitialForcedRoamTo5GhEnable
5387 = pConfig->nNeighborInitialForcedRoamTo5GhEnable;
Mukul Sharmad49b3d62014-09-02 01:45:32 +05305388 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005389 hdd_string_to_u8_array( pConfig->neighborScanChanList,
Mukul Sharma20aa6582014-08-07 21:36:12 +05305390 smeConfig->csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
5391 &smeConfig->csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07005392 WNI_CFG_VALID_CHANNEL_LIST_LEN );
5393#endif
5394
Mukul Sharma20aa6582014-08-07 21:36:12 +05305395 smeConfig->csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
5396 smeConfig->csrConfig.fValidateList = pConfig->fValidateScanList;
5397 smeConfig->csrConfig.allowDFSChannelRoam = pConfig->allowDFSChannelRoam;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005398 //Enable/Disable MCC
Mukul Sharma20aa6582014-08-07 21:36:12 +05305399 smeConfig->csrConfig.fEnableMCCMode = pConfig->enableMCC;
5400 smeConfig->csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07005401
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08005402 //Scan Results Aging Time out value
Mukul Sharma20aa6582014-08-07 21:36:12 +05305403 smeConfig->csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08005404
Mukul Sharma20aa6582014-08-07 21:36:12 +05305405 smeConfig->csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08005406
Mukul Sharma20aa6582014-08-07 21:36:12 +05305407 smeConfig->csrConfig.isAmsduSupportInAMPDU = pConfig->isAmsduSupportInAMPDU;
Mukul Sharma8b192c02014-12-30 19:52:50 +05305408 if(pConfig->nBandCapability != eCSR_BAND_24)
5409 {
5410 smeConfig->csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin;
5411 }
Mukul Sharma20aa6582014-08-07 21:36:12 +05305412 smeConfig->csrConfig.initialScanSkipDFSCh = pConfig->initialScanSkipDFSCh;
krunal soni5afa96c2013-09-06 22:19:02 -07005413
Mukul Sharma20aa6582014-08-07 21:36:12 +05305414 smeConfig->csrConfig.isCoalesingInIBSSAllowed =
krunal sonie9002db2013-11-25 14:24:17 -08005415 pHddCtx->cfg_ini->isCoalesingInIBSSAllowed;
5416
5417
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07005418 /* update SSR config */
5419 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05305420 /* Update the Directed scan offload setting */
Mukul Sharma20aa6582014-08-07 21:36:12 +05305421 smeConfig->fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07005422
Peng Xufc6ad8e2014-09-25 13:16:43 +05305423 smeConfig->csrConfig.scanBandPreference =
5424 pHddCtx->cfg_ini->acsScanBandPreference;
Peng Xu2446a892014-09-05 17:21:18 +05305425
Mukul Sharma20aa6582014-08-07 21:36:12 +05305426 smeConfig->fEnableDebugLog = pHddCtx->cfg_ini->gEnableDebugLog;
5427 smeConfig->csrConfig.sendDeauthBeforeCon = pConfig->sendDeauthBeforeCon;
Sushant Kaushikc9682be2014-11-26 12:27:04 +05305428 smeConfig->csrConfig.nOBSSScanWidthTriggerInterval =
5429 pConfig->nOBSSScanWidthTriggerInterval;
Mukul Sharma20aa6582014-08-07 21:36:12 +05305430 smeConfig->fDeferIMPSTime = pHddCtx->cfg_ini->deferImpsTime;
Chandrasekaran, Manishekar5cb0acd2014-12-23 20:06:52 +05305431 smeConfig->fBtcEnableIndTimerVal = pHddCtx->cfg_ini->btcEnableIndTimerVal;
Girish Gowli1c2fc802015-01-19 16:18:07 +05305432#ifdef DEBUG_ROAM_DELAY
5433 smeConfig->csrConfig.roamDelayStatsEnabled = pHddCtx->cfg_ini->gEnableRoamDelayStats;
5434#endif //#ifdef DEBUG_ROAM_DELAY
Mukul Sharma20aa6582014-08-07 21:36:12 +05305435 halStatus = sme_UpdateConfig( pHddCtx->hHal, smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07005436 if ( !HAL_STATUS_SUCCESS( halStatus ) )
5437 {
5438 status = VOS_STATUS_E_FAILURE;
c_hpothu6ff1c3c2013-10-01 19:01:57 +05305439 hddLog(LOGE, "sme_UpdateConfig() return failure %d", halStatus);
Jeff Johnson295189b2012-06-20 16:38:30 -07005440 }
5441
Mukul Sharma20aa6582014-08-07 21:36:12 +05305442 vos_mem_free(smeConfig);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005443 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07005444}
5445
5446
5447/**---------------------------------------------------------------------------
5448
5449 \brief hdd_execute_config_command() -
5450
5451 This function executes an arbitrary configuration set command
5452
5453 \param - pHddCtx - Pointer to the HDD Adapter.
5454 \parmm - command - a configuration command of the form:
5455 <name>=<value>
5456
5457 \return - 0 for success, non zero for failure
5458
5459 --------------------------------------------------------------------------*/
5460
5461VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
5462{
5463 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
5464 REG_TABLE_ENTRY *pRegEntry;
5465 char *clone;
5466 char *pCmd;
5467 void *pField;
5468 char *name;
5469 char *value_str;
5470 v_U32_t value;
5471 v_S31_t svalue;
5472 size_t len_value_str;
5473 unsigned int idx;
5474 unsigned int i;
5475 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005476 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07005477
5478 // assume failure until proven otherwise
5479 vstatus = VOS_STATUS_E_FAILURE;
5480
5481 // clone the command so that we can manipulate it
5482 clone = kstrdup(command, GFP_ATOMIC);
5483 if (NULL == clone)
5484 {
5485 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005486 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005487 return vstatus;
5488 }
5489
5490 // 'clone' will point to the beginning of the string so it can be freed
5491 // 'pCmd' will be used to walk/parse the command
5492 pCmd = clone;
5493
5494 // get rid of leading/trailing whitespace
5495 pCmd = i_trim(pCmd);
5496 if ('\0' == *pCmd)
5497 {
5498 // only whitespace
5499 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005500 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005501 goto done;
5502 }
5503
5504 // parse the <name> = <value>
5505 name = pCmd;
5506 while (('=' != *pCmd) && ('\0' != *pCmd))
5507 {
5508 pCmd++;
5509 }
5510 if ('\0' == *pCmd)
5511 {
5512 // did not find '='
5513 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005514 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005515 goto done;
5516 }
5517
5518 // replace '=' with NUL to terminate the <name>
5519 *pCmd++ = '\0';
5520 name = i_trim(name);
5521 if ('\0' == *name)
5522 {
5523 // did not find a name
5524 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005525 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005526 goto done;
5527 }
5528
5529 value_str = i_trim(pCmd);
5530 if ('\0' == *value_str)
5531 {
5532 // did not find a value
5533 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005534 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005535 goto done;
5536 }
5537
5538 // lookup the configuration item
5539 for (idx = 0; idx < tableSize; idx++)
5540 {
5541 if (0 == strcmp(name, g_registry_table[idx].RegName))
5542 {
5543 // found a match
5544 break;
5545 }
5546 }
5547 if (tableSize == idx)
5548 {
5549 // did not match the name
5550 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005551 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005552 goto done;
5553 }
5554
5555 pRegEntry = &g_registry_table[idx];
5556 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
5557 {
5558 // does not support dynamic configuration
5559 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005560 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07005561 goto done;
5562 }
5563
5564 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
5565
5566 switch (pRegEntry->RegType)
5567 {
5568 case WLAN_PARAM_Integer:
Jeff Johnson02797792013-10-26 19:17:13 -07005569 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005570 if (rv < 0)
5571 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07005572 if (value < pRegEntry->VarMin)
5573 {
5574 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005575 hddLog(LOGE, "%s: invalid command, value %u < min value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005576 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07005577 goto done;
5578 }
5579 if (value > pRegEntry->VarMax)
5580 {
5581 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005582 hddLog(LOGE, "%s: invalid command, value %u > max value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005583 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07005584 goto done;
5585 }
5586 memcpy(pField, &value, pRegEntry->VarSize);
5587 break;
5588
5589 case WLAN_PARAM_HexInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07005590 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005591 if (rv < 0)
5592 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07005593 if (value < pRegEntry->VarMin)
5594 {
5595 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005596 hddLog(LOGE, "%s: invalid command, value %x < min value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005597 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07005598 goto done;
5599 }
5600 if (value > pRegEntry->VarMax)
5601 {
5602 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005603 hddLog(LOGE, "%s: invalid command, value %x > max value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005604 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07005605 goto done;
5606 }
5607 memcpy(pField, &value, pRegEntry->VarSize);
5608 break;
5609
5610 case WLAN_PARAM_SignedInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07005611 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005612 if (rv < 0)
5613 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07005614 if (svalue < (v_S31_t)pRegEntry->VarMin)
5615 {
5616 // out of range
5617 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005618 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07005619 goto done;
5620 }
5621 if (svalue > (v_S31_t)pRegEntry->VarMax)
5622 {
5623 // out of range
5624 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005625 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07005626 goto done;
5627 }
5628 memcpy(pField, &svalue, pRegEntry->VarSize);
5629 break;
5630
5631 case WLAN_PARAM_String:
5632 len_value_str = strlen(value_str);
5633 if (len_value_str > (pRegEntry->VarSize - 1))
5634 {
5635 // too big
5636 hddLog(LOGE,
5637 "%s: invalid command, string [%s] length "
Jeff Johnson59a121e2013-11-30 09:46:08 -08005638 "%zu exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005639 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07005640 len_value_str, (pRegEntry->VarSize - 1));
5641 goto done;
5642 }
5643 // copy string plus NUL
5644 memcpy(pField, value_str, (len_value_str + 1));
5645 break;
5646
5647 case WLAN_PARAM_MacAddr:
5648 len_value_str = strlen(value_str);
5649 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
5650 {
5651 // out of range
5652 hddLog(LOGE,
5653 "%s: invalid command, MAC address [%s] length "
Jeff Johnson59a121e2013-11-30 09:46:08 -08005654 "%zu is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005655 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07005656 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
5657 goto done;
5658 }
5659 //parse the string and store it in the byte array
5660 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
5661 {
5662 ((char*)pField)[i] = (char)
5663 ((parseHexDigit(value_str[(i * 2)]) * 16) +
5664 parseHexDigit(value_str[(i * 2) + 1]));
5665 }
5666 break;
5667
5668 default:
5669 goto done;
5670 }
5671
5672 // if we get here, we had a successful modification
5673 vstatus = VOS_STATUS_SUCCESS;
5674
5675 // config table has been modified, is there a notifier?
5676 if (NULL != pRegEntry->pfnDynamicNotify)
5677 {
5678 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
5679 }
5680
5681 // note that this item was explicitly configured
5682 if (idx < MAX_CFG_INI_ITEMS)
5683 {
5684 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
5685 }
5686 done:
5687 kfree(clone);
5688 return vstatus;
5689}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07005690
5691/**---------------------------------------------------------------------------
5692
5693 \brief hdd_is_okc_mode_enabled() -
5694
5695 This function returns whether OKC mode is enabled or not
5696
5697 \param - pHddCtx - Pointer to the HDD Adapter.
5698
5699 \return - 1 for enabled, zero for disabled
5700
5701 --------------------------------------------------------------------------*/
5702
5703tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
5704{
5705 if (NULL == pHddCtx)
5706 {
5707 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
5708 return -EINVAL;
5709 }
5710
5711#ifdef FEATURE_WLAN_OKC
5712 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
5713#else
5714 return eANI_BOOLEAN_FALSE;
5715#endif
5716}