blob: a49c0db52a7014819c7a029c5ce8dc139e24d259 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, 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/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080042/**=========================================================================
Jeff Johnson295189b2012-06-20 16:38:30 -070043
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080044 EDIT HISTORY FOR FILE
45
46
47 This section contains comments describing changes made to the module.
48 Notice that changes are listed in reverse chronological order.
49
50
51 $Header:$ $DateTime: $ $Author: $
52
53
54 when who what, where, why
Jeff Johnson295189b2012-06-20 16:38:30 -070055 -------- --- --------------------------------------------------------
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080056 07/27/09 kanand Created module.
Jeff Johnson295189b2012-06-20 16:38:30 -070057
58 ==========================================================================*/
59
60/*--------------------------------------------------------------------------
61 Include Files
62 ------------------------------------------------------------------------*/
63
64
65#include <linux/firmware.h>
66#include <linux/string.h>
67#include <wlan_hdd_includes.h>
68#include <wlan_hdd_main.h>
69#include <wlan_hdd_assoc.h>
70#include <wlan_hdd_cfg.h>
71#include <linux/string.h>
72#include <vos_types.h>
73#include <csrApi.h>
74#include <pmcApi.h>
75#include <wlan_hdd_misc.h>
76
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080077#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -080078static void cbNotifySetRoamPrefer5GHz(hdd_context_t *pHddCtx, unsigned long NotifyId)
79{
80 sme_UpdateRoamPrefer5GHz((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamPrefer5GHz);
81}
Jeff Johnson295189b2012-06-20 16:38:30 -070082
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080083static void cbNotifySetImmediateRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
84{
Srinivas Girigowdade697412013-02-14 16:31:48 -080085 sme_UpdateImmediateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080086 pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
87}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080088
Srinivas Girigowdade697412013-02-14 16:31:48 -080089static void cbNotifySetRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
90{
91 sme_UpdateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
92 pHddCtx->cfg_ini->RoamRssiDiff);
93}
94
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080095static void cbNotifySetFastTransitionEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
96{
97 sme_UpdateFastTransitionEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastTransitionEnabled);
98}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -070099
100static void cbNotifySetRoamIntraBand(hdd_context_t *pHddCtx, unsigned long NotifyId)
101{
102 sme_setRoamIntraBand((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamIntraBand);
103}
Srinivas Girigowda100eb322013-03-15 16:48:20 -0700104
105static void cbNotifySetWESMode(hdd_context_t *pHddCtx, unsigned long NotifyId)
106{
107 // at the point this routine is called, the value in the cfg_ini table has already been updated
108 sme_UpdateWESMode((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isWESModeEnabled);
109}
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700110
111static void cbNotifySetRoamScanNProbes(hdd_context_t *pHddCtx, unsigned long NotifyId)
112{
113 sme_UpdateRoamScanNProbes((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nProbes);
114}
115
116static void cbNotifySetRoamScanHomeAwayTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
117{
118 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime);
119}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700120#endif
121
122#ifdef FEATURE_WLAN_OKC
123static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
124{
125 // at the point this routine is called, the value in the cfg_ini table has already been updated
126}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800127#endif
128
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800129#ifdef FEATURE_WLAN_LFR
130static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
131{
132 // at the point this routine is called, the value in the cfg_ini table has already been updated
133 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
134}
135#endif
136
137#ifdef FEATURE_WLAN_CCX
138static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
139{
140 // at the point this routine is called, the value in the cfg_ini table has already been updated
141 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
142}
143#endif
144
145static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
146{
147 // at the point this routine is called, the value in the cfg_ini table has already been updated
148 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
149}
150
Srinivas Girigowdade697412013-02-14 16:31:48 -0800151#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
152static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
153{
154 // at the point this routine is called, the value in the cfg_ini table has already been updated
155 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
156}
157
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700158static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
159{
160 // at the point this routine is called, the value in the cfg_ini table has already been updated
161 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
162}
163
Srinivas Girigowdade697412013-02-14 16:31:48 -0800164static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
165{
166 // at the point this routine is called, the value in the cfg_ini table has already been updated
167 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
168}
169
170static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
171{
172 // at the point this routine is called, the value in the cfg_ini table has already been updated
173 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
174}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700175
176static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
177{
178 // at the point this routine is called, the value in the cfg_ini table has already been updated
179 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
180}
181
182static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
183{
184 // at the point this routine is called, the value in the cfg_ini table has already been updated
185 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
186}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800187#endif
188
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700189static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
190{
191 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
192}
193
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700194#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
195static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
196{
197 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700198 if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled)
199 {
200 pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0;
201 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
202 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700203}
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700204
205static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsigned long NotifyId)
206{
207 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
208}
209
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700210#endif
211
Jeff Johnson295189b2012-06-20 16:38:30 -0700212REG_TABLE_ENTRY g_registry_table[] =
213{
214 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800215 hdd_config_t, RTSThreshold,
216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
217 CFG_RTS_THRESHOLD_DEFAULT,
218 CFG_RTS_THRESHOLD_MIN,
219 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700220
221 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800222 hdd_config_t, FragmentationThreshold,
223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
224 CFG_FRAG_THRESHOLD_DEFAULT,
225 CFG_FRAG_THRESHOLD_MIN,
226 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700227
228 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800229 hdd_config_t, Calibration,
230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
231 CFG_CALIBRATION_DEFAULT,
232 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700233 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800234
Jeff Johnson295189b2012-06-20 16:38:30 -0700235 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800236 hdd_config_t, CalibrationPeriod,
237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
238 CFG_CALIBRATION_PERIOD_DEFAULT,
239 CFG_CALIBRATION_PERIOD_MIN,
240 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700241
242 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
243 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
245 CFG_OPERATING_CHANNEL_DEFAULT,
246 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700247 CFG_OPERATING_CHANNEL_MAX ),
248
249 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800250 hdd_config_t, ShortSlotTimeEnabled,
251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
252 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
253 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700254 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
255
256 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800257 hdd_config_t, Is11dSupportEnabled,
258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
259 CFG_11D_SUPPORT_ENABLED_DEFAULT,
260 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700261 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800262
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800263 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800264 hdd_config_t, Is11hSupportEnabled,
265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
266 CFG_11H_SUPPORT_ENABLED_DEFAULT,
267 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800268 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700269
270 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800271 hdd_config_t, fEnforce11dChannels,
272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
273 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
274 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700275 CFG_ENFORCE_11D_CHANNELS_MAX ),
276
277 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800278 hdd_config_t, fSupplicantCountryCodeHasPriority,
279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
280 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
281 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700282 CFG_COUNTRY_CODE_PRIORITY_MAX),
283
284 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800285 hdd_config_t, fEnforceCountryCodeMatch,
286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
287 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
288 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700289 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
290
291 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800292 hdd_config_t, fEnforceDefaultDomain,
293 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
294 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
295 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700296 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800297
Jeff Johnson295189b2012-06-20 16:38:30 -0700298 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
299 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
301 CFG_GENERIC_ID1_DEFAULT,
302 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700303 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800304
Jeff Johnson295189b2012-06-20 16:38:30 -0700305 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
306 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
308 CFG_GENERIC_ID2_DEFAULT,
309 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700310 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800311
Jeff Johnson295189b2012-06-20 16:38:30 -0700312 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
313 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
315 CFG_GENERIC_ID3_DEFAULT,
316 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700317 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800318
Jeff Johnson295189b2012-06-20 16:38:30 -0700319 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
320 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
322 CFG_GENERIC_ID4_DEFAULT,
323 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700324 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800325
Jeff Johnson295189b2012-06-20 16:38:30 -0700326 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
327 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
329 CFG_GENERIC_ID5_DEFAULT,
330 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700331 CFG_GENERIC_ID5_MAX ),
332
333 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
334 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
336 CFG_GENERIC_VALUE1_DEFAULT,
337 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700338 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800339
Jeff Johnson295189b2012-06-20 16:38:30 -0700340 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
341 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
343 CFG_GENERIC_VALUE2_DEFAULT,
344 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700345 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800346
Jeff Johnson295189b2012-06-20 16:38:30 -0700347 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
348 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
350 CFG_GENERIC_VALUE3_DEFAULT,
351 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700352 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800353
Jeff Johnson295189b2012-06-20 16:38:30 -0700354 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
355 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800356 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
357 CFG_GENERIC_VALUE4_DEFAULT,
358 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700359 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800360
Jeff Johnson295189b2012-06-20 16:38:30 -0700361 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
362 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
364 CFG_GENERIC_VALUE5_DEFAULT,
365 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700366 CFG_GENERIC_VALUE5_MAX ),
367
368 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800369 hdd_config_t, HeartbeatThresh24,
370 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
371 CFG_HEARTBEAT_THRESH_24_DEFAULT,
372 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700373 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800374
Jeff Johnson295189b2012-06-20 16:38:30 -0700375 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800376 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700377 VAR_FLAGS_OPTIONAL,
378 (void *)CFG_POWER_USAGE_DEFAULT ),
379
380 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800381 hdd_config_t, nEnableSuspend,
382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
383 CFG_ENABLE_SUSPEND_DEFAULT,
384 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700385 CFG_ENABLE_SUSPEND_MAX ),
386
387 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800388 hdd_config_t, nEnableDriverStop,
389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
390 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
391 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700392 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
393
394 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800395 hdd_config_t, fIsImpsEnabled,
396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
397 CFG_ENABLE_IMPS_DEFAULT,
398 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700399 CFG_ENABLE_IMPS_MAX ),
400
401 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800402 hdd_config_t, fIsLogpEnabled,
403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
404 CFG_ENABLE_LOGP_DEFAULT,
405 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700406 CFG_ENABLE_LOGP_MAX ),
407
408 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800409 hdd_config_t, nImpsMinSleepTime,
410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
411 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
412 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700413 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
414
415 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800416 hdd_config_t, nImpsMaxSleepTime,
417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
418 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
419 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700420 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
421
422 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
423 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
425 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
426 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700427 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
428
429 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800430 hdd_config_t, fIsBmpsEnabled,
431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
432 CFG_ENABLE_BMPS_DEFAULT,
433 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700434 CFG_ENABLE_BMPS_MAX ),
435
436 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800437 hdd_config_t, nBmpsMinListenInterval,
438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
439 CFG_BMPS_MINIMUM_LI_DEFAULT,
440 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700441 CFG_BMPS_MINIMUM_LI_MAX ),
442
443 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800444 hdd_config_t, nBmpsMaxListenInterval,
445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
446 CFG_BMPS_MAXIMUM_LI_DEFAULT,
447 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700448 CFG_BMPS_MAXIMUM_LI_MAX ),
449
450 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
451 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
453 CFG_BMPS_MODERATE_LI_DEFAULT,
454 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700455 CFG_BMPS_MODERATE_LI_MAX ),
456
457 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800458 hdd_config_t, fIsAutoBmpsTimerEnabled,
459 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
460 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
461 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700462 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
463
464 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800465 hdd_config_t, nAutoBmpsTimerValue,
466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
467 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
468 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700469 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
470
471 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800472 hdd_config_t, dot11Mode,
473 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
474 CFG_DOT11_MODE_DEFAULT,
475 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700476 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800477
Jeff Johnson295189b2012-06-20 16:38:30 -0700478 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800479 hdd_config_t, nChannelBondingMode24GHz,
480 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
481 CFG_CHANNEL_BONDING_MODE_DEFAULT,
482 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700483 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800484
Jeff Johnson295189b2012-06-20 16:38:30 -0700485 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800486 hdd_config_t, nChannelBondingMode5GHz,
487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
488 CFG_CHANNEL_BONDING_MODE_DEFAULT,
489 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700490 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800491
492 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
493 hdd_config_t, MaxRxAmpduFactor,
494 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
495 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
496 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700497 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800498
Jeff Johnson295189b2012-06-20 16:38:30 -0700499 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800500 hdd_config_t, TxRate,
501 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
502 CFG_FIXED_RATE_DEFAULT,
503 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700504 CFG_FIXED_RATE_MAX ),
505
506 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800507 hdd_config_t, ShortGI20MhzEnable,
508 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
509 CFG_SHORT_GI_20MHZ_DEFAULT,
510 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700511 CFG_SHORT_GI_20MHZ_MAX ),
512
513 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800514 hdd_config_t, BlockAckAutoSetup,
515 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
516 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
517 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700518 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800519
Jeff Johnson295189b2012-06-20 16:38:30 -0700520 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800521 hdd_config_t, ScanResultAgeCount,
522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
523 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
524 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700525 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
526
527 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800528 hdd_config_t, nScanAgeTimeNCNPS,
529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
530 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
531 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700532 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
533
534 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800535 hdd_config_t, nScanAgeTimeNCPS,
536 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
537 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
538 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700539 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
540
541 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800542 hdd_config_t, nScanAgeTimeCNPS,
543 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
544 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
545 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700546 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
547
548 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800549 hdd_config_t, nScanAgeTimeCPS,
550 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
551 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
552 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700553 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
554
555 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800556 hdd_config_t, nRssiCatGap,
557 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
558 CFG_RSSI_CATEGORY_GAP_DEFAULT,
559 CFG_RSSI_CATEGORY_GAP_MIN,
560 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700561
562 REG_VARIABLE( CFG_STAT_TIMER_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800563 hdd_config_t, nStatTimerInterval,
564 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
565 CFG_STAT_TIMER_INTERVAL_DEFAULT,
566 CFG_STAT_TIMER_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700567 CFG_STAT_TIMER_INTERVAL_MAX ),
568
569 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800570 hdd_config_t, fIsShortPreamble,
571 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
572 CFG_SHORT_PREAMBLE_DEFAULT,
573 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700574 CFG_SHORT_PREAMBLE_MAX ),
575
576 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800577 hdd_config_t, fIsAutoIbssBssid,
578 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
579 CFG_IBSS_AUTO_BSSID_DEFAULT,
580 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700581 CFG_IBSS_AUTO_BSSID_MAX ),
582
583 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800584 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700585 VAR_FLAGS_OPTIONAL,
586 (void *)CFG_IBSS_BSSID_DEFAULT ),
587
588 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800589 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700590 VAR_FLAGS_OPTIONAL,
591 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
592
593 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800594 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700595 VAR_FLAGS_OPTIONAL,
596 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
597
598 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800599 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700600 VAR_FLAGS_OPTIONAL,
601 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
602
603 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800604 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700605 VAR_FLAGS_OPTIONAL,
606 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
607
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -0700608 REG_VARIABLE_STRING( CFG_CRDA_DEFAULT_COUNTRY_CODE, WLAN_PARAM_String,
609 hdd_config_t, crdaDefaultCountryCode,
610 VAR_FLAGS_OPTIONAL,
611 (void *)CFG_CRDA_DEFAULT_COUNTRY_CODE_DEFAULT ),
612
Jeff Johnson295189b2012-06-20 16:38:30 -0700613 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800614 hdd_config_t, apUapsdEnabled,
615 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
616 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
617 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700618 CFG_AP_QOS_UAPSD_MODE_MAX ),
619
620 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800621 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700622 VAR_FLAGS_OPTIONAL,
623 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
624
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700625 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
626 hdd_config_t, apRandomBssidEnabled,
627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
629 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
630 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
631
Jeff Johnson295189b2012-06-20 16:38:30 -0700632 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
635 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
636 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
637 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
638
639 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
640 hdd_config_t, apProtection,
641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
642 CFG_AP_PROTECTION_MODE_DEFAULT,
643 CFG_AP_PROTECTION_MODE_MIN,
644 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800645
Jeff Johnson295189b2012-06-20 16:38:30 -0700646 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800647 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
649 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
650 CFG_AP_OBSS_PROTECTION_MODE_MIN,
651 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800652
Jeff Johnson295189b2012-06-20 16:38:30 -0700653 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800654 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
656 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
657 CFG_AP_STA_SECURITY_SEPERATION_MIN,
658 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
659
660 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800661 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
663 CFG_FRAMES_PROCESSING_TH_DEFAULT,
664 CFG_FRAMES_PROCESSING_TH_MIN,
665 CFG_FRAMES_PROCESSING_TH_MAX ),
666
667 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
668 hdd_config_t, apStartChannelNum,
669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
670 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
671 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
672 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
673
674 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
675 hdd_config_t, apEndChannelNum,
676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
677 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
678 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
679 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
680
681 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
682 hdd_config_t, apOperatingBand,
683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
684 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
685 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
686 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
687
688 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
689 hdd_config_t, apAutoChannelSelection,
690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
691 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
692 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
693 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800694
Jeff Johnson295189b2012-06-20 16:38:30 -0700695 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
696 hdd_config_t, enableLTECoex,
697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
698 CFG_ENABLE_LTE_COEX_DEFAULT,
699 CFG_ENABLE_LTE_COEX_MIN,
700 CFG_ENABLE_LTE_COEX_MAX ),
701
702 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
703 hdd_config_t, apKeepAlivePeriod,
704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
705 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
706 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
707 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
708
709 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
710 hdd_config_t, goKeepAlivePeriod,
711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
712 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
713 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
714 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
715
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530716 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
717 hdd_config_t, apLinkMonitorPeriod,
718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
719 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
720 CFG_AP_LINK_MONITOR_PERIOD_MIN,
721 CFG_AP_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
737 REG_VARIABLE( CFG_ENABLE_HANDOFF_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800738 hdd_config_t, fIsHandoffEnabled,
739 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
740 CFG_ENABLE_HANDOFF_DEFAULT,
741 CFG_ENABLE_HANDOFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700742 CFG_ENABLE_HANDOFF_MAX ),
743
744
745 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800746 hdd_config_t, nEnableIdleScan,
747 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
748 CFG_ENABLE_IDLE_SCAN_DEFAULT,
749 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700750 CFG_ENABLE_IDLE_SCAN_MAX ),
751
752 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800753 hdd_config_t, nRoamingTime,
754 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
755 CFG_ROAMING_TIME_DEFAULT,
756 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700757 CFG_ROAMING_TIME_MAX ),
758
759 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800760 hdd_config_t, nVccRssiTrigger,
761 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
762 CFG_VCC_RSSI_TRIGGER_DEFAULT,
763 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700764 CFG_VCC_RSSI_TRIGGER_MAX ),
765
766 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800767 hdd_config_t, nVccUlMacLossThreshold,
768 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
769 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
770 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700771 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
772
773 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800774 hdd_config_t, nPassiveMaxChnTime,
775 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
776 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
777 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700778 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
779
780 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800781 hdd_config_t, nPassiveMinChnTime,
782 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
783 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
784 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700785 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
786
787 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800788 hdd_config_t, nActiveMaxChnTime,
789 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
790 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
791 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700792 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
793
794 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800795 hdd_config_t, nActiveMinChnTime,
796 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
797 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
798 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700799 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700800
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800801 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
802 hdd_config_t, nActiveMaxChnTimeBtc,
803 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
804 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
805 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
806 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
807
808 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
809 hdd_config_t, nActiveMinChnTimeBtc,
810 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
811 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
812 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
813 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
814
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700815 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
816 hdd_config_t, retryLimitZero,
817 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
818 CFG_RETRY_LIMIT_ZERO_DEFAULT,
819 CFG_RETRY_LIMIT_ZERO_MIN,
820 CFG_RETRY_LIMIT_ZERO_MAX ),
821
822 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
823 hdd_config_t, retryLimitOne,
824 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
825 CFG_RETRY_LIMIT_ONE_DEFAULT,
826 CFG_RETRY_LIMIT_ONE_MIN,
827 CFG_RETRY_LIMIT_ONE_MAX ),
828
829 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
830 hdd_config_t, retryLimitTwo,
831 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
832 CFG_RETRY_LIMIT_TWO_DEFAULT,
833 CFG_RETRY_LIMIT_TWO_MIN,
834 CFG_RETRY_LIMIT_TWO_MAX ),
835
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700836 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
837 hdd_config_t, disableAggWithBtc,
838 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
839 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
840 CFG_DISABLE_AGG_WITH_BTC_MIN,
841 CFG_DISABLE_AGG_WITH_BTC_MAX ),
842
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700843#ifdef WLAN_AP_STA_CONCURRENCY
844 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800845 hdd_config_t, nPassiveMaxChnTimeConc,
846 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
847 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
848 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700849 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
850
851 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800852 hdd_config_t, nPassiveMinChnTimeConc,
853 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
854 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
855 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700856 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
857
858 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800859 hdd_config_t, nActiveMaxChnTimeConc,
860 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
861 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
862 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700863 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
864
865 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800866 hdd_config_t, nActiveMinChnTimeConc,
867 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
868 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
869 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700870 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
871
872 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800873 hdd_config_t, nRestTimeConc,
874 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
875 CFG_REST_TIME_CONC_DEFAULT,
876 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700877 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800878
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700879 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
880 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800881 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700882 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
883 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
884 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
885
886 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
887 hdd_config_t, nNumP2PChanCombinedConc,
888 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
889 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
890 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
891 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700892#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800893
Jeff Johnson295189b2012-06-20 16:38:30 -0700894 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800895 hdd_config_t, nMaxPsPoll,
896 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
897 CFG_MAX_PS_POLL_DEFAULT,
898 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700899 CFG_MAX_PS_POLL_MAX ),
900
901 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800902 hdd_config_t, nTxPowerCap,
903 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
904 CFG_MAX_TX_POWER_DEFAULT,
905 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700906 CFG_MAX_TX_POWER_MAX ),
907
908 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
909 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800910 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
911 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
912 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700913 CFG_LOW_GAIN_OVERRIDE_MAX ),
914
915 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
916 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800917 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
918 CFG_RSSI_FILTER_PERIOD_DEFAULT,
919 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700920 CFG_RSSI_FILTER_PERIOD_MAX ),
921
922 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
923 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800924 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
925 CFG_IGNORE_DTIM_DEFAULT,
926 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700927 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800928
Yue Mac24062f2013-05-13 17:01:29 -0700929 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
930 hdd_config_t, fMaxLIModulatedDTIM,
931 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
932 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
933 CFG_MAX_LI_MODULATED_DTIM_MIN,
934 CFG_MAX_LI_MODULATED_DTIM_MAX ),
935
Jeff Johnson295189b2012-06-20 16:38:30 -0700936 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800937 hdd_config_t, nRxAnt,
938 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
939 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
940 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700941 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
942
943 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800944 hdd_config_t, fEnableFwHeartBeatMonitoring,
945 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
946 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
947 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700948 CFG_FW_HEART_BEAT_MONITORING_MAX ),
949
950 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800951 hdd_config_t, fEnableFwBeaconFiltering,
952 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
953 CFG_FW_BEACON_FILTERING_DEFAULT,
954 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700955 CFG_FW_BEACON_FILTERING_MAX ),
956
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800957 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800958 hdd_config_t, fEnableFwRssiMonitoring,
959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
960 CFG_FW_RSSI_MONITORING_DEFAULT,
961 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800962 CFG_FW_RSSI_MONITORING_MAX,
963 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700964
965 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800966 hdd_config_t, nDataInactivityTimeout,
967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
968 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
969 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700970 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800971
Jeff Johnson295189b2012-06-20 16:38:30 -0700972 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800973 hdd_config_t, nthBeaconFilter,
974 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
975 CFG_NTH_BEACON_FILTER_DEFAULT,
976 CFG_NTH_BEACON_FILTER_MIN,
977 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700978
979 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800980 hdd_config_t, WmmMode,
981 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
982 CFG_QOS_WMM_MODE_DEFAULT,
983 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700984 CFG_QOS_WMM_MODE_MAX ),
985
986 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800987 hdd_config_t, b80211eIsEnabled,
988 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
989 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
990 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700991 CFG_QOS_WMM_80211E_ENABLED_MAX ),
992
993 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800994 hdd_config_t, UapsdMask,
995 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
996 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
997 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700998 CFG_QOS_WMM_UAPSD_MASK_MAX ),
999
1000 REG_VARIABLE( CFG_QOS_WMM_MAX_SP_LEN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001001 hdd_config_t, MaxSpLength,
1002 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1003 CFG_QOS_WMM_MAX_SP_LEN_DEFAULT,
1004 CFG_QOS_WMM_MAX_SP_LEN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001005 CFG_QOS_WMM_MAX_SP_LEN_MAX ),
1006
1007 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001008 hdd_config_t, InfraUapsdVoSrvIntv,
1009 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1010 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
1011 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001012 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
1013
1014 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001015 hdd_config_t, InfraUapsdVoSuspIntv,
1016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1017 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1018 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001019 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1020
1021 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001022 hdd_config_t, InfraUapsdViSrvIntv,
1023 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1024 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1025 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001026 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1027
1028 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001029 hdd_config_t, InfraUapsdViSuspIntv,
1030 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1031 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1032 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001033 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1034
1035 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001036 hdd_config_t, InfraUapsdBeSrvIntv,
1037 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1038 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1039 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001040 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1041
1042 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001043 hdd_config_t, InfraUapsdBeSuspIntv,
1044 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1045 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1046 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001047 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1048
1049 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001050 hdd_config_t, InfraUapsdBkSrvIntv,
1051 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1052 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1053 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001054 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1055
1056 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001057 hdd_config_t, InfraUapsdBkSuspIntv,
1058 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1059 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1060 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001061 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1062
1063#ifdef FEATURE_WLAN_CCX
1064 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001065 hdd_config_t, InfraInactivityInterval,
1066 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1067 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1068 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001069 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001070 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001071 hdd_config_t, isCcxIniFeatureEnabled,
1072 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1073 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1074 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001075 CFG_CCX_FEATURE_ENABLED_MAX,
1076 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001077#endif // FEATURE_WLAN_CCX
1078
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001079#ifdef FEATURE_WLAN_LFR
1080 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001081 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001082 hdd_config_t, isFastRoamIniFeatureEnabled,
1083 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1084 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1085 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001086 CFG_LFR_FEATURE_ENABLED_MAX,
1087 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001088#endif // FEATURE_WLAN_LFR
1089
1090#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001091 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001092 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001093 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001094 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1095 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1096 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001097 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1098 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001099
Srinivas Girigowdade697412013-02-14 16:31:48 -08001100 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001101 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001102 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1103 hdd_config_t, RoamRssiDiff,
1104 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1105 CFG_ROAM_RSSI_DIFF_DEFAULT,
1106 CFG_ROAM_RSSI_DIFF_MIN,
1107 CFG_ROAM_RSSI_DIFF_MAX,
1108 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001109
1110 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001111 hdd_config_t, nImmediateRoamRssiDiff,
1112 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1113 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1114 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001115 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1116 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001117
1118 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1119 hdd_config_t, isWESModeEnabled,
1120 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1121 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1122 CFG_ENABLE_WES_MODE_NAME_MIN,
1123 CFG_ENABLE_WES_MODE_NAME_MAX,
1124 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001125#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001126#ifdef FEATURE_WLAN_OKC
1127 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1128 hdd_config_t, isOkcIniFeatureEnabled,
1129 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1130 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1131 CFG_OKC_FEATURE_ENABLED_MIN,
1132 CFG_OKC_FEATURE_ENABLED_MAX,
1133 cbNotifySetOkcFeatureEnabled, 0 ),
1134#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001135#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1136 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1137 hdd_config_t, isRoamOffloadScanEnabled,
1138 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1139 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1140 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1141 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1142 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1143#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001144 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001145 hdd_config_t, PktClassificationBasis,
1146 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1147 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1148 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001149 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1150
1151 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001152 hdd_config_t, InfraDirAcVo,
1153 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1154 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1155 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001156 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1157
1158 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001159 hdd_config_t, InfraNomMsduSizeAcVo,
1160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1161 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1162 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001163 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1164
1165 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001166 hdd_config_t, InfraMeanDataRateAcVo,
1167 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1168 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1169 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001170 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1171
1172 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001173 hdd_config_t, InfraMinPhyRateAcVo,
1174 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1175 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1176 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001177 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1178
1179 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001180 hdd_config_t, InfraSbaAcVo,
1181 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1182 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1183 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001184 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1185
1186 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001187 hdd_config_t, InfraDirAcVi,
1188 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1189 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1190 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001191 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1192
1193 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001194 hdd_config_t, InfraNomMsduSizeAcVi,
1195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1196 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1197 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001198 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1199
1200 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001201 hdd_config_t, InfraMeanDataRateAcVi,
1202 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1203 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1204 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001205 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1206
1207 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001208 hdd_config_t, InfraMinPhyRateAcVi,
1209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1210 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1211 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001212 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1213
1214 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001215 hdd_config_t, InfraSbaAcVi,
1216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1217 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1218 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001219 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1220
1221 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001222 hdd_config_t, InfraDirAcBe,
1223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1224 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1225 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001226 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1227
1228 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001229 hdd_config_t, InfraNomMsduSizeAcBe,
1230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1231 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1232 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001233 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1234
1235 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001236 hdd_config_t, InfraMeanDataRateAcBe,
1237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1238 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1239 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001240 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1241
1242 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001243 hdd_config_t, InfraMinPhyRateAcBe,
1244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1245 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1246 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001247 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1248
1249 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001250 hdd_config_t, InfraSbaAcBe,
1251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1252 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1253 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001254 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1255
1256 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001257 hdd_config_t, InfraDirAcBk,
1258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1259 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1260 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001261 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1262
1263 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001264 hdd_config_t, InfraNomMsduSizeAcBk,
1265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1266 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1267 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001268 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1269
1270 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001271 hdd_config_t, InfraMeanDataRateAcBk,
1272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1273 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1274 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001275 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1276
1277 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001278 hdd_config_t, InfraMinPhyRateAcBk,
1279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1280 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1281 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001282 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1283
1284 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001285 hdd_config_t, InfraSbaAcBk,
1286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1287 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1288 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001289 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1290
1291 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001292 hdd_config_t, WfqBkWeight,
1293 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1294 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1295 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001296 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1297
1298 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001299 hdd_config_t, WfqBeWeight,
1300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1301 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1302 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001303 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1304
1305 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001306 hdd_config_t, WfqViWeight,
1307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1308 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1309 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001310 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1311
1312 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001313 hdd_config_t, WfqVoWeight,
1314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1315 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1316 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001317 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1318
1319 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001320 hdd_config_t, DelayedTriggerFrmInt,
1321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1322 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1323 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001324 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1325
1326 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001327 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001328 VAR_FLAGS_OPTIONAL,
1329 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1330
1331 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001332 hdd_config_t, bImplicitQosEnabled,
1333 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1334 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1335 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001336 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1337
1338 REG_VARIABLE( CFG_19P2_MHZ_PMIC_CLK_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001339 hdd_config_t, b19p2MhzPmicClkEnabled,
1340 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1341 CFG_19P2_MHZ_PMIC_CLK_ENABLED_DEFAULT,
1342 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001343 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MAX ),
1344
1345 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001346 hdd_config_t, btcExecutionMode,
1347 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1348 CFG_BTC_EXECUTION_MODE_DEFAULT,
1349 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001350 CFG_BTC_EXECUTION_MODE_MAX ),
1351
1352 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1353 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1354 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1355 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1356 CFG_BTC_DHCP_PROTECTION_MIN,
1357 CFG_BTC_DHCP_PROTECTION_MAX ),
1358
1359 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1360 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1362 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1363 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1364 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1365
Jeff Johnson32d95a32012-09-10 13:15:23 -07001366 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1367 hdd_config_t, btcStaticLenInqBt,
1368 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1369 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1370 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1371 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1372
1373 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1374 hdd_config_t, btcStaticLenPageBt,
1375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1376 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1377 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1378 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1379
1380 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1381 hdd_config_t, btcStaticLenConnBt,
1382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1383 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1384 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1385 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1386
1387 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1388 hdd_config_t, btcStaticLenLeBt,
1389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1390 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1391 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1392 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1393
1394 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1395 hdd_config_t, btcStaticLenInqWlan,
1396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1397 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1398 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1399 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1400
1401 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1402 hdd_config_t, btcStaticLenPageWlan,
1403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1404 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1405 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1406 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1407
1408 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1409 hdd_config_t, btcStaticLenConnWlan,
1410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1411 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1412 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1413 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1414
1415 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1416 hdd_config_t, btcStaticLenLeWlan,
1417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1418 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1419 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1420 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1421
1422 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1423 hdd_config_t, btcDynMaxLenBt,
1424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1425 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1426 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1427 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1428
1429 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1430 hdd_config_t, btcDynMaxLenWlan,
1431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1432 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1433 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1434 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1435
1436 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1437 hdd_config_t, btcMaxScoBlockPerc,
1438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1439 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1440 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1441 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1442
1443 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1444 hdd_config_t, btcDhcpProtOnA2dp,
1445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1446 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1447 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1448 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1449
1450 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1451 hdd_config_t, btcDhcpProtOnSco,
1452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1453 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1454 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1455 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1456
Jeff Johnson295189b2012-06-20 16:38:30 -07001457 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001458 hdd_config_t, nEnableListenMode,
1459 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1460 CFG_AP_LISTEN_MODE_DEFAULT,
1461 CFG_AP_LISTEN_MODE_MIN,
1462 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001463
1464 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1465 hdd_config_t, nAPAutoShutOff,
1466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1467 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1468 CFG_AP_AUTO_SHUT_OFF_MIN,
1469 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001470
1471#if defined WLAN_FEATURE_VOWIFI
1472 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001473 hdd_config_t, fRrmEnable,
1474 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1475 CFG_RRM_ENABLE_DEFAULT,
1476 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001477 CFG_RRM_ENABLE_MAX ),
1478
1479 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001480 hdd_config_t, nInChanMeasMaxDuration,
1481 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1482 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1483 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001484 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1485
1486 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001487 hdd_config_t, nOutChanMeasMaxDuration,
1488 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1489 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1490 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001491 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1492
1493 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001494 hdd_config_t, nRrmRandnIntvl,
1495 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1496 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1497 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001498 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1499#endif
1500
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001501#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001502 REG_VARIABLE( CFG_FT_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001503 hdd_config_t, fFTEnable,
1504 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1505 CFG_FT_ENABLE_DEFAULT,
1506 CFG_FT_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001507 CFG_FT_ENABLE_MAX ),
1508
1509 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001510 hdd_config_t, fFTResourceReqSupported,
1511 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1512 CFG_FT_RESOURCE_REQ_DEFAULT,
1513 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001514 CFG_FT_RESOURCE_REQ_MAX ),
1515#endif
1516
1517#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001518 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001519 hdd_config_t, nNeighborScanPeriod,
1520 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1521 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1522 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001523 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1524 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001525
1526 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001527 hdd_config_t, nNeighborReassocRssiThreshold,
1528 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1529 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1530 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001531 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1532
Srinivas Girigowdade697412013-02-14 16:31:48 -08001533 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001534 hdd_config_t, nNeighborLookupRssiThreshold,
1535 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1536 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1537 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001538 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1539 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001540
1541 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001542 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001543 VAR_FLAGS_OPTIONAL,
1544 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1545
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001546 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001547 hdd_config_t, nNeighborScanMinChanTime,
1548 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1549 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1550 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001551 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1552 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001553
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001554 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001555 hdd_config_t, nNeighborScanMaxChanTime,
1556 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1557 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1558 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001559 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1560 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001561
1562 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1563 hdd_config_t, nMaxNeighborReqTries,
1564 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1565 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1566 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1567 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1568
Srinivas Girigowdade697412013-02-14 16:31:48 -08001569 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001570 hdd_config_t, nNeighborResultsRefreshPeriod,
1571 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1572 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1573 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001574 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1575 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1576
1577 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1578 hdd_config_t, nEmptyScanRefreshPeriod,
1579 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1580 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1581 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1582 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1583 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001584#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1585
1586 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001587 hdd_config_t, burstSizeDefinition,
1588 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1589 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1590 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001591 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1592
1593 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1594 hdd_config_t, mcastBcastFilterSetting,
1595 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1596 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1597 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1598 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1599
1600 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1601 hdd_config_t, fhostArpOffload,
1602 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1603 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1604 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1605 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1606
1607 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001608 hdd_config_t, tsInfoAckPolicy,
1609 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1610 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1611 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001612 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1613
1614 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1615 hdd_config_t, bSingleTidRc,
1616 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1617 CFG_SINGLE_TID_RC_DEFAULT,
1618 CFG_SINGLE_TID_RC_MIN,
1619 CFG_SINGLE_TID_RC_MAX),
1620
1621 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1622 hdd_config_t, dynamicPsPollValue,
1623 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1624 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1625 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1626 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1627
1628 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1629 hdd_config_t, teleBcnWakeupEn,
1630 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1631 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1632 CFG_TELE_BCN_WAKEUP_EN_MIN,
1633 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1634
1635 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1636 hdd_config_t, infraStaKeepAlivePeriod,
1637 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1638 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1639 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1640 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1641
1642 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001643 hdd_config_t, AddTSWhenACMIsOff,
1644 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1645 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1646 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001647 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1648
1649
1650 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001651 hdd_config_t, fValidateScanList,
1652 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1653 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1654 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001655 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001656
Jeff Johnson295189b2012-06-20 16:38:30 -07001657 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001658 hdd_config_t, nNullDataApRespTimeout,
1659 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1660 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1661 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001662 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
1663
1664 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001665 hdd_config_t, apDataAvailPollPeriodInMs,
1666 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1667 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1668 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001669 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001670
Jeff Johnson295189b2012-06-20 16:38:30 -07001671 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001672 hdd_config_t, enableBtAmp,
1673 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1674 CFG_ENABLE_BTAMP_DEFAULT,
1675 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001676 CFG_ENABLE_BTAMP_MAX ),
1677
1678#ifdef WLAN_BTAMP_FEATURE
1679 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001680 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07001681 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1682 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
1683 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
1684 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
1685#endif //WLAN_BTAMP_FEATURE
1686 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001687 hdd_config_t, nBandCapability,
1688 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1689 CFG_BAND_CAPABILITY_DEFAULT,
1690 CFG_BAND_CAPABILITY_MIN,
1691 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001692
1693 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001694 hdd_config_t, fEnableBeaconEarlyTermination,
1695 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1696 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
1697 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
1698 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001699/* CFG_VOS_TRACE_ENABLE Parameters */
1700 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
1701 hdd_config_t, vosTraceEnableBAP,
1702 VAR_FLAGS_OPTIONAL,
1703 CFG_VOS_TRACE_ENABLE_DEFAULT,
1704 CFG_VOS_TRACE_ENABLE_MIN,
1705 CFG_VOS_TRACE_ENABLE_MAX ),
1706
1707 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
1708 hdd_config_t, vosTraceEnableTL,
1709 VAR_FLAGS_OPTIONAL,
1710 CFG_VOS_TRACE_ENABLE_DEFAULT,
1711 CFG_VOS_TRACE_ENABLE_MIN,
1712 CFG_VOS_TRACE_ENABLE_MAX ),
1713
1714 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
1715 hdd_config_t, vosTraceEnableWDI,
1716 VAR_FLAGS_OPTIONAL,
1717 CFG_VOS_TRACE_ENABLE_DEFAULT,
1718 CFG_VOS_TRACE_ENABLE_MIN,
1719 CFG_VOS_TRACE_ENABLE_MAX ),
1720
1721 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
1722 hdd_config_t, vosTraceEnableHDD,
1723 VAR_FLAGS_OPTIONAL,
1724 CFG_VOS_TRACE_ENABLE_DEFAULT,
1725 CFG_VOS_TRACE_ENABLE_MIN,
1726 CFG_VOS_TRACE_ENABLE_MAX ),
1727
1728 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
1729 hdd_config_t, vosTraceEnableSME,
1730 VAR_FLAGS_OPTIONAL,
1731 CFG_VOS_TRACE_ENABLE_DEFAULT,
1732 CFG_VOS_TRACE_ENABLE_MIN,
1733 CFG_VOS_TRACE_ENABLE_MAX ),
1734
1735 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
1736 hdd_config_t, vosTraceEnablePE,
1737 VAR_FLAGS_OPTIONAL,
1738 CFG_VOS_TRACE_ENABLE_DEFAULT,
1739 CFG_VOS_TRACE_ENABLE_MIN,
1740 CFG_VOS_TRACE_ENABLE_MAX ),
1741
1742 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
1743 hdd_config_t, vosTraceEnableWDA,
1744 VAR_FLAGS_OPTIONAL,
1745 CFG_VOS_TRACE_ENABLE_DEFAULT,
1746 CFG_VOS_TRACE_ENABLE_MIN,
1747 CFG_VOS_TRACE_ENABLE_MAX ),
1748
1749 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
1750 hdd_config_t, vosTraceEnableSYS,
1751 VAR_FLAGS_OPTIONAL,
1752 CFG_VOS_TRACE_ENABLE_DEFAULT,
1753 CFG_VOS_TRACE_ENABLE_MIN,
1754 CFG_VOS_TRACE_ENABLE_MAX ),
1755
1756 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
1757 hdd_config_t, vosTraceEnableVOSS,
1758 VAR_FLAGS_OPTIONAL,
1759 CFG_VOS_TRACE_ENABLE_DEFAULT,
1760 CFG_VOS_TRACE_ENABLE_MIN,
1761 CFG_VOS_TRACE_ENABLE_MAX ),
1762
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001763 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
1764 hdd_config_t, vosTraceEnableSAP,
1765 VAR_FLAGS_OPTIONAL,
1766 CFG_VOS_TRACE_ENABLE_DEFAULT,
1767 CFG_VOS_TRACE_ENABLE_MIN,
1768 CFG_VOS_TRACE_ENABLE_MAX ),
1769
1770 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
1771 hdd_config_t, vosTraceEnableHDDSAP,
1772 VAR_FLAGS_OPTIONAL,
1773 CFG_VOS_TRACE_ENABLE_DEFAULT,
1774 CFG_VOS_TRACE_ENABLE_MIN,
1775 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001776
Jeff Johnson295189b2012-06-20 16:38:30 -07001777 /* note that since the default value is out of range we cannot
1778 enable range check, otherwise we get a system log message */
1779 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
1780 hdd_config_t, wdiTraceEnableDAL,
1781 VAR_FLAGS_OPTIONAL,
1782 CFG_WDI_TRACE_ENABLE_DEFAULT,
1783 CFG_WDI_TRACE_ENABLE_MIN,
1784 CFG_WDI_TRACE_ENABLE_MAX ),
1785
1786 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
1787 hdd_config_t, wdiTraceEnableCTL,
1788 VAR_FLAGS_OPTIONAL,
1789 CFG_WDI_TRACE_ENABLE_DEFAULT,
1790 CFG_WDI_TRACE_ENABLE_MIN,
1791 CFG_WDI_TRACE_ENABLE_MAX ),
1792
1793 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
1794 hdd_config_t, wdiTraceEnableDAT,
1795 VAR_FLAGS_OPTIONAL,
1796 CFG_WDI_TRACE_ENABLE_DEFAULT,
1797 CFG_WDI_TRACE_ENABLE_MIN,
1798 CFG_WDI_TRACE_ENABLE_MAX ),
1799
1800 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
1801 hdd_config_t, wdiTraceEnablePAL,
1802 VAR_FLAGS_OPTIONAL,
1803 CFG_WDI_TRACE_ENABLE_DEFAULT,
1804 CFG_WDI_TRACE_ENABLE_MIN,
1805 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001806
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001807 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001808 hdd_config_t, nTeleBcnTransListenInterval,
1809 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1810 CFG_TELE_BCN_TRANS_LI_DEFAULT,
1811 CFG_TELE_BCN_TRANS_LI_MIN,
1812 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001813
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001814 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001815 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
1816 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1817 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
1818 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
1819 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001820
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001821 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001822 hdd_config_t, nTeleBcnMaxListenInterval,
1823 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1824 CFG_TELE_BCN_MAX_LI_DEFAULT,
1825 CFG_TELE_BCN_MAX_LI_MIN,
1826 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001827
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001828 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001829 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
1830 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1831 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
1832 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
1833 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001834
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001835 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001836 hdd_config_t, bcnEarlyTermWakeInterval,
1837 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1838 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
1839 CFG_BCN_EARLY_TERM_WAKE_MIN,
1840 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001841
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001842 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001843 hdd_config_t, apDataAvailPollPeriodInMs,
1844 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1845 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1846 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001847 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
1848
1849 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001850 hdd_config_t, enableCloseLoop,
1851 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1852 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
1853 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001854 CFG_ENABLE_CLOSE_LOOP_MAX ),
1855
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001856 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001857 hdd_config_t, enableBypass11d,
1858 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1859 CFG_ENABLE_BYPASS_11D_DEFAULT,
1860 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001861 CFG_ENABLE_BYPASS_11D_MAX ),
1862
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001863 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001864 hdd_config_t, enableDFSChnlScan,
1865 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1866 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
1867 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001868 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
1869
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001870 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001871 hdd_config_t, enableDynamicDTIM,
1872 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1873 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
1874 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001875 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
1876
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001877 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001878 hdd_config_t, enableAutomaticTxPowerControl,
1879 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1880 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
1881 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001882 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
1883
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001884 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001885 hdd_config_t, ShortGI40MhzEnable,
1886 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1887 CFG_SHORT_GI_40MHZ_DEFAULT,
1888 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001889 CFG_SHORT_GI_40MHZ_MAX ),
1890
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001891 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001892 hdd_config_t, reportMaxLinkSpeed,
1893 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1894 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
1895 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001896 CFG_REPORT_MAX_LINK_SPEED_MAX,
1897 NULL, 0 ),
1898
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001899 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07001900 hdd_config_t, linkSpeedRssiHigh,
1901 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1902 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
1903 CFG_LINK_SPEED_RSSI_HIGH_MIN,
1904 CFG_LINK_SPEED_RSSI_HIGH_MAX,
1905 NULL, 0 ),
1906
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001907 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001908 hdd_config_t, linkSpeedRssiMid,
1909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1910 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
1911 CFG_LINK_SPEED_RSSI_MID_MIN,
1912 CFG_LINK_SPEED_RSSI_MID_MAX,
1913 NULL, 0 ),
1914
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001915 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07001916 hdd_config_t, linkSpeedRssiLow,
1917 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1918 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
1919 CFG_LINK_SPEED_RSSI_LOW_MIN,
1920 CFG_LINK_SPEED_RSSI_LOW_MAX,
1921 NULL, 0 ),
1922
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001923#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001924 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001925 hdd_config_t, nRoamPrefer5GHz,
1926 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1927 CFG_ROAM_PREFER_5GHZ_DEFAULT,
1928 CFG_ROAM_PREFER_5GHZ_MIN,
1929 CFG_ROAM_PREFER_5GHZ_MAX,
1930 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001931
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001932 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001933 hdd_config_t, nRoamIntraBand,
1934 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1935 CFG_ROAM_INTRA_BAND_DEFAULT,
1936 CFG_ROAM_INTRA_BAND_MIN,
1937 CFG_ROAM_INTRA_BAND_MAX,
1938 cbNotifySetRoamIntraBand, 0 ),
1939
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07001940 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
1941 hdd_config_t, nProbes,
1942 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1943 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
1944 CFG_ROAM_SCAN_N_PROBES_MIN,
1945 CFG_ROAM_SCAN_N_PROBES_MAX,
1946 cbNotifySetRoamScanNProbes, 0 ),
1947
1948 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
1949 hdd_config_t, nRoamScanHomeAwayTime,
1950 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1951 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
1952 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
1953 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
1954 cbNotifySetRoamScanHomeAwayTime, 0 ),
1955
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001956#endif
1957
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001958 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001959 hdd_config_t, isP2pDeviceAddrAdministrated,
1960 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1961 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
1962 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
1963 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001964
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001965 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001966 hdd_config_t, enableMCC,
1967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1968 CFG_ENABLE_MCC_ENABLED_DEFAULT,
1969 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001970 CFG_ENABLE_MCC_ENABLED_MAX ),
1971
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001972 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001973 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001974 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1975 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
1976 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
1977 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001978
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001979 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001980 hdd_config_t, thermalMitigationEnable,
1981 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1982 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
1983 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001984 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
1985#ifdef WLAN_FEATURE_PACKET_FILTERING
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001986 REG_VARIABLE( CFG_MC_ADDR_LIST_FILTER_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001987 hdd_config_t, isMcAddrListFilter,
1988 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1989 CFG_MC_ADDR_LIST_FILTER_DEFAULT,
1990 CFG_MC_ADDR_LIST_FILTER_MIN,
1991 CFG_MC_ADDR_LIST_FILTER_MAX ),
1992#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001993
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001994 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001995 hdd_config_t, enableModulatedDTIM,
1996 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1997 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
1998 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001999 CFG_ENABLE_MODULATED_DTIM_MAX ),
2000
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002001 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002002 hdd_config_t, fEnableMCAddrList,
2003 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2004 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2005 CFG_MC_ADDR_LIST_ENABLE_MIN,
2006 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2007
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002008#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002009 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002010 hdd_config_t, vhtChannelWidth,
2011 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2012 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2013 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002014 CFG_VHT_CHANNEL_WIDTH_MAX),
2015
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002016 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002017 hdd_config_t, vhtRxMCS,
2018 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2019 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2020 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002021 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2022
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002023 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002024 hdd_config_t, vhtTxMCS,
2025 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2026 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2027 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002028 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2029#endif
2030
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002031 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002032 hdd_config_t, enableFirstScan2GOnly,
2033 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2034 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2035 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002036 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2037
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002038 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002039 hdd_config_t, skipDfsChnlInP2pSearch,
2040 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2041 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2042 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002043 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2044
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002045 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002046 hdd_config_t, ignoreDynamicDtimInP2pMode,
2047 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2048 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2049 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002050 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2051
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002052 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002053 hdd_config_t,numBuffAdvert ,
2054 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2055 CFG_NUM_BUFF_ADVERT_DEFAULT,
2056 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002057 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002058
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002059 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002060 hdd_config_t, configMccParam,
2061 VAR_FLAGS_OPTIONAL,
2062 CFG_MCC_CONFIG_PARAM_DEFAULT,
2063 CFG_MCC_CONFIG_PARAM_MIN,
2064 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002065 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002066 hdd_config_t, enableRxSTBC,
2067 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2068 CFG_ENABLE_RX_STBC_DEFAULT,
2069 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302070 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002071#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002072 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002073 hdd_config_t, fEnableTDLSSupport,
2074 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2075 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2076 CFG_TDLS_SUPPORT_ENABLE_MIN,
2077 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302078
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002079 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302080 hdd_config_t, fEnableTDLSImplicitTrigger,
2081 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2082 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2083 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2084 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2085
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002086 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302087 hdd_config_t, fTDLSTxStatsPeriod,
2088 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2089 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2090 CFG_TDLS_TX_STATS_PERIOD_MIN,
2091 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2092
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002093 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302094 hdd_config_t, fTDLSTxPacketThreshold,
2095 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2096 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2097 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2098 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2099
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002100 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302101 hdd_config_t, fTDLSDiscoveryPeriod,
2102 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2103 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2104 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2105 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2106
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002107 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302108 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2109 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2110 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2111 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2112 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2113
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002114 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002115 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302116 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002117 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2118 CFG_TDLS_IDLE_TIMEOUT_MIN,
2119 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2120
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002121 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002122 hdd_config_t, fTDLSIdlePacketThreshold,
2123 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2124 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2125 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2126 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302127
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002128 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002129 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302130 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2131 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2132 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2133 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002134
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002135 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002136 hdd_config_t, fTDLSRSSITriggerThreshold,
2137 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2138 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2139 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2140 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2141
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002142 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002143 hdd_config_t, fTDLSRSSITeardownThreshold,
2144 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2145 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2146 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2147 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302148
2149REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2150 hdd_config_t, fTDLSUapsdMask,
2151 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2152 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2153 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2154 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2155
2156REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2157 hdd_config_t, fEnableTDLSBufferSta,
2158 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2159 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2160 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2161 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2162
2163REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2164 hdd_config_t, fTDLSPuapsdInactivityTimer,
2165 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2166 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2167 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2168 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2169
2170REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2171 hdd_config_t, fTDLSRxFrameThreshold,
2172 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2173 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2174 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2175 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002176#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002177
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002178#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002179 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002180 hdd_config_t, fEnableVSTASupport,
2181 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2182 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2183 CFG_VSTA_SUPPORT_ENABLE_MIN,
2184 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2185#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002186 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002187 hdd_config_t, enableLpwrImgTransition,
2188 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2189 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2190 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002191 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2192
Yathish9f22e662012-12-10 14:21:35 -08002193#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002194 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002195 hdd_config_t, fEnableActiveModeOffload,
2196 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2197 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2198 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2199 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2200#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002201 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002202 hdd_config_t, enableLpwrImgTransition,
2203 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2204 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2205 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2206 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2207
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002208
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002209 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002210 hdd_config_t, scanAgingTimeout,
2211 VAR_FLAGS_OPTIONAL,
2212 CFG_SCAN_AGING_PARAM_DEFAULT,
2213 CFG_SCAN_AGING_PARAM_MIN,
2214 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002215
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002216 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002217 hdd_config_t, enableTxLdpc,
2218 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2219 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2220 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2221 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2222
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002223 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302224 hdd_config_t, enableMCCAdaptiveScheduler,
2225 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2226 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2227 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2228 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2229
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002230 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302231 hdd_config_t, isAndroidPsEn,
2232 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2233 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2234 CFG_ANDRIOD_POWER_SAVE_MIN,
2235 CFG_ANDRIOD_POWER_SAVE_MAX),
2236
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002237 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002238 hdd_config_t, AdHocChannel5G,
2239 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2240 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2241 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2242 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2243
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002244 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002245 hdd_config_t, AdHocChannel24G,
2246 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2247 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2248 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2249 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2250
2251
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002252#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002253 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002254 hdd_config_t, enableTxBF,
2255 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2256 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2257 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2258 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002259
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002260 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002261 hdd_config_t, txBFCsnValue,
2262 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2263 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2264 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2265 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2266
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002267#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302268
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002269 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302270 hdd_config_t, sapAllowAllChannel,
2271 VAR_FLAGS_OPTIONAL,
2272 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2273 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2274 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002275
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002276#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002277 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002278 hdd_config_t, disableLDPCWithTxbfAP,
2279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2280 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2281 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2282 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2283#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002284
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002285 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002286 hdd_config_t, listOfNonDfsCountryCode,
2287 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2288 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2289
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002290 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2291 hdd_config_t, enableSSR,
2292 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2293 CFG_ENABLE_SSR_DEFAULT,
2294 CFG_ENABLE_SSR_MIN,
2295 CFG_ENABLE_SSR_MAX,
2296 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302297
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002298 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302299 hdd_config_t, listOfNon11acCountryCode,
2300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2301 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2302
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002303 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302304 hdd_config_t, cfgMaxMediumTime,
2305 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2306 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2307 CFG_MAX_MEDIUM_TIME_STAMIN,
2308 CFG_MAX_MEDIUM_TIME_STAMAX ),
2309
Leo Chang64d68bc2013-06-04 15:40:52 -07002310 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2311 hdd_config_t, enableTrafficMonitor,
2312 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2313 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2314 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2315 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2316
2317 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2318 hdd_config_t, trafficIdleTimeout,
2319 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2320 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2321 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2322 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002323
2324#ifdef WLAN_FEATURE_11AC
2325 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2326 hdd_config_t, enableVhtFor24GHzBand,
2327 VAR_FLAGS_OPTIONAL,
2328 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2329 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2330 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2331#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302332
2333 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2334 hdd_config_t, fScanOffload,
2335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2336 CFG_SCAN_OFFLOAD_DEFAULT,
2337 CFG_SCAN_OFFLOAD_DISABLE,
2338 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002339
2340#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2341 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2342 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2343 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2344 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2345 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2346 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2347 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2348#endif
2349
Jeff Johnson295189b2012-06-20 16:38:30 -07002350};
2351
2352/*
2353 * This function returns a pointer to the character after the occurence
2354 * of a new line character. It also modifies the original string by replacing
2355 * the '\n' character with the null character.
2356 * Function returns NULL if no new line character was found before end of
2357 * string was reached
2358 */
2359static char* get_next_line(char* str)
2360{
2361 char c;
2362
2363 if( str == NULL || *str == '\0') {
2364 return NULL;
2365 }
2366
2367 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002368 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002369 str = str + 1;
2370 c = *str;
2371 }
2372
2373 if (c == '\0' ) {
2374 return NULL;
2375 }
2376 else
2377 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002378 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002379 return (str+1);
2380 }
2381
2382 return NULL;
2383}
2384
2385// look for space. Ascii values to look are -
2386// 0x09 == horizontal tab
2387// 0x0a == Newline ("\n")
2388// 0x0b == vertical tab
2389// 0x0c == Newpage or feed form.
2390// 0x0d == carriage return (CR or "\r")
2391// Null ('\0') should not considered as space.
2392#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2393
2394/*
2395 * This function trims any leading and trailing white spaces
2396 */
2397static char *i_trim(char *str)
2398
2399{
2400 char *ptr;
2401
2402 if(*str == '\0') return str;
2403
2404 /* Find the first non white-space*/
2405 for (ptr = str; i_isspace(*ptr); ptr++);
2406 if (*ptr == '\0')
2407 return str;
2408
2409 /* This is the new start of the string*/
2410 str = ptr;
2411
2412 /* Find the last non white-space */
2413 ptr += strlen(ptr) - 1;
2414 for (; ptr != str && i_isspace(*ptr); ptr--);
2415 /* Null terminate the following character */
2416 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002417
Jeff Johnson295189b2012-06-20 16:38:30 -07002418 return str;
2419}
2420
2421
2422//Structure to store each entry in qcom_cfg.ini file
2423typedef struct
2424{
2425 char *name;
2426 char *value;
2427}tCfgIniEntry;
2428
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002429static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002430 tCfgIniEntry* iniTable, unsigned long entries);
2431
2432#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002433void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002434{
2435 unsigned long i;
2436
2437 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002438 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002439 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2440 }
2441}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002442#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002443
2444/*
2445 * This function reads the qcom_cfg.ini file and
2446 * parses each 'Name=Value' pair in the ini file
2447 */
2448VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2449{
2450 int status, i=0;
2451 /** Pointer for firmware image data */
2452 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002453 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002454 size_t size;
2455 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002456 /* cfgIniTable is static to avoid excess stack usage */
2457 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002458 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2459
2460 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2461
2462 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002463
Jeff Johnson295189b2012-06-20 16:38:30 -07002464 if(status)
2465 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002466 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002467 vos_status = VOS_STATUS_E_FAILURE;
2468 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002469 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002470 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002471 {
2472 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002473 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002474 vos_status = VOS_STATUS_E_FAILURE;
2475 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002476 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002477
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002478 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002479
2480 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002481
Jeff Johnson295189b2012-06-20 16:38:30 -07002482 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002483 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002484 release_firmware(fw);
2485 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002486 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002487 pTemp = buffer;
2488
2489 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2490 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002491
Jeff Johnson295189b2012-06-20 16:38:30 -07002492 while (buffer != NULL)
2493 {
2494 line = get_next_line(buffer);
2495 buffer = i_trim(buffer);
2496
2497 hddLog(LOG1, "%s: item", buffer);
2498
2499 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2500 buffer = line;
2501 continue;
2502 }
2503 else if(strncmp(buffer, "END", 3) == 0 ) {
2504 break;
2505 }
2506 else
2507 {
2508 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002509 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002510 buffer++;
2511 if(*buffer != '\0') {
2512 *buffer++ = '\0';
2513 i_trim(name);
2514 if(strlen (name) != 0) {
2515 buffer = i_trim(buffer);
2516 if(strlen(buffer)>0) {
2517 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002518 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002519 buffer++;
2520 *buffer = '\0';
2521 cfgIniTable[i].name= name;
2522 cfgIniTable[i++].value= value;
2523 if(i >= MAX_CFG_INI_ITEMS) {
2524 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002525 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002526 break;
2527 }
2528 }
2529 }
2530 }
2531 }
2532 buffer = line;
2533 }
2534
2535 //Loop through the registry table and apply all these configs
2536 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2537
Jeff Johnson4416a782013-03-25 14:17:50 -07002538config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002539 release_firmware(fw);
2540 vos_mem_free(pTemp);
2541 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002542}
Jeff Johnson295189b2012-06-20 16:38:30 -07002543
2544
2545static void print_hdd_cfg(hdd_context_t *pHddCtx)
2546{
2547 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2548 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2549 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2550 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2551 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2552 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2553 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2554 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2555 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssBssid] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2556 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2557 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2558 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2559
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002560 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002561 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2562 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2563 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2564 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2565 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2566 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2567 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2568
2569
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002570 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002571 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2572 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2573 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2574 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2575 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2576 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2577 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2578
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002579 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002580 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2581 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2582 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2583 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2584 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2585 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2586 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2587
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002588 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002589 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2590 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
2591 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
2592 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
2593 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
2594 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
2595 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
2596
Jeff Johnson295189b2012-06-20 16:38:30 -07002597
2598 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
2599
2600 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
2601 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
2602 pHddCtx->cfg_ini->apCntryCode[2]);
2603 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
2604 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
2605
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002606 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableListenMode] Value = [%u]\n", pHddCtx->cfg_ini->nEnableListenMode);
Jeff Johnson295189b2012-06-20 16:38:30 -07002607 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
2608 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
2609 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApAutoChannelSelection] value = [%u]\n",pHddCtx->cfg_ini->apAutoChannelSelection);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002610
Jeff Johnson295189b2012-06-20 16:38:30 -07002611 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
2612 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
2613 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
2614 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
2615 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
2616 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
2617 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
2618
2619 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
2620 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
2621
2622 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
2623 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
2624
2625 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
2626 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
2627
2628 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
2629 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
2630#ifdef FEATURE_WLAN_CCX
2631 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
2632 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
2633 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
2634 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTxPowerCap] Value = [%lu] dBm ",pHddCtx->cfg_ini->nTxPowerCap);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002635#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002636#ifdef FEATURE_WLAN_LFR
2637 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastRoamEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002638#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07002639#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
2640 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RoamRssiDiff] Value = [%lu] ",pHddCtx->cfg_ini->RoamRssiDiff);
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08002641 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%lu] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
Srinivas Girigowda100eb322013-03-15 16:48:20 -07002642 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [isWESModeEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isWESModeEnabled);
Jeff Johnson43971f52012-07-17 12:26:56 -07002643#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002644#ifdef FEATURE_WLAN_OKC
2645 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
2646#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002647 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
2648 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
2649 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
2650 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
2651 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
2652
2653 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
2654 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
2655 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
2656 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
2657 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
2658
2659 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
2660 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
2661 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
2662 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
2663 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
2664
2665 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
2666 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
2667 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
2668 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
2669 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
2670
2671 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
2672 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
2673 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
2674 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
2675 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
2676 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
2677 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 -08002678#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07002679 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTEnable] Value = [%lu] ",pHddCtx->cfg_ini->fFTEnable);
2680 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
2681#endif
2682
2683#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
2684 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
2685 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
2686 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
2687 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
2688 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
2689 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
2690 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanResultsRefreshPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod);
Srinivas Girigowdade697412013-02-14 16:31:48 -08002691 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nEmptyScanRefreshPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
Jeff Johnson295189b2012-06-20 16:38:30 -07002692#endif
2693 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
2694 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
2695 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
2696 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
2697 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
2698 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
2699 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
2700
2701 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
2702 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2703 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
2704#ifdef WLAN_BTAMP_FEATURE
2705 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
2706#endif //WLAN_BTAMP_FEATURE
2707 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
2708 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
2709 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
2710 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
2711 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
2712 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
2713 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
2714 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
2715 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2716 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
2717 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
2718 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
2719 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 -07002720#ifdef WLAN_FEATURE_11AC
2721 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
2722#endif
2723 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
2724 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
2725 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 +05302726 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 -08002727 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 -07002728 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 -07002729 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 -07002730
Leo Chang64d68bc2013-06-04 15:40:52 -07002731 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
2732 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTrafficIdleTimeout] Value = [%u] ", pHddCtx->cfg_ini->trafficIdleTimeout);
Jeff Johnson295189b2012-06-20 16:38:30 -07002733}
2734
2735
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002736
Jeff Johnson295189b2012-06-20 16:38:30 -07002737#define CFG_VALUE_MAX_LEN 256
2738#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
2739VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
2740{
2741 unsigned int idx;
2742 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2743 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2744 v_U32_t value;
2745 char valueStr[CFG_VALUE_MAX_LEN];
2746 char configStr[CFG_ENTRY_MAX_LEN];
2747 char *fmt;
2748 void *pField;
2749 v_MACADDR_t *pMacAddr;
2750 char *pCur = pBuf;
2751 int curlen;
2752
2753 // start with an empty string
2754 *pCur = '\0';
2755
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002756 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07002757 {
2758 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
2759
2760 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2761 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002762 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07002763 {
2764 value = 0;
2765 memcpy( &value, pField, pRegEntry->VarSize );
2766 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
2767 {
2768 fmt = "%x";
2769 }
2770 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2771 {
2772 fmt = "%d";
2773 }
2774 else
2775 {
2776 fmt = "%u";
2777 }
2778 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
2779 }
2780 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2781 {
2782 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
2783 }
2784 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2785 {
2786 pMacAddr = (v_MACADDR_t *) pField;
2787 snprintf(valueStr, CFG_VALUE_MAX_LEN,
2788 "%02x:%02x:%02x:%02x:%02x:%02x",
2789 pMacAddr->bytes[0],
2790 pMacAddr->bytes[1],
2791 pMacAddr->bytes[2],
2792 pMacAddr->bytes[3],
2793 pMacAddr->bytes[4],
2794 pMacAddr->bytes[5]);
2795 }
2796 else
2797 {
2798 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
2799 }
2800 curlen = snprintf(configStr, CFG_ENTRY_MAX_LEN,
2801 "%s=[%s]%s\n",
2802 pRegEntry->RegName,
2803 valueStr,
2804 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
2805 "*" : "");
2806
2807 // ideally we want to return the config to the application
2808 // however the config is too big so we just printk() for now
2809#ifdef RETURN_IN_BUFFER
2810 if (curlen <= buflen)
2811 {
2812 // copy string + '\0'
2813 memcpy(pCur, configStr, curlen+1);
2814
2815 // account for addition;
2816 pCur += curlen;
2817 buflen -= curlen;
2818 }
2819 else
2820 {
2821 // buffer space exhausted, return what we have
2822 return VOS_STATUS_E_RESOURCES;
2823 }
2824#else
2825 printk(KERN_CRIT "%s", configStr);
2826#endif // RETURN_IN_BUFFER
2827
2828}
2829
2830#ifndef RETURN_IN_BUFFER
2831 // notify application that output is in system log
2832 snprintf(pCur, buflen, "WLAN configuration written to system log");
2833#endif // RETURN_IN_BUFFER
2834
2835 return VOS_STATUS_SUCCESS;
2836}
2837
2838static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002839 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07002840{
2841 VOS_STATUS status = VOS_STATUS_E_FAILURE;
2842 unsigned long i;
2843
2844 for (i = 0; i < entries; i++) {
2845 if (strcmp(iniTable[i].name, name) == 0) {
2846 *value = iniTable[i].value;
2847 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
2848 WLAN_INI_FILE, name, *value);
2849 return VOS_STATUS_SUCCESS;
2850 }
2851 }
2852
2853 return status;
2854}
2855
2856static int parseHexDigit(char c)
2857{
2858 if (c >= '0' && c <= '9')
2859 return c-'0';
2860 if (c >= 'a' && c <= 'f')
2861 return c-'a'+10;
2862 if (c >= 'A' && c <= 'F')
2863 return c-'A'+10;
2864
2865 return 0;
2866}
2867
2868
2869static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
2870{
2871 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
2872 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
2873 unsigned int idx;
2874 void *pField;
2875 char *value_str = NULL;
2876 unsigned long len_value_str;
2877 char *candidate;
2878 v_U32_t value;
2879 v_S31_t svalue;
2880 void *pStructBase = pHddCtx->cfg_ini;
2881 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2882 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2883 v_U32_t cbOutString;
2884 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002885 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07002886
2887 // sanity test
2888 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
2889 {
2890 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002891 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07002892 }
2893
2894 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
2895 {
2896 //Calculate the address of the destination field in the structure.
2897 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
2898
2899 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
2900
2901 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
2902 {
2903 // If we could not read the cfg item and it is required, this is an error.
2904 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002905 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002906 ret_status = VOS_STATUS_E_FAILURE;
2907 break;
2908 }
2909
2910 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2911 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
2912 {
2913 // If successfully read from the registry, use the value read.
2914 // If not, use the default value.
2915 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002916 rv = kstrtoul(value_str, 10, &value);
2917 if (rv < 0) {
2918 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
2919 __func__, pRegEntry->RegName);
2920 value = pRegEntry->VarDefault;
2921 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002922 }
2923 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002924 rv = kstrtoul(value_str, 16, &value);
2925 if (rv < 0) {
2926 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
2927 __func__, pRegEntry->RegName);
2928 value = pRegEntry->VarDefault;
2929 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002930 }
2931 else {
2932 value = pRegEntry->VarDefault;
2933 }
2934
2935 // If this parameter needs range checking, do it here.
2936 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2937 {
2938 if ( value > pRegEntry->VarMax )
2939 {
2940 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002941 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07002942 value = pRegEntry->VarMax;
2943 }
2944
2945 if ( value < pRegEntry->VarMin )
2946 {
2947 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002948 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07002949 value = pRegEntry->VarMin;
2950 }
2951 }
2952 // If this parameter needs range checking, do it here.
2953 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2954 {
2955 if ( value > pRegEntry->VarMax )
2956 {
2957 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002958 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002959 value = pRegEntry->VarDefault;
2960 }
2961
2962 if ( value < pRegEntry->VarMin )
2963 {
2964 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002965 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002966 value = pRegEntry->VarDefault;
2967 }
2968 }
2969
2970 // Move the variable into the output field.
2971 memcpy( pField, &value, pRegEntry->VarSize );
2972 }
2973 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2974 {
2975 // If successfully read from the registry, use the value read.
2976 // If not, use the default value.
2977 if (VOS_STATUS_SUCCESS == match_status)
2978 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002979 rv = kstrtol(value_str, 10, &svalue);
2980 if (rv < 0) {
2981 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
2982 __func__, pRegEntry->RegName);
2983 svalue = (v_S31_t)pRegEntry->VarDefault;
2984 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002985 }
2986 else
2987 {
2988 svalue = (v_S31_t)pRegEntry->VarDefault;
2989 }
2990
2991 // If this parameter needs range checking, do it here.
2992 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2993 {
2994 if ( svalue > (v_S31_t)pRegEntry->VarMax )
2995 {
2996 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002997 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07002998 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
2999 svalue = (v_S31_t)pRegEntry->VarMax;
3000 }
3001
3002 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3003 {
3004 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003005 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003006 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3007 svalue = (v_S31_t)pRegEntry->VarMin;
3008 }
3009 }
3010 // If this parameter needs range checking, do it here.
3011 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3012 {
3013 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3014 {
3015 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
3016 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003017 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003018 (int)pRegEntry->VarMax,
3019 (int)pRegEntry->VarDefault );
3020 svalue = (v_S31_t)pRegEntry->VarDefault;
3021 }
3022
3023 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3024 {
3025 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
3026 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003027 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003028 (int)pRegEntry->VarMin,
3029 (int)pRegEntry->VarDefault);
3030 svalue = pRegEntry->VarDefault;
3031 }
3032 }
3033
3034 // Move the variable into the output field.
3035 memcpy( pField, &svalue, pRegEntry->VarSize );
3036 }
3037 // Handle string parameters
3038 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3039 {
3040#ifdef WLAN_CFG_DEBUG
3041 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "RegName = %s, VarOffset %u VarSize %u VarDefault %s\n",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003042 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003043#endif
3044
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003045 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003046 {
3047 len_value_str = strlen(value_str);
3048
3049 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003050 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003051 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003052 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3053 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3054 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3055 }
3056 else
3057 {
3058 memcpy( pField, (void *)(value_str), len_value_str);
3059 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3060 }
3061 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003062 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003063 {
3064 // Failed to read the string parameter from the registry. Use the default.
3065 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3066 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003067 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003068 }
3069 }
3070 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3071 {
3072 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003073 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
3074 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003075 continue;
3076 }
3077 candidate = (char*)pRegEntry->VarDefault;
3078 if ( match_status == VOS_STATUS_SUCCESS) {
3079 len_value_str = strlen(value_str);
3080 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003081 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003082 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003083 }
3084 else
3085 candidate = value_str;
3086 }
3087 //parse the string and store it in the byte array
3088 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3089 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003090 ((char*)pField)[i] =
3091 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003092 }
3093 }
3094 else
3095 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003096 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003097 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003098 }
3099
3100 // did we successfully parse a cfg item for this parameter?
3101 if( (match_status == VOS_STATUS_SUCCESS) &&
3102 (idx < MAX_CFG_INI_ITEMS) )
3103 {
3104 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3105 }
3106 }
3107
3108 print_hdd_cfg(pHddCtx);
3109
3110 return( ret_status );
3111}
3112
3113eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3114{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003115 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003116 {
3117 case (eHDD_DOT11_MODE_abg):
3118 return eCSR_DOT11_MODE_abg;
3119 case (eHDD_DOT11_MODE_11b):
3120 return eCSR_DOT11_MODE_11b;
3121 case (eHDD_DOT11_MODE_11g):
3122 return eCSR_DOT11_MODE_11g;
3123 default:
3124 case (eHDD_DOT11_MODE_11n):
3125 return eCSR_DOT11_MODE_11n;
3126 case (eHDD_DOT11_MODE_11g_ONLY):
3127 return eCSR_DOT11_MODE_11g_ONLY;
3128 case (eHDD_DOT11_MODE_11n_ONLY):
3129 return eCSR_DOT11_MODE_11n_ONLY;
3130 case (eHDD_DOT11_MODE_11b_ONLY):
3131 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003132#ifdef WLAN_FEATURE_11AC
3133 case (eHDD_DOT11_MODE_11ac_ONLY):
3134 return eCSR_DOT11_MODE_11ac_ONLY;
3135 case (eHDD_DOT11_MODE_11ac):
3136 return eCSR_DOT11_MODE_11ac;
3137#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003138 case (eHDD_DOT11_MODE_AUTO):
3139 return eCSR_DOT11_MODE_AUTO;
3140 }
3141
3142}
3143
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003144static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003145{
3146 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3147 tSmeBtcConfig btcParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003148
Jeff Johnson295189b2012-06-20 16:38:30 -07003149 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3150
3151 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003152 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003153 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3154
Jeff Johnson32d95a32012-09-10 13:15:23 -07003155 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3156 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3157 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3158 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3159 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3160 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3161 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3162 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3163 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3164 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3165 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3166 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3167 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3168
Jeff Johnson295189b2012-06-20 16:38:30 -07003169 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3170}
3171
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003172static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003173{
3174 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3175
3176 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003177
Jeff Johnson295189b2012-06-20 16:38:30 -07003178 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003179
Jeff Johnson295189b2012-06-20 16:38:30 -07003180 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3181 {
3182 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3183 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3184 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3185 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3186 }
3187 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3188 {
3189 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3190 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3191 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3192 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3193 }
3194 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3195 {
3196 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3197 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3198 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3199 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3200 }
3201
3202 if (pConfig->fIsImpsEnabled)
3203 {
3204 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3205 }
3206 else
3207 {
3208 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3209 }
3210
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303211 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3212 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3213 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3214
Jeff Johnson295189b2012-06-20 16:38:30 -07003215 if (pConfig->fIsBmpsEnabled)
3216 {
3217 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3218 }
3219 else
3220 {
3221 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3222 }
3223
3224 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3225
3226 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3227 {
3228 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3229 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003230
Jeff Johnson295189b2012-06-20 16:38:30 -07003231 if(pConfig->fIsAutoBmpsTimerEnabled)
3232 {
3233 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3234 }
3235
3236}
3237
3238#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3239static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3240{
3241 char *s = str;
3242
3243 if( str == NULL || intArray == NULL || len == NULL )
3244 {
3245 return VOS_STATUS_E_INVAL;
3246 }
3247 *len = 0;
3248
Jeff Johnson295189b2012-06-20 16:38:30 -07003249 while ( (s != NULL) && (*len < intArrayMaxLen) )
3250 {
3251 int val;
3252 //Increment length only if sscanf succesfully extracted one element.
3253 //Any other return value means error. Ignore it.
3254 if( sscanf(s, "%d", &val ) == 1 )
3255 {
3256 intArray[*len] = (tANI_U8) val;
3257 *len += 1;
3258 }
3259 s = strpbrk( s, "," );
3260 if( s )
3261 s++;
3262 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003263
3264 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003265
Jeff Johnson295189b2012-06-20 16:38:30 -07003266}
3267#endif
3268
3269
3270v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3271{
3272 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003273#ifdef WLAN_SOFTAP_VSTA_FEATURE
3274 tANI_U32 val;
3275#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003276
3277 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303278 tSirMacHTCapabilityInfo htCapInfo;
3279
Jeff Johnson295189b2012-06-20 16:38:30 -07003280
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003281 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003282 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3283 {
3284 fStatus = FALSE;
3285 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3286 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003287
3288 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003289 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3290 {
3291 fStatus = FALSE;
3292 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3293 }
3294
3295 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3296 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3297 {
3298 fStatus = FALSE;
3299 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3300 }
3301
3302 if ( 0 != pConfig->Cfg1Id )
3303 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003304 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003305 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3306 {
3307 fStatus = FALSE;
3308 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3309 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003310
Jeff Johnson295189b2012-06-20 16:38:30 -07003311 }
3312
3313 if ( 0 != pConfig->Cfg2Id )
3314 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003315 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003316 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3317 {
3318 fStatus = FALSE;
3319 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3320 }
3321 }
3322
3323 if ( 0 != pConfig->Cfg3Id )
3324 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003325 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003326 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3327 {
3328 fStatus = FALSE;
3329 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3330 }
3331 }
3332
3333 if ( 0 != pConfig->Cfg4Id )
3334 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003335 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003336 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3337 {
3338 fStatus = FALSE;
3339 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3340 }
3341 }
3342
3343 if ( 0 != pConfig->Cfg5Id )
3344 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003345 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003346 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3347 {
3348 fStatus = FALSE;
3349 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3350 }
3351 }
3352
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003353 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003354 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3355 {
3356 fStatus = FALSE;
3357 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3358 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003359
3360 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003361 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3362 {
3363 fStatus = FALSE;
3364 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3365 }
3366
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003367 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003368 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3369 {
3370 fStatus = FALSE;
3371 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3372 }
3373
3374 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3375 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3376 {
3377 fStatus = FALSE;
3378 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3379 }
3380
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003381 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003382 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003383 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003384 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3385 {
3386 fStatus = FALSE;
3387 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3388 }
3389 }
3390 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003391 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003392 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3393 {
3394 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3395 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003396 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003397 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003398 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003399 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3400 {
3401 fStatus = FALSE;
3402 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3403 }
3404 }
3405 else
3406 {
3407 fStatus = FALSE;
3408 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3409 }
3410 }
3411
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003412 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003413 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3414 {
3415 fStatus = FALSE;
3416 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3417 }
3418
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003419 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003420 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3421 {
3422 fStatus = FALSE;
3423 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3424 }
3425
3426 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3427 {
3428 fStatus = FALSE;
3429 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3430 }
3431
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003432 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003433 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3434 {
3435 fStatus = FALSE;
3436 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3437 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003438
Jeff Johnson295189b2012-06-20 16:38:30 -07003439 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3440 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3441 {
3442 fStatus = FALSE;
3443 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3444 }
3445
Jeff Johnson295189b2012-06-20 16:38:30 -07003446 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3447 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3448 {
3449 fStatus = FALSE;
3450 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3451 }
3452
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003453 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003454 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3455 {
3456 fStatus = FALSE;
3457 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3458 }
3459
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003460 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003461 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3462 {
3463 fStatus = FALSE;
3464 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3465 }
3466
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003467#ifdef FEATURE_WLAN_LFR
3468 if (pConfig->isFastRoamIniFeatureEnabled)
3469 {
3470 pConfig->fEnableFwRssiMonitoring = TRUE;
3471 }
3472#endif
3473#ifdef FEATURE_WLAN_CCX
3474 if (pConfig->isCcxIniFeatureEnabled)
3475 {
3476 pConfig->fEnableFwRssiMonitoring = TRUE;
3477 }
3478#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003479 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003480 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3481 {
3482 fStatus = FALSE;
3483 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3484 }
3485
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003486 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003487 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3488 {
3489 fStatus = FALSE;
3490 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3491 }
3492
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003493 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003494 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3495 {
3496 fStatus = FALSE;
3497 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3498 }
3499
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003500 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003501 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3502 {
3503 fStatus = FALSE;
3504 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3505 }
3506
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003507 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003508 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3509 {
3510 fStatus = FALSE;
3511 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3512 }
3513
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003514 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003515 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3516 {
3517 fStatus = FALSE;
3518 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003519 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003520
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003521 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003522 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3523 {
3524 fStatus = FALSE;
3525 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3526 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003527
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303528 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3529 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3530 {
3531 fStatus = FALSE;
3532 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3533 }
3534
Jeff Johnson295189b2012-06-20 16:38:30 -07003535#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003536 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003537 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3538 {
3539 fStatus = FALSE;
3540 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3541 }
3542
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003543 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003544 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3545 {
3546 fStatus = FALSE;
3547 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3548 }
3549
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003550 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003551 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3552 {
3553 fStatus = FALSE;
3554 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3555 }
3556
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003557 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003558 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3559#endif
3560
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003561 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07003562 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3563 {
3564 fStatus = FALSE;
3565 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
3566 }
3567
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003568 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003569 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3570 {
3571 fStatus = FALSE;
3572 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
3573 }
3574
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003575 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003576 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3577 {
3578 fStatus = FALSE;
3579 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
3580 }
3581
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003582 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003583 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3584 {
3585 fStatus = FALSE;
3586 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
3587 }
3588
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003589 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003590 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3591 {
3592 fStatus = FALSE;
3593 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
3594 }
3595
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003596 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003597 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3598 {
3599 fStatus = FALSE;
3600 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
3601 }
3602
3603 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
3604 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3605 {
3606 fStatus = FALSE;
3607 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
3608 }
3609
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003610 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003611 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3612 {
3613 fStatus = FALSE;
3614 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
3615 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003616 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003617 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3618 {
3619 fStatus = FALSE;
3620 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
3621 }
3622
3623 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
3624 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3625 {
3626 fStatus = FALSE;
3627 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_NULLDATA_DELAY_TIMEOUT configuration info to CCM\n" );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003628 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003629
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003630 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07003631 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003632 {
3633 fStatus = FALSE;
3634 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3635 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003636 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003637 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3638 {
3639 fStatus = FALSE;
3640 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
3641 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003642 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003643 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3644 {
3645 fStatus = FALSE;
3646 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
3647 }
3648
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003649 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07003650 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3651 {
3652 fStatus = FALSE;
3653 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
3654 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003655 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07003656 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3657 {
3658 fStatus = FALSE;
3659 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
3660 }
3661
Jeff Johnson295189b2012-06-20 16:38:30 -07003662 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
3663 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3664 {
3665 fStatus = FALSE;
3666 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3667 }
3668
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003669 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07003670 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
3671 ==eHAL_STATUS_FAILURE)
3672 {
3673 fStatus = FALSE;
3674 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
3675 }
3676
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003677 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07003678 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
3679 ==eHAL_STATUS_FAILURE)
3680 {
3681 fStatus = FALSE;
3682 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
3683 }
3684
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003685 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003686 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3687 {
3688 fStatus = FALSE;
3689 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
3690 }
3691
Jeff Johnsond13512a2012-07-17 11:42:19 -07003692
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003693 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07003694 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3695 {
3696 fStatus = FALSE;
3697 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
3698 }
3699
Jeff Johnsone7245742012-09-05 17:12:55 -07003700#ifdef WLAN_FEATURE_11AC
3701 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
3702 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
3703 /* we update only the least significant 2 bits in the corresponding fields */
3704 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
3705 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
3706 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
3707 {
3708 {
3709 tANI_U32 temp = 0;
3710
3711 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003712 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003713
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003714 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07003715 temp, NULL, eANI_BOOLEAN_FALSE)
3716 ==eHAL_STATUS_FAILURE)
3717 {
3718 fStatus = FALSE;
3719 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
3720 }
3721
3722 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003723 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003724
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003725 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003726 temp, NULL, eANI_BOOLEAN_FALSE)
3727 ==eHAL_STATUS_FAILURE)
3728 {
3729 fStatus = FALSE;
3730 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
3731 }
3732
3733 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003734 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003735
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003736 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003737 temp, NULL, eANI_BOOLEAN_FALSE)
3738 ==eHAL_STATUS_FAILURE)
3739 {
3740 fStatus = FALSE;
3741 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
3742 }
3743 }
3744 }
3745#endif
3746
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003747 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07003748 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3749 {
3750 fStatus = FALSE;
3751 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
3752 }
3753
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003754 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303755 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3756 ==eHAL_STATUS_FAILURE)
3757 {
3758 fStatus = FALSE;
3759 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
3760 }
3761
3762 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
3763 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
3764
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003765 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303766 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
3767 ==eHAL_STATUS_FAILURE)
3768 {
3769 fStatus = FALSE;
3770 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
3771 }
3772
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003773 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303774 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3775 ==eHAL_STATUS_FAILURE)
3776 {
3777 fStatus = FALSE;
3778 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
3779 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003780
3781#ifdef WLAN_SOFTAP_VSTA_FEATURE
3782 if(pConfig->fEnableVSTASupport)
3783 {
3784 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
3785 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
3786 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
3787 }
3788 else
3789 {
3790 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
3791 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003792 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003793 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3794 {
3795 fStatus = FALSE;
3796 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
3797 }
3798#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003799 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08003800 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
3801 ==eHAL_STATUS_FAILURE)
3802 {
3803 fStatus = FALSE;
3804 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
3805 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303806
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08003807 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
3808 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3809 {
3810 fStatus = FALSE;
3811 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
3812 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08003813 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
3814 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3815 {
3816 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003817 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 -08003818 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003819
3820 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
3821 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3822 {
3823 fStatus = FALSE;
3824 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
3825 }
3826
3827 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
3828 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3829 {
3830 fStatus = FALSE;
3831 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
3832 }
3833
3834 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
3835 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3836 {
3837 fStatus = FALSE;
3838 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
3839 }
3840
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05303841 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
3842 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3843 {
3844 fStatus = FALSE;
3845 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
3846 }
3847
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303848#ifdef FEATURE_WLAN_TDLS
3849
3850 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK, pConfig->fTDLSUapsdMask,
3851 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3852 {
3853 fStatus = FALSE;
3854 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM\n");
3855 }
3856 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED, pConfig->fEnableTDLSBufferSta,
3857 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3858 {
3859 fStatus = FALSE;
3860 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM\n");
3861 }
3862 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME, pConfig->fTDLSPuapsdInactivityTimer,
3863 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3864 {
3865 fStatus = FALSE;
3866 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM\n");
3867 }
3868 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD, pConfig->fTDLSRxFrameThreshold,
3869 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3870 {
3871 fStatus = FALSE;
3872 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM\n");
3873 }
3874#endif
3875
Jeff Johnson295189b2012-06-20 16:38:30 -07003876 return fStatus;
3877}
3878
3879
3880/**---------------------------------------------------------------------------
3881
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003882 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07003883
3884 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003885
Jeff Johnson295189b2012-06-20 16:38:30 -07003886 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003887
Jeff Johnson295189b2012-06-20 16:38:30 -07003888 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003889
Jeff Johnson295189b2012-06-20 16:38:30 -07003890 --------------------------------------------------------------------------*/
3891
3892VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
3893{
3894 VOS_STATUS status = VOS_STATUS_SUCCESS;
3895 eHalStatus halStatus;
3896 tSmeConfigParams smeConfig;
3897
3898 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3899
3900 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
3901
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003902 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003903 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
3904 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
3905
3906 // Config params obtained from the registry
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -07003907 if (is_crda_regulatory_entry_valid() == VOS_TRUE)
3908 sme_setRegInfo(pHddCtx->hHal, pConfig->crdaDefaultCountryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003909 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
3910 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
3911 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
3912 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
3913 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
3914
3915 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
3916
3917 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
3918 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
3919 smeConfig.csrConfig.TxRate = pConfig->TxRate;
3920 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
3921 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
3922 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
3923 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
3924 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
3925 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
3926 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
3927 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
3928 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
3929 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
3930 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
3931 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
3932 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
3933 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003934 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07003935 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
3936 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
3937 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
3938 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003939 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
3940 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07003941 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003942#ifdef WLAN_AP_STA_CONCURRENCY
3943 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
3944 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
3945 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
3946 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
3947 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07003948 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
3949 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
3950
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003951#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003952 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
3953 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
3954
3955#if defined WLAN_FEATURE_VOWIFI
3956 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
3957 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
3958#endif
3959 //Remaining config params not obtained from registry
3960 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07003961#ifdef WLAN_FEATURE_11AC
3962 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08003963 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08003964 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07003965 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07003966#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07003967 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
3968 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003969 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
3970 smeConfig.csrConfig.HeartbeatThresh50 = 40;
3971 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08003972 if (pConfig->nBandCapability == eCSR_BAND_24)
3973 {
3974 smeConfig.csrConfig.Is11hSupportEnabled = 0;
3975 } else {
3976 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
3977 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003978 smeConfig.csrConfig.cbChoice = 0;
3979 smeConfig.csrConfig.bgScanInterval = 0;
3980 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07003981 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
3982 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
3983 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003984#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
3985 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003986 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07003987 smeConfig.csrConfig.nProbes = pConfig->nProbes;
3988 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003989#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07003990 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
3991
Jeff Johnson295189b2012-06-20 16:38:30 -07003992 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08003993 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
3994 {
3995 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07003996
Jeff Johnson7dda7772013-02-27 08:36:13 -08003997 /* if there is a requirement that HDD will control the default
3998 * channel list & country code (say from .ini file) we need to
3999 * add some logic here. Otherwise the default 11d info should
4000 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004001 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004002 else
4003 {
4004 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4005 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004006
Jeff Johnson7dda7772013-02-27 08:36:13 -08004007 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4008 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4009 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4010 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004011 hdd_set_power_save_config(pHddCtx, &smeConfig);
4012 hdd_set_btc_config(pHddCtx);
4013
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004014#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004015 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4016#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004017#ifdef FEATURE_WLAN_LFR
4018 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004019 if( pConfig->isFastRoamIniFeatureEnabled )
4020 {
4021 pConfig->isFastTransitionEnabled = TRUE;
4022 }
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004023#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004024#ifdef FEATURE_WLAN_CCX
4025 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004026 if( pConfig->isCcxIniFeatureEnabled )
4027 {
4028 pConfig->isFastTransitionEnabled = TRUE;
4029 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004030#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004031#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004032 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07004033 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004034 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowda100eb322013-03-15 16:48:20 -07004035 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07004036#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004037#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4038 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004039 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4040
4041 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4042 {
4043 /* Disable roaming in concurrency if roam scan offload is disabled */
4044 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4045 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004046#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004047#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4048 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4049 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004050 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4051 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004052 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004053 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004054 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004055 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004056 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4057 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4058 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004059 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4060#endif
4061
4062 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4063 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4064
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004065 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004066 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004067 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004068
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004069 //Scan Results Aging Time out value
4070 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4071
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004072 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4073
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004074 /* update SSR config */
4075 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304076 /* Update the Directed scan offload setting */
4077 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004078
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004079 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004080 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4081 {
4082 status = VOS_STATUS_E_FAILURE;
4083 }
4084
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004085
4086 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004087}
4088
4089
4090/**---------------------------------------------------------------------------
4091
4092 \brief hdd_execute_config_command() -
4093
4094 This function executes an arbitrary configuration set command
4095
4096 \param - pHddCtx - Pointer to the HDD Adapter.
4097 \parmm - command - a configuration command of the form:
4098 <name>=<value>
4099
4100 \return - 0 for success, non zero for failure
4101
4102 --------------------------------------------------------------------------*/
4103
4104VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4105{
4106 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4107 REG_TABLE_ENTRY *pRegEntry;
4108 char *clone;
4109 char *pCmd;
4110 void *pField;
4111 char *name;
4112 char *value_str;
4113 v_U32_t value;
4114 v_S31_t svalue;
4115 size_t len_value_str;
4116 unsigned int idx;
4117 unsigned int i;
4118 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004119 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004120
4121 // assume failure until proven otherwise
4122 vstatus = VOS_STATUS_E_FAILURE;
4123
4124 // clone the command so that we can manipulate it
4125 clone = kstrdup(command, GFP_ATOMIC);
4126 if (NULL == clone)
4127 {
4128 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004129 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004130 return vstatus;
4131 }
4132
4133 // 'clone' will point to the beginning of the string so it can be freed
4134 // 'pCmd' will be used to walk/parse the command
4135 pCmd = clone;
4136
4137 // get rid of leading/trailing whitespace
4138 pCmd = i_trim(pCmd);
4139 if ('\0' == *pCmd)
4140 {
4141 // only whitespace
4142 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004143 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004144 goto done;
4145 }
4146
4147 // parse the <name> = <value>
4148 name = pCmd;
4149 while (('=' != *pCmd) && ('\0' != *pCmd))
4150 {
4151 pCmd++;
4152 }
4153 if ('\0' == *pCmd)
4154 {
4155 // did not find '='
4156 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004157 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004158 goto done;
4159 }
4160
4161 // replace '=' with NUL to terminate the <name>
4162 *pCmd++ = '\0';
4163 name = i_trim(name);
4164 if ('\0' == *name)
4165 {
4166 // did not find a name
4167 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004168 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004169 goto done;
4170 }
4171
4172 value_str = i_trim(pCmd);
4173 if ('\0' == *value_str)
4174 {
4175 // did not find a value
4176 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004177 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004178 goto done;
4179 }
4180
4181 // lookup the configuration item
4182 for (idx = 0; idx < tableSize; idx++)
4183 {
4184 if (0 == strcmp(name, g_registry_table[idx].RegName))
4185 {
4186 // found a match
4187 break;
4188 }
4189 }
4190 if (tableSize == idx)
4191 {
4192 // did not match the name
4193 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004194 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004195 goto done;
4196 }
4197
4198 pRegEntry = &g_registry_table[idx];
4199 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4200 {
4201 // does not support dynamic configuration
4202 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004203 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004204 goto done;
4205 }
4206
4207 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4208
4209 switch (pRegEntry->RegType)
4210 {
4211 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004212 rv = kstrtoul(value_str, 10, &value);
4213 if (rv < 0)
4214 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004215 if (value < pRegEntry->VarMin)
4216 {
4217 // out of range
4218 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004219 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004220 goto done;
4221 }
4222 if (value > pRegEntry->VarMax)
4223 {
4224 // out of range
4225 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004226 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004227 goto done;
4228 }
4229 memcpy(pField, &value, pRegEntry->VarSize);
4230 break;
4231
4232 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004233 rv = kstrtoul(value_str, 16, &value);
4234 if (rv < 0)
4235 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004236 if (value < pRegEntry->VarMin)
4237 {
4238 // out of range
4239 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004240 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004241 goto done;
4242 }
4243 if (value > pRegEntry->VarMax)
4244 {
4245 // out of range
4246 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004247 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004248 goto done;
4249 }
4250 memcpy(pField, &value, pRegEntry->VarSize);
4251 break;
4252
4253 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004254 rv = kstrtol(value_str, 10, &svalue);
4255 if (rv < 0)
4256 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004257 if (svalue < (v_S31_t)pRegEntry->VarMin)
4258 {
4259 // out of range
4260 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004261 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004262 goto done;
4263 }
4264 if (svalue > (v_S31_t)pRegEntry->VarMax)
4265 {
4266 // out of range
4267 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004268 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004269 goto done;
4270 }
4271 memcpy(pField, &svalue, pRegEntry->VarSize);
4272 break;
4273
4274 case WLAN_PARAM_String:
4275 len_value_str = strlen(value_str);
4276 if (len_value_str > (pRegEntry->VarSize - 1))
4277 {
4278 // too big
4279 hddLog(LOGE,
4280 "%s: invalid command, string [%s] length "
4281 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004282 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004283 len_value_str, (pRegEntry->VarSize - 1));
4284 goto done;
4285 }
4286 // copy string plus NUL
4287 memcpy(pField, value_str, (len_value_str + 1));
4288 break;
4289
4290 case WLAN_PARAM_MacAddr:
4291 len_value_str = strlen(value_str);
4292 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4293 {
4294 // out of range
4295 hddLog(LOGE,
4296 "%s: invalid command, MAC address [%s] length "
4297 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004298 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004299 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4300 goto done;
4301 }
4302 //parse the string and store it in the byte array
4303 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4304 {
4305 ((char*)pField)[i] = (char)
4306 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4307 parseHexDigit(value_str[(i * 2) + 1]));
4308 }
4309 break;
4310
4311 default:
4312 goto done;
4313 }
4314
4315 // if we get here, we had a successful modification
4316 vstatus = VOS_STATUS_SUCCESS;
4317
4318 // config table has been modified, is there a notifier?
4319 if (NULL != pRegEntry->pfnDynamicNotify)
4320 {
4321 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4322 }
4323
4324 // note that this item was explicitly configured
4325 if (idx < MAX_CFG_INI_ITEMS)
4326 {
4327 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4328 }
4329 done:
4330 kfree(clone);
4331 return vstatus;
4332}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004333
4334/**---------------------------------------------------------------------------
4335
4336 \brief hdd_is_okc_mode_enabled() -
4337
4338 This function returns whether OKC mode is enabled or not
4339
4340 \param - pHddCtx - Pointer to the HDD Adapter.
4341
4342 \return - 1 for enabled, zero for disabled
4343
4344 --------------------------------------------------------------------------*/
4345
4346tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4347{
4348 if (NULL == pHddCtx)
4349 {
4350 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4351 return -EINVAL;
4352 }
4353
4354#ifdef FEATURE_WLAN_OKC
4355 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4356#else
4357 return eANI_BOOLEAN_FALSE;
4358#endif
4359}