blob: 2f32b200df40cc31c5968d942487b1c0d301c85c [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
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700105static void cbNotifySetRoamScanNProbes(hdd_context_t *pHddCtx, unsigned long NotifyId)
106{
107 sme_UpdateRoamScanNProbes((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nProbes);
108}
109
110static void cbNotifySetRoamScanHomeAwayTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
111{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700112 tANI_U16 scanChannelMaxTime = 0;
113
114 /* Home Away Time should be atleast equal to (MaxDwell time + (2*RFS)),
115 * where RFS is the RF Switching time. It is twice RFS to consider the
116 * time to go off channel and return to the home channel. */
117
118 scanChannelMaxTime = sme_getNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal));
119 if (pHddCtx->cfg_ini->nRoamScanHomeAwayTime < (scanChannelMaxTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
120 {
121 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
122 "%s: Invalid config, Home away time(%d) is less than (twice RF switching time + channel max time)(%d)",
123 " Hence enforcing home away time to disable (0)",
124 __func__, pHddCtx->cfg_ini->nRoamScanHomeAwayTime, (scanChannelMaxTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
125 pHddCtx->cfg_ini->nRoamScanHomeAwayTime = 0;
126 }
127
128 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime, eANI_BOOLEAN_TRUE);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700129}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700130#endif
131
132#ifdef FEATURE_WLAN_OKC
133static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
134{
135 // at the point this routine is called, the value in the cfg_ini table has already been updated
136}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800137#endif
138
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800139#ifdef FEATURE_WLAN_LFR
140static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
141{
142 // at the point this routine is called, the value in the cfg_ini table has already been updated
143 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
144}
145#endif
146
147#ifdef FEATURE_WLAN_CCX
148static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
149{
150 // at the point this routine is called, the value in the cfg_ini table has already been updated
151 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
152}
153#endif
154
155static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
156{
157 // at the point this routine is called, the value in the cfg_ini table has already been updated
158 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
159}
160
Srinivas Girigowdade697412013-02-14 16:31:48 -0800161#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
162static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
163{
164 // at the point this routine is called, the value in the cfg_ini table has already been updated
165 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
166}
167
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700168static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
169{
170 // at the point this routine is called, the value in the cfg_ini table has already been updated
171 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
172}
173
Srinivas Girigowdade697412013-02-14 16:31:48 -0800174static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
175{
176 // at the point this routine is called, the value in the cfg_ini table has already been updated
177 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
178}
179
180static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
181{
182 // at the point this routine is called, the value in the cfg_ini table has already been updated
183 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
184}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700185
186static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
187{
188 // at the point this routine is called, the value in the cfg_ini table has already been updated
189 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
190}
191
192static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
193{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700194 tANI_U16 homeAwayTime = 0;
195
196 /* Home Away Time should be atleast equal to (MaxDwell time + (2*RFS)),
197 * where RFS is the RF Switching time. It is twice RFS to consider the
198 * time to go off channel and return to the home channel. */
199 homeAwayTime = sme_getRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal));
200 if (homeAwayTime < (pHddCtx->cfg_ini->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
201 {
202 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
203 "%s: Invalid config, Home away time(%d) is less than (twice RF switching time + channel max time)(%d)",
204 " Hence enforcing home away time to disable (0)",
205 __func__, homeAwayTime, (pHddCtx->cfg_ini->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
206 homeAwayTime = 0;
207 pHddCtx->cfg_ini->nRoamScanHomeAwayTime = homeAwayTime;
208 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), homeAwayTime, eANI_BOOLEAN_FALSE);
209 }
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700210 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
211}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800212#endif
213
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700214static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
215{
216 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
217}
218
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700219#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
220static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
221{
222 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700223 if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled)
224 {
225 pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0;
226 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
227 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700228}
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700229
230static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsigned long NotifyId)
231{
232 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
233}
234
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700235#endif
236
Jeff Johnson295189b2012-06-20 16:38:30 -0700237REG_TABLE_ENTRY g_registry_table[] =
238{
239 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800240 hdd_config_t, RTSThreshold,
241 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
242 CFG_RTS_THRESHOLD_DEFAULT,
243 CFG_RTS_THRESHOLD_MIN,
244 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700245
246 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800247 hdd_config_t, FragmentationThreshold,
248 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
249 CFG_FRAG_THRESHOLD_DEFAULT,
250 CFG_FRAG_THRESHOLD_MIN,
251 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700252
253 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800254 hdd_config_t, Calibration,
255 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
256 CFG_CALIBRATION_DEFAULT,
257 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700258 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800259
Jeff Johnson295189b2012-06-20 16:38:30 -0700260 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800261 hdd_config_t, CalibrationPeriod,
262 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
263 CFG_CALIBRATION_PERIOD_DEFAULT,
264 CFG_CALIBRATION_PERIOD_MIN,
265 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700266
267 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
268 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800269 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
270 CFG_OPERATING_CHANNEL_DEFAULT,
271 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700272 CFG_OPERATING_CHANNEL_MAX ),
273
274 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800275 hdd_config_t, ShortSlotTimeEnabled,
276 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
277 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
278 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700279 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
280
281 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800282 hdd_config_t, Is11dSupportEnabled,
283 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
284 CFG_11D_SUPPORT_ENABLED_DEFAULT,
285 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700286 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800287
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800288 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800289 hdd_config_t, Is11hSupportEnabled,
290 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
291 CFG_11H_SUPPORT_ENABLED_DEFAULT,
292 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800293 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700294
295 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800296 hdd_config_t, fEnforce11dChannels,
297 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
298 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
299 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700300 CFG_ENFORCE_11D_CHANNELS_MAX ),
301
302 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800303 hdd_config_t, fSupplicantCountryCodeHasPriority,
304 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
305 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
306 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700307 CFG_COUNTRY_CODE_PRIORITY_MAX),
308
309 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800310 hdd_config_t, fEnforceCountryCodeMatch,
311 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
312 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
313 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700314 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
315
316 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800317 hdd_config_t, fEnforceDefaultDomain,
318 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
319 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
320 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700321 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800322
Jeff Johnson295189b2012-06-20 16:38:30 -0700323 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
324 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800325 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
326 CFG_GENERIC_ID1_DEFAULT,
327 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700328 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800329
Jeff Johnson295189b2012-06-20 16:38:30 -0700330 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
331 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800332 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
333 CFG_GENERIC_ID2_DEFAULT,
334 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700335 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800336
Jeff Johnson295189b2012-06-20 16:38:30 -0700337 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
338 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800339 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
340 CFG_GENERIC_ID3_DEFAULT,
341 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700342 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800343
Jeff Johnson295189b2012-06-20 16:38:30 -0700344 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
345 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800346 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
347 CFG_GENERIC_ID4_DEFAULT,
348 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700349 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800350
Jeff Johnson295189b2012-06-20 16:38:30 -0700351 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
352 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800353 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
354 CFG_GENERIC_ID5_DEFAULT,
355 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700356 CFG_GENERIC_ID5_MAX ),
357
358 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
359 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800360 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
361 CFG_GENERIC_VALUE1_DEFAULT,
362 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700363 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800364
Jeff Johnson295189b2012-06-20 16:38:30 -0700365 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
366 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800367 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
368 CFG_GENERIC_VALUE2_DEFAULT,
369 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700370 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800371
Jeff Johnson295189b2012-06-20 16:38:30 -0700372 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
373 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800374 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
375 CFG_GENERIC_VALUE3_DEFAULT,
376 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700377 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800378
Jeff Johnson295189b2012-06-20 16:38:30 -0700379 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
380 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800381 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
382 CFG_GENERIC_VALUE4_DEFAULT,
383 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700384 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800385
Jeff Johnson295189b2012-06-20 16:38:30 -0700386 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
387 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800388 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
389 CFG_GENERIC_VALUE5_DEFAULT,
390 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700391 CFG_GENERIC_VALUE5_MAX ),
392
393 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800394 hdd_config_t, HeartbeatThresh24,
395 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
396 CFG_HEARTBEAT_THRESH_24_DEFAULT,
397 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700398 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800399
Jeff Johnson295189b2012-06-20 16:38:30 -0700400 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800401 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700402 VAR_FLAGS_OPTIONAL,
403 (void *)CFG_POWER_USAGE_DEFAULT ),
404
405 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800406 hdd_config_t, nEnableSuspend,
407 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
408 CFG_ENABLE_SUSPEND_DEFAULT,
409 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700410 CFG_ENABLE_SUSPEND_MAX ),
411
412 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800413 hdd_config_t, nEnableDriverStop,
414 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
415 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
416 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700417 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
418
419 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800420 hdd_config_t, fIsImpsEnabled,
421 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
422 CFG_ENABLE_IMPS_DEFAULT,
423 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700424 CFG_ENABLE_IMPS_MAX ),
425
426 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800427 hdd_config_t, fIsLogpEnabled,
428 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
429 CFG_ENABLE_LOGP_DEFAULT,
430 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700431 CFG_ENABLE_LOGP_MAX ),
432
433 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800434 hdd_config_t, nImpsMinSleepTime,
435 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
436 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
437 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700438 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
439
440 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800441 hdd_config_t, nImpsMaxSleepTime,
442 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
443 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
444 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700445 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
446
447 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
448 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800449 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
450 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
451 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700452 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
453
454 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800455 hdd_config_t, fIsBmpsEnabled,
456 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
457 CFG_ENABLE_BMPS_DEFAULT,
458 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700459 CFG_ENABLE_BMPS_MAX ),
460
461 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800462 hdd_config_t, nBmpsMinListenInterval,
463 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
464 CFG_BMPS_MINIMUM_LI_DEFAULT,
465 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700466 CFG_BMPS_MINIMUM_LI_MAX ),
467
468 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800469 hdd_config_t, nBmpsMaxListenInterval,
470 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
471 CFG_BMPS_MAXIMUM_LI_DEFAULT,
472 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700473 CFG_BMPS_MAXIMUM_LI_MAX ),
474
475 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
476 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800477 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
478 CFG_BMPS_MODERATE_LI_DEFAULT,
479 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700480 CFG_BMPS_MODERATE_LI_MAX ),
481
482 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800483 hdd_config_t, fIsAutoBmpsTimerEnabled,
484 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
485 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
486 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700487 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
488
489 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800490 hdd_config_t, nAutoBmpsTimerValue,
491 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
492 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
493 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700494 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
495
496 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800497 hdd_config_t, dot11Mode,
498 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
499 CFG_DOT11_MODE_DEFAULT,
500 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700501 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800502
Jeff Johnson295189b2012-06-20 16:38:30 -0700503 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800504 hdd_config_t, nChannelBondingMode24GHz,
505 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
506 CFG_CHANNEL_BONDING_MODE_DEFAULT,
507 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700508 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800509
Jeff Johnson295189b2012-06-20 16:38:30 -0700510 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800511 hdd_config_t, nChannelBondingMode5GHz,
512 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
513 CFG_CHANNEL_BONDING_MODE_DEFAULT,
514 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700515 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800516
517 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
518 hdd_config_t, MaxRxAmpduFactor,
519 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
520 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
521 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700522 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800523
Jeff Johnson295189b2012-06-20 16:38:30 -0700524 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800525 hdd_config_t, TxRate,
526 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
527 CFG_FIXED_RATE_DEFAULT,
528 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700529 CFG_FIXED_RATE_MAX ),
530
531 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800532 hdd_config_t, ShortGI20MhzEnable,
533 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
534 CFG_SHORT_GI_20MHZ_DEFAULT,
535 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700536 CFG_SHORT_GI_20MHZ_MAX ),
537
538 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800539 hdd_config_t, BlockAckAutoSetup,
540 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
541 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
542 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700543 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800544
Jeff Johnson295189b2012-06-20 16:38:30 -0700545 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800546 hdd_config_t, ScanResultAgeCount,
547 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
548 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
549 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700550 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
551
552 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800553 hdd_config_t, nScanAgeTimeNCNPS,
554 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
555 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
556 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700557 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
558
559 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800560 hdd_config_t, nScanAgeTimeNCPS,
561 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
562 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
563 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700564 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
565
566 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800567 hdd_config_t, nScanAgeTimeCNPS,
568 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
569 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
570 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700571 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
572
573 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800574 hdd_config_t, nScanAgeTimeCPS,
575 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
576 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
577 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700578 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
579
580 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800581 hdd_config_t, nRssiCatGap,
582 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
583 CFG_RSSI_CATEGORY_GAP_DEFAULT,
584 CFG_RSSI_CATEGORY_GAP_MIN,
585 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700586
Jeff Johnson295189b2012-06-20 16:38:30 -0700587 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800588 hdd_config_t, fIsShortPreamble,
589 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
590 CFG_SHORT_PREAMBLE_DEFAULT,
591 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700592 CFG_SHORT_PREAMBLE_MAX ),
593
594 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800595 hdd_config_t, fIsAutoIbssBssid,
596 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
597 CFG_IBSS_AUTO_BSSID_DEFAULT,
598 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700599 CFG_IBSS_AUTO_BSSID_MAX ),
600
601 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800602 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700603 VAR_FLAGS_OPTIONAL,
604 (void *)CFG_IBSS_BSSID_DEFAULT ),
605
606 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800607 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700608 VAR_FLAGS_OPTIONAL,
609 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
610
611 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800612 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700613 VAR_FLAGS_OPTIONAL,
614 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
615
616 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800617 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700618 VAR_FLAGS_OPTIONAL,
619 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
620
621 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800622 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700623 VAR_FLAGS_OPTIONAL,
624 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
625
Jeff Johnson295189b2012-06-20 16:38:30 -0700626 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800627 hdd_config_t, apUapsdEnabled,
628 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
629 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
630 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700631 CFG_AP_QOS_UAPSD_MODE_MAX ),
632
633 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800634 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700635 VAR_FLAGS_OPTIONAL,
636 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
637
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700638 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
639 hdd_config_t, apRandomBssidEnabled,
640 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
641 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
642 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
643 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
644
Jeff Johnson295189b2012-06-20 16:38:30 -0700645 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800646 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700647 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
648 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
649 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
650 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
651
652 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
653 hdd_config_t, apProtection,
654 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
655 CFG_AP_PROTECTION_MODE_DEFAULT,
656 CFG_AP_PROTECTION_MODE_MIN,
657 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800658
Jeff Johnson295189b2012-06-20 16:38:30 -0700659 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800660 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700661 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
662 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
663 CFG_AP_OBSS_PROTECTION_MODE_MIN,
664 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800665
Jeff Johnson295189b2012-06-20 16:38:30 -0700666 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800667 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700668 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
669 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
670 CFG_AP_STA_SECURITY_SEPERATION_MIN,
671 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
672
673 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800674 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700675 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
676 CFG_FRAMES_PROCESSING_TH_DEFAULT,
677 CFG_FRAMES_PROCESSING_TH_MIN,
678 CFG_FRAMES_PROCESSING_TH_MAX ),
679
680 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
681 hdd_config_t, apStartChannelNum,
682 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
683 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
684 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
685 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
686
687 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
688 hdd_config_t, apEndChannelNum,
689 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
690 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
691 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
692 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
693
694 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
695 hdd_config_t, apOperatingBand,
696 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
697 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
698 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
699 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
700
701 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
702 hdd_config_t, apAutoChannelSelection,
703 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
704 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
705 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
706 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800707
Jeff Johnson295189b2012-06-20 16:38:30 -0700708 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
709 hdd_config_t, enableLTECoex,
710 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
711 CFG_ENABLE_LTE_COEX_DEFAULT,
712 CFG_ENABLE_LTE_COEX_MIN,
713 CFG_ENABLE_LTE_COEX_MAX ),
714
715 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
716 hdd_config_t, apKeepAlivePeriod,
717 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
718 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
719 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
720 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
721
722 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
723 hdd_config_t, goKeepAlivePeriod,
724 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
725 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
726 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
727 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
728
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530729 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
730 hdd_config_t, apLinkMonitorPeriod,
731 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
732 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
733 CFG_AP_LINK_MONITOR_PERIOD_MIN,
734 CFG_AP_LINK_MONITOR_PERIOD_MAX),
735
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +0530736 REG_VARIABLE( CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
737 hdd_config_t, goLinkMonitorPeriod,
738 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
739 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
740 CFG_GO_LINK_MONITOR_PERIOD_MIN,
741 CFG_GO_LINK_MONITOR_PERIOD_MAX),
742
Jeff Johnson295189b2012-06-20 16:38:30 -0700743 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
744 hdd_config_t, disablePacketFilter,
745 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
746 CFG_DISABLE_PACKET_FILTER_DEFAULT,
747 CFG_DISABLE_PACKET_FILTER_MIN,
748 CFG_DISABLE_PACKET_FILTER_MAX ),
749
750 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800751 hdd_config_t, nBeaconInterval,
752 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
753 CFG_BEACON_INTERVAL_DEFAULT,
754 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700755 CFG_BEACON_INTERVAL_MAX ),
756
Jeff Johnson295189b2012-06-20 16:38:30 -0700757 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800758 hdd_config_t, nEnableIdleScan,
759 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
760 CFG_ENABLE_IDLE_SCAN_DEFAULT,
761 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700762 CFG_ENABLE_IDLE_SCAN_MAX ),
763
764 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800765 hdd_config_t, nRoamingTime,
766 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
767 CFG_ROAMING_TIME_DEFAULT,
768 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700769 CFG_ROAMING_TIME_MAX ),
770
771 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800772 hdd_config_t, nVccRssiTrigger,
773 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
774 CFG_VCC_RSSI_TRIGGER_DEFAULT,
775 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700776 CFG_VCC_RSSI_TRIGGER_MAX ),
777
778 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800779 hdd_config_t, nVccUlMacLossThreshold,
780 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
781 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
782 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700783 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
784
785 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800786 hdd_config_t, nPassiveMaxChnTime,
787 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
788 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
789 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700790 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
791
792 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800793 hdd_config_t, nPassiveMinChnTime,
794 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
795 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
796 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700797 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
798
799 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800800 hdd_config_t, nActiveMaxChnTime,
801 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
802 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
803 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700804 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
805
806 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800807 hdd_config_t, nActiveMinChnTime,
808 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
809 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
810 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700811 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700812
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800813 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
814 hdd_config_t, nActiveMaxChnTimeBtc,
815 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
816 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
817 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
818 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
819
820 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
821 hdd_config_t, nActiveMinChnTimeBtc,
822 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
823 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
824 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
825 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
826
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700827 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
828 hdd_config_t, retryLimitZero,
829 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
830 CFG_RETRY_LIMIT_ZERO_DEFAULT,
831 CFG_RETRY_LIMIT_ZERO_MIN,
832 CFG_RETRY_LIMIT_ZERO_MAX ),
833
834 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
835 hdd_config_t, retryLimitOne,
836 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
837 CFG_RETRY_LIMIT_ONE_DEFAULT,
838 CFG_RETRY_LIMIT_ONE_MIN,
839 CFG_RETRY_LIMIT_ONE_MAX ),
840
841 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
842 hdd_config_t, retryLimitTwo,
843 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
844 CFG_RETRY_LIMIT_TWO_DEFAULT,
845 CFG_RETRY_LIMIT_TWO_MIN,
846 CFG_RETRY_LIMIT_TWO_MAX ),
847
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700848 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
849 hdd_config_t, disableAggWithBtc,
850 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
851 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
852 CFG_DISABLE_AGG_WITH_BTC_MIN,
853 CFG_DISABLE_AGG_WITH_BTC_MAX ),
854
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700855#ifdef WLAN_AP_STA_CONCURRENCY
856 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800857 hdd_config_t, nPassiveMaxChnTimeConc,
858 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
859 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
860 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700861 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
862
863 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800864 hdd_config_t, nPassiveMinChnTimeConc,
865 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
866 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
867 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700868 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
869
870 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800871 hdd_config_t, nActiveMaxChnTimeConc,
872 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
873 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
874 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700875 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
876
877 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800878 hdd_config_t, nActiveMinChnTimeConc,
879 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
880 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
881 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700882 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
883
884 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800885 hdd_config_t, nRestTimeConc,
886 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
887 CFG_REST_TIME_CONC_DEFAULT,
888 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700889 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800890
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700891 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
892 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800893 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700894 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
895 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
896 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
897
898 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
899 hdd_config_t, nNumP2PChanCombinedConc,
900 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
901 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
902 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
903 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700904#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800905
Jeff Johnson295189b2012-06-20 16:38:30 -0700906 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800907 hdd_config_t, nMaxPsPoll,
908 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
909 CFG_MAX_PS_POLL_DEFAULT,
910 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700911 CFG_MAX_PS_POLL_MAX ),
912
913 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800914 hdd_config_t, nTxPowerCap,
915 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
916 CFG_MAX_TX_POWER_DEFAULT,
917 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700918 CFG_MAX_TX_POWER_MAX ),
919
920 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
921 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800922 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
923 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
924 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700925 CFG_LOW_GAIN_OVERRIDE_MAX ),
926
927 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
928 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800929 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
930 CFG_RSSI_FILTER_PERIOD_DEFAULT,
931 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700932 CFG_RSSI_FILTER_PERIOD_MAX ),
933
934 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
935 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800936 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
937 CFG_IGNORE_DTIM_DEFAULT,
938 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700939 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800940
Yue Mac24062f2013-05-13 17:01:29 -0700941 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
942 hdd_config_t, fMaxLIModulatedDTIM,
943 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
944 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
945 CFG_MAX_LI_MODULATED_DTIM_MIN,
946 CFG_MAX_LI_MODULATED_DTIM_MAX ),
947
Jeff Johnson295189b2012-06-20 16:38:30 -0700948 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800949 hdd_config_t, nRxAnt,
950 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
951 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
952 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700953 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
954
955 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800956 hdd_config_t, fEnableFwHeartBeatMonitoring,
957 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
958 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
959 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700960 CFG_FW_HEART_BEAT_MONITORING_MAX ),
961
962 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800963 hdd_config_t, fEnableFwBeaconFiltering,
964 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
965 CFG_FW_BEACON_FILTERING_DEFAULT,
966 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700967 CFG_FW_BEACON_FILTERING_MAX ),
968
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800969 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800970 hdd_config_t, fEnableFwRssiMonitoring,
971 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
972 CFG_FW_RSSI_MONITORING_DEFAULT,
973 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800974 CFG_FW_RSSI_MONITORING_MAX,
975 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700976
977 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800978 hdd_config_t, nDataInactivityTimeout,
979 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
980 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
981 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700982 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800983
Jeff Johnson295189b2012-06-20 16:38:30 -0700984 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800985 hdd_config_t, nthBeaconFilter,
986 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
987 CFG_NTH_BEACON_FILTER_DEFAULT,
988 CFG_NTH_BEACON_FILTER_MIN,
989 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700990
991 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800992 hdd_config_t, WmmMode,
993 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
994 CFG_QOS_WMM_MODE_DEFAULT,
995 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700996 CFG_QOS_WMM_MODE_MAX ),
997
998 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800999 hdd_config_t, b80211eIsEnabled,
1000 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1001 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
1002 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001003 CFG_QOS_WMM_80211E_ENABLED_MAX ),
1004
1005 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001006 hdd_config_t, UapsdMask,
1007 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1008 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
1009 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001010 CFG_QOS_WMM_UAPSD_MASK_MAX ),
1011
Jeff Johnson295189b2012-06-20 16:38:30 -07001012 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001013 hdd_config_t, InfraUapsdVoSrvIntv,
1014 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1015 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
1016 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001017 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
1018
1019 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001020 hdd_config_t, InfraUapsdVoSuspIntv,
1021 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1022 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1023 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001024 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1025
1026 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001027 hdd_config_t, InfraUapsdViSrvIntv,
1028 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1029 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1030 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001031 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1032
1033 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001034 hdd_config_t, InfraUapsdViSuspIntv,
1035 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1036 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1037 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001038 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1039
1040 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001041 hdd_config_t, InfraUapsdBeSrvIntv,
1042 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1043 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1044 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001045 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1046
1047 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001048 hdd_config_t, InfraUapsdBeSuspIntv,
1049 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1050 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1051 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001052 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1053
1054 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001055 hdd_config_t, InfraUapsdBkSrvIntv,
1056 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1057 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1058 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001059 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1060
1061 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001062 hdd_config_t, InfraUapsdBkSuspIntv,
1063 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1064 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1065 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001066 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1067
1068#ifdef FEATURE_WLAN_CCX
1069 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001070 hdd_config_t, InfraInactivityInterval,
1071 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1072 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1073 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001074 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001075 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001076 hdd_config_t, isCcxIniFeatureEnabled,
1077 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1078 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1079 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001080 CFG_CCX_FEATURE_ENABLED_MAX,
1081 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001082#endif // FEATURE_WLAN_CCX
1083
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001084#ifdef FEATURE_WLAN_LFR
1085 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001086 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001087 hdd_config_t, isFastRoamIniFeatureEnabled,
1088 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1089 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1090 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001091 CFG_LFR_FEATURE_ENABLED_MAX,
1092 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001093#endif // FEATURE_WLAN_LFR
1094
1095#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001096 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001097 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001098 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001099 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1100 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1101 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001102 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1103 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001104
Srinivas Girigowdade697412013-02-14 16:31:48 -08001105 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001106 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001107 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1108 hdd_config_t, RoamRssiDiff,
1109 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1110 CFG_ROAM_RSSI_DIFF_DEFAULT,
1111 CFG_ROAM_RSSI_DIFF_MIN,
1112 CFG_ROAM_RSSI_DIFF_MAX,
1113 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001114
1115 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001116 hdd_config_t, nImmediateRoamRssiDiff,
1117 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1118 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1119 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001120 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1121 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001122
Jeff Johnson295189b2012-06-20 16:38:30 -07001123#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001124#ifdef FEATURE_WLAN_OKC
1125 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1126 hdd_config_t, isOkcIniFeatureEnabled,
1127 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1128 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1129 CFG_OKC_FEATURE_ENABLED_MIN,
1130 CFG_OKC_FEATURE_ENABLED_MAX,
1131 cbNotifySetOkcFeatureEnabled, 0 ),
1132#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001133#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1134 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1135 hdd_config_t, isRoamOffloadScanEnabled,
1136 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1137 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1138 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1139 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1140 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1141#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001142 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001143 hdd_config_t, PktClassificationBasis,
1144 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1145 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1146 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001147 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1148
1149 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001150 hdd_config_t, InfraDirAcVo,
1151 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1152 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1153 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001154 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1155
1156 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001157 hdd_config_t, InfraNomMsduSizeAcVo,
1158 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1159 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1160 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001161 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1162
1163 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001164 hdd_config_t, InfraMeanDataRateAcVo,
1165 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1166 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1167 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001168 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1169
1170 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001171 hdd_config_t, InfraMinPhyRateAcVo,
1172 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1173 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1174 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001175 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1176
1177 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001178 hdd_config_t, InfraSbaAcVo,
1179 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1180 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1181 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001182 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1183
1184 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001185 hdd_config_t, InfraDirAcVi,
1186 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1187 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1188 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001189 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1190
1191 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001192 hdd_config_t, InfraNomMsduSizeAcVi,
1193 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1194 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1195 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001196 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1197
1198 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001199 hdd_config_t, InfraMeanDataRateAcVi,
1200 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1201 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1202 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001203 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1204
1205 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001206 hdd_config_t, InfraMinPhyRateAcVi,
1207 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1208 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1209 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001210 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1211
1212 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001213 hdd_config_t, InfraSbaAcVi,
1214 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1215 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1216 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001217 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1218
1219 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001220 hdd_config_t, InfraDirAcBe,
1221 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1222 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1223 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001224 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1225
1226 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001227 hdd_config_t, InfraNomMsduSizeAcBe,
1228 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1229 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1230 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001231 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1232
1233 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001234 hdd_config_t, InfraMeanDataRateAcBe,
1235 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1236 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1237 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001238 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1239
1240 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001241 hdd_config_t, InfraMinPhyRateAcBe,
1242 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1243 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1244 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001245 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1246
1247 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001248 hdd_config_t, InfraSbaAcBe,
1249 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1250 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1251 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001252 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1253
1254 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001255 hdd_config_t, InfraDirAcBk,
1256 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1257 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1258 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001259 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1260
1261 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001262 hdd_config_t, InfraNomMsduSizeAcBk,
1263 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1264 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1265 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001266 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1267
1268 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001269 hdd_config_t, InfraMeanDataRateAcBk,
1270 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1271 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1272 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001273 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1274
1275 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001276 hdd_config_t, InfraMinPhyRateAcBk,
1277 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1278 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1279 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001280 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1281
1282 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001283 hdd_config_t, InfraSbaAcBk,
1284 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1285 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1286 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001287 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1288
1289 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001290 hdd_config_t, WfqBkWeight,
1291 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1292 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1293 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001294 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1295
1296 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001297 hdd_config_t, WfqBeWeight,
1298 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1299 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1300 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001301 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1302
1303 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001304 hdd_config_t, WfqViWeight,
1305 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1306 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1307 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001308 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1309
1310 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001311 hdd_config_t, WfqVoWeight,
1312 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1313 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1314 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001315 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1316
1317 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001318 hdd_config_t, DelayedTriggerFrmInt,
1319 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1320 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1321 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001322 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1323
1324 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001325 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001326 VAR_FLAGS_OPTIONAL,
1327 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1328
1329 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001330 hdd_config_t, bImplicitQosEnabled,
1331 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1332 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1333 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001334 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1335
Jeff Johnson295189b2012-06-20 16:38:30 -07001336 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001337 hdd_config_t, btcExecutionMode,
1338 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1339 CFG_BTC_EXECUTION_MODE_DEFAULT,
1340 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001341 CFG_BTC_EXECUTION_MODE_MAX ),
1342
1343 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1344 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1345 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1346 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1347 CFG_BTC_DHCP_PROTECTION_MIN,
1348 CFG_BTC_DHCP_PROTECTION_MAX ),
1349
1350 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1351 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1352 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1353 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1354 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1355 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1356
Jeff Johnson32d95a32012-09-10 13:15:23 -07001357 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1358 hdd_config_t, btcStaticLenInqBt,
1359 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1360 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1361 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1362 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1363
1364 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1365 hdd_config_t, btcStaticLenPageBt,
1366 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1367 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1368 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1369 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1370
1371 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1372 hdd_config_t, btcStaticLenConnBt,
1373 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1374 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1375 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1376 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1377
1378 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1379 hdd_config_t, btcStaticLenLeBt,
1380 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1381 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1382 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1383 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1384
1385 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1386 hdd_config_t, btcStaticLenInqWlan,
1387 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1388 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1389 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1390 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1391
1392 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1393 hdd_config_t, btcStaticLenPageWlan,
1394 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1395 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1396 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1397 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1398
1399 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1400 hdd_config_t, btcStaticLenConnWlan,
1401 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1402 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1403 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1404 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1405
1406 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1407 hdd_config_t, btcStaticLenLeWlan,
1408 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1409 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1410 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1411 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1412
1413 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1414 hdd_config_t, btcDynMaxLenBt,
1415 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1416 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1417 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1418 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1419
1420 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1421 hdd_config_t, btcDynMaxLenWlan,
1422 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1423 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1424 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1425 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1426
1427 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1428 hdd_config_t, btcMaxScoBlockPerc,
1429 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1430 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1431 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1432 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1433
1434 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1435 hdd_config_t, btcDhcpProtOnA2dp,
1436 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1437 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1438 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1439 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1440
1441 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1442 hdd_config_t, btcDhcpProtOnSco,
1443 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1444 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1445 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1446 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1447
Wilson Tsaof8b37942013-09-06 10:49:00 -07001448 REG_VARIABLE( CFG_MWS_COEX_V1_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1449 hdd_config_t, mwsCoexVictimWANFreq[0],
1450 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1451 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1452 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1453 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1454
1455 REG_VARIABLE( CFG_MWS_COEX_V1_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1456 hdd_config_t, mwsCoexVictimWLANFreq[0],
1457 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1458 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1459 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1460 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1461
1462 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG_NAME , WLAN_PARAM_Integer,
1463 hdd_config_t, mwsCoexVictimConfig[0],
1464 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1465 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1466 CFG_MWS_COEX_VX_CONFIG_MIN,
1467 CFG_MWS_COEX_VX_CONFIG_MAX ),
1468
1469 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG2_NAME , WLAN_PARAM_Integer,
1470 hdd_config_t, mwsCoexVictimConfig2[0],
1471 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1472 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1473 CFG_MWS_COEX_VX_CONFIG_MIN,
1474 CFG_MWS_COEX_VX_CONFIG_MAX ),
1475
1476 REG_VARIABLE( CFG_MWS_COEX_V2_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1477 hdd_config_t, mwsCoexVictimWANFreq[1],
1478 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1479 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1480 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1481 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1482
1483 REG_VARIABLE( CFG_MWS_COEX_V2_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1484 hdd_config_t, mwsCoexVictimWLANFreq[1],
1485 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1486 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1487 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1488 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1489
1490 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG_NAME , WLAN_PARAM_Integer,
1491 hdd_config_t, mwsCoexVictimConfig[1],
1492 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1493 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1494 CFG_MWS_COEX_VX_CONFIG_MIN,
1495 CFG_MWS_COEX_VX_CONFIG_MAX ),
1496
1497 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG2_NAME , WLAN_PARAM_Integer,
1498 hdd_config_t, mwsCoexVictimConfig2[1],
1499 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1500 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1501 CFG_MWS_COEX_VX_CONFIG_MIN,
1502 CFG_MWS_COEX_VX_CONFIG_MAX ),
1503
1504 REG_VARIABLE( CFG_MWS_COEX_V3_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1505 hdd_config_t, mwsCoexVictimWANFreq[2],
1506 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1507 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1508 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1509 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1510
1511 REG_VARIABLE( CFG_MWS_COEX_V3_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1512 hdd_config_t, mwsCoexVictimWLANFreq[2],
1513 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1514 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1515 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1516 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1517
1518 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG_NAME , WLAN_PARAM_Integer,
1519 hdd_config_t, mwsCoexVictimConfig[2],
1520 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1521 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1522 CFG_MWS_COEX_VX_CONFIG_MIN,
1523 CFG_MWS_COEX_VX_CONFIG_MAX ),
1524
1525 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG2_NAME , WLAN_PARAM_Integer,
1526 hdd_config_t, mwsCoexVictimConfig2[2],
1527 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1528 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1529 CFG_MWS_COEX_VX_CONFIG_MIN,
1530 CFG_MWS_COEX_VX_CONFIG_MAX ),
1531
1532 REG_VARIABLE( CFG_MWS_COEX_V4_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1533 hdd_config_t, mwsCoexVictimWANFreq[3],
1534 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1535 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1536 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1537 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1538
1539 REG_VARIABLE( CFG_MWS_COEX_V4_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1540 hdd_config_t, mwsCoexVictimWLANFreq[3],
1541 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1542 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1543 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1544 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1545
1546 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG_NAME , WLAN_PARAM_Integer,
1547 hdd_config_t, mwsCoexVictimConfig[3],
1548 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1549 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1550 CFG_MWS_COEX_VX_CONFIG_MIN,
1551 CFG_MWS_COEX_VX_CONFIG_MAX ),
1552
1553 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG2_NAME , WLAN_PARAM_Integer,
1554 hdd_config_t, mwsCoexVictimConfig2[3],
1555 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1556 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1557 CFG_MWS_COEX_VX_CONFIG_MIN,
1558 CFG_MWS_COEX_VX_CONFIG_MAX ),
1559
1560 REG_VARIABLE( CFG_MWS_COEX_V5_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1561 hdd_config_t, mwsCoexVictimWANFreq[4],
1562 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1563 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1564 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1565 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1566
1567 REG_VARIABLE( CFG_MWS_COEX_V5_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1568 hdd_config_t, mwsCoexVictimWLANFreq[4],
1569 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1570 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1571 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1572 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1573
1574 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG_NAME , WLAN_PARAM_Integer,
1575 hdd_config_t, mwsCoexVictimConfig[4],
1576 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1577 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1578 CFG_MWS_COEX_VX_CONFIG_MIN,
1579 CFG_MWS_COEX_VX_CONFIG_MAX ),
1580
1581 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG2_NAME , WLAN_PARAM_Integer,
1582 hdd_config_t, mwsCoexVictimConfig2[4],
1583 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1584 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1585 CFG_MWS_COEX_VX_CONFIG_MIN,
1586 CFG_MWS_COEX_VX_CONFIG_MAX ),
1587
1588 REG_VARIABLE( CFG_MWS_COEX_V6_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1589 hdd_config_t, mwsCoexVictimWANFreq[5],
1590 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1591 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1592 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1593 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1594
1595 REG_VARIABLE( CFG_MWS_COEX_V6_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1596 hdd_config_t, mwsCoexVictimWLANFreq[5],
1597 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1598 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1599 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1600 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1601
1602 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG_NAME , WLAN_PARAM_Integer,
1603 hdd_config_t, mwsCoexVictimConfig[5],
1604 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1605 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1606 CFG_MWS_COEX_VX_CONFIG_MIN,
1607 CFG_MWS_COEX_VX_CONFIG_MAX ),
1608
1609 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG2_NAME , WLAN_PARAM_Integer,
1610 hdd_config_t, mwsCoexVictimConfig2[5],
1611 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1612 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1613 CFG_MWS_COEX_VX_CONFIG_MIN,
1614 CFG_MWS_COEX_VX_CONFIG_MAX ),
1615
1616 REG_VARIABLE( CFG_MWS_COEX_V7_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1617 hdd_config_t, mwsCoexVictimWANFreq[6],
1618 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1619 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1620 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1621 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1622
1623 REG_VARIABLE( CFG_MWS_COEX_V7_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1624 hdd_config_t, mwsCoexVictimWLANFreq[6],
1625 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1626 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1627 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1628 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1629
1630 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG_NAME , WLAN_PARAM_Integer,
1631 hdd_config_t, mwsCoexVictimConfig[6],
1632 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1633 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1634 CFG_MWS_COEX_VX_CONFIG_MIN,
1635 CFG_MWS_COEX_VX_CONFIG_MAX ),
1636
1637 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG2_NAME , WLAN_PARAM_Integer,
1638 hdd_config_t, mwsCoexVictimConfig2[6],
1639 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1640 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1641 CFG_MWS_COEX_VX_CONFIG_MIN,
1642 CFG_MWS_COEX_VX_CONFIG_MAX ),
1643
1644 REG_VARIABLE( CFG_MWS_COEX_V8_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1645 hdd_config_t, mwsCoexVictimWANFreq[7],
1646 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1647 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1648 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1649 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1650
1651 REG_VARIABLE( CFG_MWS_COEX_V8_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1652 hdd_config_t, mwsCoexVictimWLANFreq[7],
1653 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1654 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1655 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1656 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1657
1658 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG_NAME , WLAN_PARAM_Integer,
1659 hdd_config_t, mwsCoexVictimConfig[7],
1660 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1661 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1662 CFG_MWS_COEX_VX_CONFIG_MIN,
1663 CFG_MWS_COEX_VX_CONFIG_MAX ),
1664
1665 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG2_NAME , WLAN_PARAM_Integer,
1666 hdd_config_t, mwsCoexVictimConfig2[7],
1667 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1668 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1669 CFG_MWS_COEX_VX_CONFIG_MIN,
1670 CFG_MWS_COEX_VX_CONFIG_MAX ),
1671
1672 REG_VARIABLE( CFG_MWS_COEX_V9_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1673 hdd_config_t, mwsCoexVictimWANFreq[8],
1674 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1675 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1676 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1677 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1678
1679 REG_VARIABLE( CFG_MWS_COEX_V9_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1680 hdd_config_t, mwsCoexVictimWLANFreq[8],
1681 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1682 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1683 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1684 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1685
1686 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG_NAME , WLAN_PARAM_Integer,
1687 hdd_config_t, mwsCoexVictimConfig[8],
1688 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1689 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1690 CFG_MWS_COEX_VX_CONFIG_MIN,
1691 CFG_MWS_COEX_VX_CONFIG_MAX ),
1692
1693 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG2_NAME , WLAN_PARAM_Integer,
1694 hdd_config_t, mwsCoexVictimConfig2[8],
1695 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1696 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1697 CFG_MWS_COEX_VX_CONFIG_MIN,
1698 CFG_MWS_COEX_VX_CONFIG_MAX ),
1699
1700 REG_VARIABLE( CFG_MWS_COEX_V10_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1701 hdd_config_t, mwsCoexVictimWANFreq[9],
1702 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1703 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1704 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1705 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1706
1707 REG_VARIABLE( CFG_MWS_COEX_V10_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1708 hdd_config_t, mwsCoexVictimWLANFreq[9],
1709 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1710 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1711 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1712 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1713
1714 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG_NAME , WLAN_PARAM_Integer,
1715 hdd_config_t, mwsCoexVictimConfig[9],
1716 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1717 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1718 CFG_MWS_COEX_VX_CONFIG_MIN,
1719 CFG_MWS_COEX_VX_CONFIG_MAX ),
1720
1721 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG2_NAME , WLAN_PARAM_Integer,
1722 hdd_config_t, mwsCoexVictimConfig2[9],
1723 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1724 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1725 CFG_MWS_COEX_VX_CONFIG_MIN,
1726 CFG_MWS_COEX_VX_CONFIG_MAX ),
1727
1728 REG_VARIABLE( CFG_MWS_COEX_MODEM_BACKOFF_NAME , WLAN_PARAM_Integer,
1729 hdd_config_t, mwsCoexModemBackoff,
1730 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1731 CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT,
1732 CFG_MWS_COEX_MODEM_BACKOFF_MIN,
1733 CFG_MWS_COEX_MODEM_BACKOFF_MAX ),
1734
1735 REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer,
1736 hdd_config_t, mwsCoexConfig[0],
1737 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1738 CFG_MWS_COEX_CONFIGX_DEFAULT,
1739 CFG_MWS_COEX_CONFIGX_MIN,
1740 CFG_MWS_COEX_CONFIGX_MAX ),
1741
1742 REG_VARIABLE( CFG_MWS_COEX_CONFIG2_NAME , WLAN_PARAM_Integer,
1743 hdd_config_t, mwsCoexConfig[1],
1744 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1745 CFG_MWS_COEX_CONFIGX_DEFAULT,
1746 CFG_MWS_COEX_CONFIGX_MIN,
1747 CFG_MWS_COEX_CONFIGX_MAX ),
1748
1749 REG_VARIABLE( CFG_MWS_COEX_CONFIG3_NAME , WLAN_PARAM_Integer,
1750 hdd_config_t, mwsCoexConfig[2],
1751 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1752 CFG_MWS_COEX_CONFIGX_DEFAULT,
1753 CFG_MWS_COEX_CONFIGX_MIN,
1754 CFG_MWS_COEX_CONFIGX_MAX ),
1755
1756 REG_VARIABLE( CFG_MWS_COEX_CONFIG4_NAME , WLAN_PARAM_Integer,
1757 hdd_config_t, mwsCoexConfig[3],
1758 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1759 CFG_MWS_COEX_CONFIGX_DEFAULT,
1760 CFG_MWS_COEX_CONFIGX_MIN,
1761 CFG_MWS_COEX_CONFIGX_MAX ),
1762
1763 REG_VARIABLE( CFG_MWS_COEX_CONFIG5_NAME , WLAN_PARAM_Integer,
1764 hdd_config_t, mwsCoexConfig[4],
1765 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1766 CFG_MWS_COEX_CONFIGX_DEFAULT,
1767 CFG_MWS_COEX_CONFIGX_MIN,
1768 CFG_MWS_COEX_CONFIGX_MAX ),
1769
1770 REG_VARIABLE( CFG_MWS_COEX_CONFIG6_NAME , WLAN_PARAM_Integer,
1771 hdd_config_t, mwsCoexConfig[5],
1772 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1773 CFG_MWS_COEX_CONFIGX_DEFAULT,
1774 CFG_MWS_COEX_CONFIGX_MIN,
1775 CFG_MWS_COEX_CONFIGX_MAX ),
1776
1777 REG_VARIABLE( CFG_SAR_POWER_BACKOFF_NAME , WLAN_PARAM_Integer,
1778 hdd_config_t, SARPowerBackoff,
1779 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1780 CFG_SAR_POWER_BACKOFF_DEFAULT,
1781 CFG_SAR_POWER_BACKOFF_MIN,
1782 CFG_SAR_POWER_BACKOFF_MAX ),
1783
Jeff Johnson295189b2012-06-20 16:38:30 -07001784 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001785 hdd_config_t, nEnableListenMode,
1786 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1787 CFG_AP_LISTEN_MODE_DEFAULT,
1788 CFG_AP_LISTEN_MODE_MIN,
1789 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001790
1791 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1792 hdd_config_t, nAPAutoShutOff,
1793 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1794 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1795 CFG_AP_AUTO_SHUT_OFF_MIN,
1796 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001797
1798#if defined WLAN_FEATURE_VOWIFI
1799 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001800 hdd_config_t, fRrmEnable,
1801 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1802 CFG_RRM_ENABLE_DEFAULT,
1803 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001804 CFG_RRM_ENABLE_MAX ),
1805
1806 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001807 hdd_config_t, nInChanMeasMaxDuration,
1808 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1809 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1810 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001811 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1812
1813 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001814 hdd_config_t, nOutChanMeasMaxDuration,
1815 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1816 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1817 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001818 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1819
1820 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001821 hdd_config_t, nRrmRandnIntvl,
1822 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1823 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1824 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001825 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1826#endif
1827
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001828#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001829 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001830 hdd_config_t, fFTResourceReqSupported,
1831 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1832 CFG_FT_RESOURCE_REQ_DEFAULT,
1833 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001834 CFG_FT_RESOURCE_REQ_MAX ),
1835#endif
1836
1837#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001838 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001839 hdd_config_t, nNeighborScanPeriod,
1840 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1841 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1842 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001843 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1844 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001845
1846 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001847 hdd_config_t, nNeighborReassocRssiThreshold,
1848 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1849 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1850 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001851 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1852
Srinivas Girigowdade697412013-02-14 16:31:48 -08001853 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001854 hdd_config_t, nNeighborLookupRssiThreshold,
1855 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1856 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1857 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001858 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1859 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001860
1861 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001862 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001863 VAR_FLAGS_OPTIONAL,
1864 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1865
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001866 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001867 hdd_config_t, nNeighborScanMinChanTime,
1868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1869 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1870 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001871 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1872 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001873
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001874 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001875 hdd_config_t, nNeighborScanMaxChanTime,
1876 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1877 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1878 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001879 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1880 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001881
1882 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1883 hdd_config_t, nMaxNeighborReqTries,
1884 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1885 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1886 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1887 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1888
Srinivas Girigowdade697412013-02-14 16:31:48 -08001889 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001890 hdd_config_t, nNeighborResultsRefreshPeriod,
1891 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1892 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1893 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001894 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1895 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1896
1897 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1898 hdd_config_t, nEmptyScanRefreshPeriod,
1899 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1900 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1901 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1902 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1903 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001904#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1905
1906 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001907 hdd_config_t, burstSizeDefinition,
1908 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1909 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1910 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001911 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1912
1913 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1914 hdd_config_t, mcastBcastFilterSetting,
1915 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1916 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1917 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1918 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1919
1920 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1921 hdd_config_t, fhostArpOffload,
1922 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1923 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1924 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1925 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1926
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301927 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1928 hdd_config_t, fhostNSOffload,
1929 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1930 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1931 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1932 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1933
Jeff Johnson295189b2012-06-20 16:38:30 -07001934 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001935 hdd_config_t, tsInfoAckPolicy,
1936 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1937 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1938 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001939 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1940
1941 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1942 hdd_config_t, bSingleTidRc,
1943 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1944 CFG_SINGLE_TID_RC_DEFAULT,
1945 CFG_SINGLE_TID_RC_MIN,
1946 CFG_SINGLE_TID_RC_MAX),
1947
1948 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1949 hdd_config_t, dynamicPsPollValue,
1950 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1951 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1952 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1953 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1954
1955 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1956 hdd_config_t, teleBcnWakeupEn,
1957 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1958 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1959 CFG_TELE_BCN_WAKEUP_EN_MIN,
1960 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1961
1962 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1963 hdd_config_t, infraStaKeepAlivePeriod,
1964 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1965 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1966 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1967 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1968
1969 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001970 hdd_config_t, AddTSWhenACMIsOff,
1971 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1972 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1973 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001974 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1975
1976
1977 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001978 hdd_config_t, fValidateScanList,
1979 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1980 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1981 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001982 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001983
Jeff Johnson295189b2012-06-20 16:38:30 -07001984 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001985 hdd_config_t, nNullDataApRespTimeout,
1986 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1987 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1988 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001989 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
1990
1991 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001992 hdd_config_t, apDataAvailPollPeriodInMs,
1993 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1994 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1995 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001996 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001997
Jeff Johnson295189b2012-06-20 16:38:30 -07001998 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001999 hdd_config_t, enableBtAmp,
2000 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2001 CFG_ENABLE_BTAMP_DEFAULT,
2002 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002003 CFG_ENABLE_BTAMP_MAX ),
2004
2005#ifdef WLAN_BTAMP_FEATURE
2006 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002007 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07002008 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2009 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
2010 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
2011 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
2012#endif //WLAN_BTAMP_FEATURE
2013 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002014 hdd_config_t, nBandCapability,
2015 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2016 CFG_BAND_CAPABILITY_DEFAULT,
2017 CFG_BAND_CAPABILITY_MIN,
2018 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002019
2020 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002021 hdd_config_t, fEnableBeaconEarlyTermination,
2022 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2023 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
2024 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
2025 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002026/* CFG_VOS_TRACE_ENABLE Parameters */
2027 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
2028 hdd_config_t, vosTraceEnableBAP,
2029 VAR_FLAGS_OPTIONAL,
2030 CFG_VOS_TRACE_ENABLE_DEFAULT,
2031 CFG_VOS_TRACE_ENABLE_MIN,
2032 CFG_VOS_TRACE_ENABLE_MAX ),
2033
2034 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
2035 hdd_config_t, vosTraceEnableTL,
2036 VAR_FLAGS_OPTIONAL,
2037 CFG_VOS_TRACE_ENABLE_DEFAULT,
2038 CFG_VOS_TRACE_ENABLE_MIN,
2039 CFG_VOS_TRACE_ENABLE_MAX ),
2040
2041 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
2042 hdd_config_t, vosTraceEnableWDI,
2043 VAR_FLAGS_OPTIONAL,
2044 CFG_VOS_TRACE_ENABLE_DEFAULT,
2045 CFG_VOS_TRACE_ENABLE_MIN,
2046 CFG_VOS_TRACE_ENABLE_MAX ),
2047
2048 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
2049 hdd_config_t, vosTraceEnableHDD,
2050 VAR_FLAGS_OPTIONAL,
2051 CFG_VOS_TRACE_ENABLE_DEFAULT,
2052 CFG_VOS_TRACE_ENABLE_MIN,
2053 CFG_VOS_TRACE_ENABLE_MAX ),
2054
2055 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
2056 hdd_config_t, vosTraceEnableSME,
2057 VAR_FLAGS_OPTIONAL,
2058 CFG_VOS_TRACE_ENABLE_DEFAULT,
2059 CFG_VOS_TRACE_ENABLE_MIN,
2060 CFG_VOS_TRACE_ENABLE_MAX ),
2061
2062 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
2063 hdd_config_t, vosTraceEnablePE,
2064 VAR_FLAGS_OPTIONAL,
2065 CFG_VOS_TRACE_ENABLE_DEFAULT,
2066 CFG_VOS_TRACE_ENABLE_MIN,
2067 CFG_VOS_TRACE_ENABLE_MAX ),
2068
2069 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
2070 hdd_config_t, vosTraceEnableWDA,
2071 VAR_FLAGS_OPTIONAL,
2072 CFG_VOS_TRACE_ENABLE_DEFAULT,
2073 CFG_VOS_TRACE_ENABLE_MIN,
2074 CFG_VOS_TRACE_ENABLE_MAX ),
2075
2076 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
2077 hdd_config_t, vosTraceEnableSYS,
2078 VAR_FLAGS_OPTIONAL,
2079 CFG_VOS_TRACE_ENABLE_DEFAULT,
2080 CFG_VOS_TRACE_ENABLE_MIN,
2081 CFG_VOS_TRACE_ENABLE_MAX ),
2082
2083 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
2084 hdd_config_t, vosTraceEnableVOSS,
2085 VAR_FLAGS_OPTIONAL,
2086 CFG_VOS_TRACE_ENABLE_DEFAULT,
2087 CFG_VOS_TRACE_ENABLE_MIN,
2088 CFG_VOS_TRACE_ENABLE_MAX ),
2089
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002090 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
2091 hdd_config_t, vosTraceEnableSAP,
2092 VAR_FLAGS_OPTIONAL,
2093 CFG_VOS_TRACE_ENABLE_DEFAULT,
2094 CFG_VOS_TRACE_ENABLE_MIN,
2095 CFG_VOS_TRACE_ENABLE_MAX ),
2096
2097 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
2098 hdd_config_t, vosTraceEnableHDDSAP,
2099 VAR_FLAGS_OPTIONAL,
2100 CFG_VOS_TRACE_ENABLE_DEFAULT,
2101 CFG_VOS_TRACE_ENABLE_MIN,
2102 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002103
Jeff Johnson295189b2012-06-20 16:38:30 -07002104 /* note that since the default value is out of range we cannot
2105 enable range check, otherwise we get a system log message */
2106 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
2107 hdd_config_t, wdiTraceEnableDAL,
2108 VAR_FLAGS_OPTIONAL,
2109 CFG_WDI_TRACE_ENABLE_DEFAULT,
2110 CFG_WDI_TRACE_ENABLE_MIN,
2111 CFG_WDI_TRACE_ENABLE_MAX ),
2112
2113 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
2114 hdd_config_t, wdiTraceEnableCTL,
2115 VAR_FLAGS_OPTIONAL,
2116 CFG_WDI_TRACE_ENABLE_DEFAULT,
2117 CFG_WDI_TRACE_ENABLE_MIN,
2118 CFG_WDI_TRACE_ENABLE_MAX ),
2119
2120 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
2121 hdd_config_t, wdiTraceEnableDAT,
2122 VAR_FLAGS_OPTIONAL,
2123 CFG_WDI_TRACE_ENABLE_DEFAULT,
2124 CFG_WDI_TRACE_ENABLE_MIN,
2125 CFG_WDI_TRACE_ENABLE_MAX ),
2126
2127 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
2128 hdd_config_t, wdiTraceEnablePAL,
2129 VAR_FLAGS_OPTIONAL,
2130 CFG_WDI_TRACE_ENABLE_DEFAULT,
2131 CFG_WDI_TRACE_ENABLE_MIN,
2132 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002133
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002134 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002135 hdd_config_t, nTeleBcnTransListenInterval,
2136 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2137 CFG_TELE_BCN_TRANS_LI_DEFAULT,
2138 CFG_TELE_BCN_TRANS_LI_MIN,
2139 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002140
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002141 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002142 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
2143 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2144 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
2145 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
2146 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002147
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002148 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002149 hdd_config_t, nTeleBcnMaxListenInterval,
2150 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2151 CFG_TELE_BCN_MAX_LI_DEFAULT,
2152 CFG_TELE_BCN_MAX_LI_MIN,
2153 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002154
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002155 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002156 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
2157 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2158 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
2159 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
2160 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002161
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002162 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002163 hdd_config_t, bcnEarlyTermWakeInterval,
2164 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2165 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
2166 CFG_BCN_EARLY_TERM_WAKE_MIN,
2167 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002168
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002169 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002170 hdd_config_t, apDataAvailPollPeriodInMs,
2171 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2172 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2173 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002174 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
2175
2176 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002177 hdd_config_t, enableCloseLoop,
2178 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2179 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
2180 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002181 CFG_ENABLE_CLOSE_LOOP_MAX ),
2182
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002183 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002184 hdd_config_t, enableBypass11d,
2185 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2186 CFG_ENABLE_BYPASS_11D_DEFAULT,
2187 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002188 CFG_ENABLE_BYPASS_11D_MAX ),
2189
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002190 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002191 hdd_config_t, enableDFSChnlScan,
2192 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2193 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
2194 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002195 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
2196
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002197 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002198 hdd_config_t, enableDynamicDTIM,
2199 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2200 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
2201 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002202 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
2203
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002204 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002205 hdd_config_t, enableAutomaticTxPowerControl,
2206 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2207 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
2208 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002209 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
2210
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002211 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002212 hdd_config_t, ShortGI40MhzEnable,
2213 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2214 CFG_SHORT_GI_40MHZ_DEFAULT,
2215 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002216 CFG_SHORT_GI_40MHZ_MAX ),
2217
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002218 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002219 hdd_config_t, reportMaxLinkSpeed,
2220 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2221 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
2222 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002223 CFG_REPORT_MAX_LINK_SPEED_MAX,
2224 NULL, 0 ),
2225
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002226 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002227 hdd_config_t, linkSpeedRssiHigh,
2228 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2229 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
2230 CFG_LINK_SPEED_RSSI_HIGH_MIN,
2231 CFG_LINK_SPEED_RSSI_HIGH_MAX,
2232 NULL, 0 ),
2233
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002234 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07002235 hdd_config_t, linkSpeedRssiMid,
2236 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2237 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
2238 CFG_LINK_SPEED_RSSI_MID_MIN,
2239 CFG_LINK_SPEED_RSSI_MID_MAX,
2240 NULL, 0 ),
2241
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002242 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002243 hdd_config_t, linkSpeedRssiLow,
2244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2245 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
2246 CFG_LINK_SPEED_RSSI_LOW_MIN,
2247 CFG_LINK_SPEED_RSSI_LOW_MAX,
2248 NULL, 0 ),
2249
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002250#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002251 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002252 hdd_config_t, nRoamPrefer5GHz,
2253 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2254 CFG_ROAM_PREFER_5GHZ_DEFAULT,
2255 CFG_ROAM_PREFER_5GHZ_MIN,
2256 CFG_ROAM_PREFER_5GHZ_MAX,
2257 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002258
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002259 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002260 hdd_config_t, nRoamIntraBand,
2261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2262 CFG_ROAM_INTRA_BAND_DEFAULT,
2263 CFG_ROAM_INTRA_BAND_MIN,
2264 CFG_ROAM_INTRA_BAND_MAX,
2265 cbNotifySetRoamIntraBand, 0 ),
2266
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002267 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
2268 hdd_config_t, nProbes,
2269 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2270 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
2271 CFG_ROAM_SCAN_N_PROBES_MIN,
2272 CFG_ROAM_SCAN_N_PROBES_MAX,
2273 cbNotifySetRoamScanNProbes, 0 ),
2274
2275 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
2276 hdd_config_t, nRoamScanHomeAwayTime,
2277 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2278 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
2279 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
2280 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
2281 cbNotifySetRoamScanHomeAwayTime, 0 ),
2282
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002283#endif
2284
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002285 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07002286 hdd_config_t, isP2pDeviceAddrAdministrated,
2287 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2288 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
2289 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
2290 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002291
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002292 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002293 hdd_config_t, enableMCC,
2294 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2295 CFG_ENABLE_MCC_ENABLED_DEFAULT,
2296 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002297 CFG_ENABLE_MCC_ENABLED_MAX ),
2298
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002299 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002300 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002301 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2302 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
2303 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
2304 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002305
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002306 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002307 hdd_config_t, thermalMitigationEnable,
2308 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2309 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
2310 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002311 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002312
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002313 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002314 hdd_config_t, enableModulatedDTIM,
2315 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2316 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
2317 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002318 CFG_ENABLE_MODULATED_DTIM_MAX ),
2319
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002320 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002321 hdd_config_t, fEnableMCAddrList,
2322 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2323 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2324 CFG_MC_ADDR_LIST_ENABLE_MIN,
2325 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2326
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002327#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002328 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002329 hdd_config_t, vhtChannelWidth,
2330 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2331 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2332 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002333 CFG_VHT_CHANNEL_WIDTH_MAX),
2334
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002335 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002336 hdd_config_t, vhtRxMCS,
2337 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2338 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2339 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002340 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2341
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002342 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002343 hdd_config_t, vhtTxMCS,
2344 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2345 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2346 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002347 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2348#endif
2349
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002350 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002351 hdd_config_t, enableFirstScan2GOnly,
2352 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2353 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2354 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002355 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2356
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002357 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002358 hdd_config_t, skipDfsChnlInP2pSearch,
2359 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2360 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2361 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002362 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2363
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002364 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002365 hdd_config_t, ignoreDynamicDtimInP2pMode,
2366 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2367 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2368 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002369 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2370
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002371 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002372 hdd_config_t,numBuffAdvert ,
2373 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2374 CFG_NUM_BUFF_ADVERT_DEFAULT,
2375 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002376 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002377
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002378 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002379 hdd_config_t, configMccParam,
2380 VAR_FLAGS_OPTIONAL,
2381 CFG_MCC_CONFIG_PARAM_DEFAULT,
2382 CFG_MCC_CONFIG_PARAM_MIN,
2383 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002384 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002385 hdd_config_t, enableRxSTBC,
2386 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2387 CFG_ENABLE_RX_STBC_DEFAULT,
2388 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302389 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002390#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002391 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002392 hdd_config_t, fEnableTDLSSupport,
2393 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2394 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2395 CFG_TDLS_SUPPORT_ENABLE_MIN,
2396 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302397
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002398 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302399 hdd_config_t, fEnableTDLSImplicitTrigger,
2400 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2401 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2402 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2403 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2404
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002405 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302406 hdd_config_t, fTDLSTxStatsPeriod,
2407 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2408 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2409 CFG_TDLS_TX_STATS_PERIOD_MIN,
2410 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2411
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002412 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302413 hdd_config_t, fTDLSTxPacketThreshold,
2414 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2415 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2416 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2417 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2418
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002419 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302420 hdd_config_t, fTDLSDiscoveryPeriod,
2421 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2422 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2423 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2424 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2425
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002426 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302427 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2428 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2429 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2430 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2431 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2432
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002433 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002434 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302435 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002436 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2437 CFG_TDLS_IDLE_TIMEOUT_MIN,
2438 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2439
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002440 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002441 hdd_config_t, fTDLSIdlePacketThreshold,
2442 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2443 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2444 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2445 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302446
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002447 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002448 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302449 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2450 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2451 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2452 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002453
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002454 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002455 hdd_config_t, fTDLSRSSITriggerThreshold,
2456 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2457 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2458 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2459 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2460
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002461 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002462 hdd_config_t, fTDLSRSSITeardownThreshold,
2463 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2464 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2465 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2466 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302467
2468REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2469 hdd_config_t, fTDLSUapsdMask,
2470 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2471 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2472 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2473 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2474
2475REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2476 hdd_config_t, fEnableTDLSBufferSta,
2477 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2478 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2479 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2480 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2481
2482REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2483 hdd_config_t, fTDLSPuapsdInactivityTimer,
2484 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2485 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2486 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2487 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2488
2489REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2490 hdd_config_t, fTDLSRxFrameThreshold,
2491 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2492 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2493 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2494 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002495#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002496
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002497#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002498 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002499 hdd_config_t, fEnableVSTASupport,
2500 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2501 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2502 CFG_VSTA_SUPPORT_ENABLE_MIN,
2503 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2504#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002505 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002506 hdd_config_t, enableLpwrImgTransition,
2507 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2508 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2509 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002510 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2511
Yathish9f22e662012-12-10 14:21:35 -08002512#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002513 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002514 hdd_config_t, fEnableActiveModeOffload,
2515 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2516 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2517 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2518 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2519#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002520 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002521 hdd_config_t, enableLpwrImgTransition,
2522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2523 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2524 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2525 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2526
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002527
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002528 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002529 hdd_config_t, scanAgingTimeout,
2530 VAR_FLAGS_OPTIONAL,
2531 CFG_SCAN_AGING_PARAM_DEFAULT,
2532 CFG_SCAN_AGING_PARAM_MIN,
2533 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002534
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002535 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002536 hdd_config_t, enableTxLdpc,
2537 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2538 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2539 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2540 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2541
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002542 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302543 hdd_config_t, enableMCCAdaptiveScheduler,
2544 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2545 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2546 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2547 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2548
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002549 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302550 hdd_config_t, isAndroidPsEn,
2551 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2552 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2553 CFG_ANDRIOD_POWER_SAVE_MIN,
2554 CFG_ANDRIOD_POWER_SAVE_MAX),
2555
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002556 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002557 hdd_config_t, AdHocChannel5G,
2558 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2559 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2560 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2561 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2562
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002563 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002564 hdd_config_t, AdHocChannel24G,
2565 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2566 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2567 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2568 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2569
2570
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002571#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002572 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002573 hdd_config_t, enableTxBF,
2574 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2575 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2576 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2577 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002578
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002579 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002580 hdd_config_t, txBFCsnValue,
2581 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2582 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2583 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2584 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2585
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002586#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302587
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002588 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302589 hdd_config_t, sapAllowAllChannel,
2590 VAR_FLAGS_OPTIONAL,
2591 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2592 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2593 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002594
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002595#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002596 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002597 hdd_config_t, disableLDPCWithTxbfAP,
2598 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2599 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2600 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2601 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2602#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002603
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002604 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002605 hdd_config_t, listOfNonDfsCountryCode,
2606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2607 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2608
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002609 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2610 hdd_config_t, enableSSR,
2611 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2612 CFG_ENABLE_SSR_DEFAULT,
2613 CFG_ENABLE_SSR_MIN,
2614 CFG_ENABLE_SSR_MAX,
2615 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302616
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002617 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302618 hdd_config_t, listOfNon11acCountryCode,
2619 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2620 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2621
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002622 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302623 hdd_config_t, cfgMaxMediumTime,
2624 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2625 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2626 CFG_MAX_MEDIUM_TIME_STAMIN,
2627 CFG_MAX_MEDIUM_TIME_STAMAX ),
2628
Leo Chang64d68bc2013-06-04 15:40:52 -07002629 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2630 hdd_config_t, enableTrafficMonitor,
2631 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2632 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2633 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2634 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2635
2636 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2637 hdd_config_t, trafficIdleTimeout,
2638 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2639 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2640 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2641 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002642
2643#ifdef WLAN_FEATURE_11AC
2644 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2645 hdd_config_t, enableVhtFor24GHzBand,
2646 VAR_FLAGS_OPTIONAL,
2647 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2648 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2649 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2650#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302651
2652 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2653 hdd_config_t, fScanOffload,
2654 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2655 CFG_SCAN_OFFLOAD_DEFAULT,
2656 CFG_SCAN_OFFLOAD_DISABLE,
2657 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002658
2659#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2660 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2661 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2663 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2664 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2665 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2666 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2667#endif
2668
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07002669 REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
2670 hdd_config_t, fEnableAdaptRxDrain,
2671 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2672 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
2673 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
2674 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
2675
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002676 REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer,
2677 hdd_config_t, dynSplitscan,
2678 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2679 CFG_DYNAMIC_SPLIT_SCAN_DEFAULT,
2680 CFG_DYNAMIC_SPLIT_SCAN_MIN,
2681 CFG_DYNAMIC_SPLIT_SCAN_MAX ),
2682
2683 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer,
2684 hdd_config_t, txRxThresholdForSplitScan,
2685 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2686 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT,
2687 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN,
2688 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ),
2689
2690 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer,
2691 hdd_config_t, trafficMntrTmrForSplitScan,
2692 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2693 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT,
2694 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN,
2695 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ),
2696
Yue Ma0fd23872013-08-01 15:56:47 -07002697 REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer,
2698 hdd_config_t, flexConnectPowerFactor,
2699 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX,
2700 CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT,
2701 CFG_FLEX_CONNECT_POWER_FACTOR_MIN,
2702 CFG_FLEX_CONNECT_POWER_FACTOR_MAX ),
2703
Ravi Joshid2ca7c42013-07-23 08:37:49 -07002704 REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer,
2705 hdd_config_t, enableIbssHeartBeatOffload,
2706 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2707 CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT,
2708 CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN,
2709 CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX),
2710
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05302711 REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer,
2712 hdd_config_t, antennaDiversity,
2713 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2714 CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT,
2715 CFG_ANTENNA_DIVERSITY_PARAM_MIN,
2716 CFG_ANTENNA_DIVERSITY_PARAM_MAX),
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05302717
2718 REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2719 hdd_config_t, fEnableSNRMonitoring,
2720 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2721 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2722 CFG_ENABLE_SNR_MONITORING_MIN,
2723 CFG_ENABLE_SNR_MONITORING_MAX),
2724
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302725#ifdef FEATURE_WLAN_SCAN_PNO
2726 REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2727 hdd_config_t, configPNOScanTimerRepeatValue,
2728 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2729 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2730 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2731 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
2732#endif
2733
Jeff Johnson295189b2012-06-20 16:38:30 -07002734};
2735
2736/*
2737 * This function returns a pointer to the character after the occurence
2738 * of a new line character. It also modifies the original string by replacing
2739 * the '\n' character with the null character.
2740 * Function returns NULL if no new line character was found before end of
2741 * string was reached
2742 */
2743static char* get_next_line(char* str)
2744{
2745 char c;
2746
2747 if( str == NULL || *str == '\0') {
2748 return NULL;
2749 }
2750
2751 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002752 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002753 str = str + 1;
2754 c = *str;
2755 }
2756
2757 if (c == '\0' ) {
2758 return NULL;
2759 }
2760 else
2761 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002762 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002763 return (str+1);
2764 }
2765
2766 return NULL;
2767}
2768
2769// look for space. Ascii values to look are -
2770// 0x09 == horizontal tab
2771// 0x0a == Newline ("\n")
2772// 0x0b == vertical tab
2773// 0x0c == Newpage or feed form.
2774// 0x0d == carriage return (CR or "\r")
2775// Null ('\0') should not considered as space.
2776#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2777
2778/*
2779 * This function trims any leading and trailing white spaces
2780 */
2781static char *i_trim(char *str)
2782
2783{
2784 char *ptr;
2785
2786 if(*str == '\0') return str;
2787
2788 /* Find the first non white-space*/
2789 for (ptr = str; i_isspace(*ptr); ptr++);
2790 if (*ptr == '\0')
2791 return str;
2792
2793 /* This is the new start of the string*/
2794 str = ptr;
2795
2796 /* Find the last non white-space */
2797 ptr += strlen(ptr) - 1;
2798 for (; ptr != str && i_isspace(*ptr); ptr--);
2799 /* Null terminate the following character */
2800 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002801
Jeff Johnson295189b2012-06-20 16:38:30 -07002802 return str;
2803}
2804
2805
2806//Structure to store each entry in qcom_cfg.ini file
2807typedef struct
2808{
2809 char *name;
2810 char *value;
2811}tCfgIniEntry;
2812
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002813static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002814 tCfgIniEntry* iniTable, unsigned long entries);
2815
2816#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002817void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002818{
2819 unsigned long i;
2820
2821 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002822 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002823 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2824 }
2825}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002826#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002827
2828/*
2829 * This function reads the qcom_cfg.ini file and
2830 * parses each 'Name=Value' pair in the ini file
2831 */
2832VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2833{
2834 int status, i=0;
2835 /** Pointer for firmware image data */
2836 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002837 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002838 size_t size;
2839 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002840 /* cfgIniTable is static to avoid excess stack usage */
2841 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002842 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2843
2844 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2845
2846 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002847
Jeff Johnson295189b2012-06-20 16:38:30 -07002848 if(status)
2849 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002850 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002851 vos_status = VOS_STATUS_E_FAILURE;
2852 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002853 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002854 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002855 {
2856 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002857 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002858 vos_status = VOS_STATUS_E_FAILURE;
2859 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002860 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002861
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002862 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002863
2864 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002865
Jeff Johnson295189b2012-06-20 16:38:30 -07002866 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002867 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002868 release_firmware(fw);
2869 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002870 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002871 pTemp = buffer;
2872
2873 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2874 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002875
Jeff Johnson295189b2012-06-20 16:38:30 -07002876 while (buffer != NULL)
2877 {
2878 line = get_next_line(buffer);
2879 buffer = i_trim(buffer);
2880
2881 hddLog(LOG1, "%s: item", buffer);
2882
2883 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2884 buffer = line;
2885 continue;
2886 }
2887 else if(strncmp(buffer, "END", 3) == 0 ) {
2888 break;
2889 }
2890 else
2891 {
2892 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002893 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002894 buffer++;
2895 if(*buffer != '\0') {
2896 *buffer++ = '\0';
2897 i_trim(name);
2898 if(strlen (name) != 0) {
2899 buffer = i_trim(buffer);
2900 if(strlen(buffer)>0) {
2901 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002902 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002903 buffer++;
2904 *buffer = '\0';
2905 cfgIniTable[i].name= name;
2906 cfgIniTable[i++].value= value;
2907 if(i >= MAX_CFG_INI_ITEMS) {
2908 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002909 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002910 break;
2911 }
2912 }
2913 }
2914 }
2915 }
2916 buffer = line;
2917 }
2918
2919 //Loop through the registry table and apply all these configs
2920 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2921
Jeff Johnson4416a782013-03-25 14:17:50 -07002922config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002923 release_firmware(fw);
2924 vos_mem_free(pTemp);
2925 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002926}
Jeff Johnson295189b2012-06-20 16:38:30 -07002927
2928
2929static void print_hdd_cfg(hdd_context_t *pHddCtx)
2930{
2931 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2932 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2933 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2934 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2935 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2936 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2937 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2938 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2939 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]",
2940 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2941 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2942 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2943
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002944 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002945 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2946 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2947 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2948 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2949 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2950 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2951 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2952
2953
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002954 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002955 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2956 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2957 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2958 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2959 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2960 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2961 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2962
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002963 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002964 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2965 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2966 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2967 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2968 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2969 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2970 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2971
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002972 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002973 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2974 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
2975 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
2976 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
2977 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
2978 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
2979 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
2980
Jeff Johnson295189b2012-06-20 16:38:30 -07002981
2982 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
2983
2984 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
2985 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
2986 pHddCtx->cfg_ini->apCntryCode[2]);
2987 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
2988 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
2989
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002990 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 -07002991 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
2992 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
2993 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 -08002994
Jeff Johnson295189b2012-06-20 16:38:30 -07002995 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
2996 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
2997 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
2998 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
2999 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
3000 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
3001 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
3002
3003 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
3004 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
3005
3006 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
3007 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
3008
3009 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
3010 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
3011
3012 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
3013 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
3014#ifdef FEATURE_WLAN_CCX
3015 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
3016 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
3017 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
3018 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 -08003019#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003020#ifdef FEATURE_WLAN_LFR
3021 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 -08003022#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07003023#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
3024 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 -08003025 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%lu] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
Jeff Johnson43971f52012-07-17 12:26:56 -07003026#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003027#ifdef FEATURE_WLAN_OKC
3028 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
3029#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003030 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
3031 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
3032 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
3033 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
3034 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
3035
3036 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
3037 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
3038 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
3039 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
3040 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
3041
3042 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
3043 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
3044 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
3045 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
3046 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
3047
3048 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
3049 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
3050 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
3051 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
3052 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
3053
3054 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
3055 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
3056 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
3057 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
3058 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
3059 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
3060 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 -08003061#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07003062 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
3063#endif
3064
3065#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3066 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
3067 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
3068 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
3069 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
3070 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
3071 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
3072 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 -08003073 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 -07003074#endif
3075 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
3076 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
3077 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
3078 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
3079 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
3080 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
3081 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
3082
3083 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
3084 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3085 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
3086#ifdef WLAN_BTAMP_FEATURE
3087 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
3088#endif //WLAN_BTAMP_FEATURE
3089 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
3090 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
3091 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
3092 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
3093 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
3094 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
3095 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
3096 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
3097 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3098 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
3099 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
3100 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
3101 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 -07003102#ifdef WLAN_FEATURE_11AC
3103 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
3104#endif
3105 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
3106 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
3107 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 +05303108 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 -08003109 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 -07003110 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 -07003111 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 -07003112
Leo Chang64d68bc2013-06-04 15:40:52 -07003113 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
3114 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTrafficIdleTimeout] Value = [%u] ", pHddCtx->cfg_ini->trafficIdleTimeout);
Yue Ma0fd23872013-08-01 15:56:47 -07003115 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gFlexConnectPowerFactor] Value = [%u] ", pHddCtx->cfg_ini->flexConnectPowerFactor);
Ravi Joshid2ca7c42013-07-23 08:37:49 -07003116 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableIbssHeartBeatOffload] Value = [%u] ", pHddCtx->cfg_ini->enableIbssHeartBeatOffload);
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05303117 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAntennaDiversity] Value = [%u] ", pHddCtx->cfg_ini->antennaDiversity);
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303118 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
3119 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
3120 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
3121 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApKeepAlivePeriod]Value = [%u]",pHddCtx->cfg_ini->apKeepAlivePeriod);
3122
Jeff Johnson295189b2012-06-20 16:38:30 -07003123}
3124
3125
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003126
Jeff Johnson295189b2012-06-20 16:38:30 -07003127#define CFG_VALUE_MAX_LEN 256
3128#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
3129VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
3130{
3131 unsigned int idx;
3132 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3133 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3134 v_U32_t value;
3135 char valueStr[CFG_VALUE_MAX_LEN];
3136 char configStr[CFG_ENTRY_MAX_LEN];
3137 char *fmt;
3138 void *pField;
3139 v_MACADDR_t *pMacAddr;
3140 char *pCur = pBuf;
3141 int curlen;
3142
3143 // start with an empty string
3144 *pCur = '\0';
3145
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003146 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07003147 {
3148 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
3149
3150 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3151 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003152 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07003153 {
3154 value = 0;
3155 memcpy( &value, pField, pRegEntry->VarSize );
3156 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
3157 {
3158 fmt = "%x";
3159 }
3160 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3161 {
3162 fmt = "%d";
3163 }
3164 else
3165 {
3166 fmt = "%u";
3167 }
3168 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
3169 }
3170 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3171 {
3172 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
3173 }
3174 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3175 {
3176 pMacAddr = (v_MACADDR_t *) pField;
3177 snprintf(valueStr, CFG_VALUE_MAX_LEN,
3178 "%02x:%02x:%02x:%02x:%02x:%02x",
3179 pMacAddr->bytes[0],
3180 pMacAddr->bytes[1],
3181 pMacAddr->bytes[2],
3182 pMacAddr->bytes[3],
3183 pMacAddr->bytes[4],
3184 pMacAddr->bytes[5]);
3185 }
3186 else
3187 {
3188 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
3189 }
3190 curlen = snprintf(configStr, CFG_ENTRY_MAX_LEN,
3191 "%s=[%s]%s\n",
3192 pRegEntry->RegName,
3193 valueStr,
3194 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
3195 "*" : "");
3196
3197 // ideally we want to return the config to the application
3198 // however the config is too big so we just printk() for now
3199#ifdef RETURN_IN_BUFFER
3200 if (curlen <= buflen)
3201 {
3202 // copy string + '\0'
3203 memcpy(pCur, configStr, curlen+1);
3204
3205 // account for addition;
3206 pCur += curlen;
3207 buflen -= curlen;
3208 }
3209 else
3210 {
3211 // buffer space exhausted, return what we have
3212 return VOS_STATUS_E_RESOURCES;
3213 }
3214#else
3215 printk(KERN_CRIT "%s", configStr);
3216#endif // RETURN_IN_BUFFER
3217
3218}
3219
3220#ifndef RETURN_IN_BUFFER
3221 // notify application that output is in system log
3222 snprintf(pCur, buflen, "WLAN configuration written to system log");
3223#endif // RETURN_IN_BUFFER
3224
3225 return VOS_STATUS_SUCCESS;
3226}
3227
3228static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003229 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07003230{
3231 VOS_STATUS status = VOS_STATUS_E_FAILURE;
3232 unsigned long i;
3233
3234 for (i = 0; i < entries; i++) {
3235 if (strcmp(iniTable[i].name, name) == 0) {
3236 *value = iniTable[i].value;
3237 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
3238 WLAN_INI_FILE, name, *value);
3239 return VOS_STATUS_SUCCESS;
3240 }
3241 }
3242
3243 return status;
3244}
3245
3246static int parseHexDigit(char c)
3247{
3248 if (c >= '0' && c <= '9')
3249 return c-'0';
3250 if (c >= 'a' && c <= 'f')
3251 return c-'a'+10;
3252 if (c >= 'A' && c <= 'F')
3253 return c-'A'+10;
3254
3255 return 0;
3256}
3257
3258
3259static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
3260{
3261 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
3262 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
3263 unsigned int idx;
3264 void *pField;
3265 char *value_str = NULL;
3266 unsigned long len_value_str;
3267 char *candidate;
3268 v_U32_t value;
3269 v_S31_t svalue;
3270 void *pStructBase = pHddCtx->cfg_ini;
3271 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3272 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3273 v_U32_t cbOutString;
3274 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003275 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003276
3277 // sanity test
3278 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
3279 {
3280 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003281 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07003282 }
3283
3284 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
3285 {
3286 //Calculate the address of the destination field in the structure.
3287 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
3288
3289 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
3290
3291 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
3292 {
3293 // If we could not read the cfg item and it is required, this is an error.
3294 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003295 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003296 ret_status = VOS_STATUS_E_FAILURE;
3297 break;
3298 }
3299
3300 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3301 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
3302 {
3303 // If successfully read from the registry, use the value read.
3304 // If not, use the default value.
3305 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003306 rv = kstrtoul(value_str, 10, &value);
3307 if (rv < 0) {
3308 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
3309 __func__, pRegEntry->RegName);
3310 value = pRegEntry->VarDefault;
3311 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003312 }
3313 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003314 rv = kstrtoul(value_str, 16, &value);
3315 if (rv < 0) {
3316 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
3317 __func__, pRegEntry->RegName);
3318 value = pRegEntry->VarDefault;
3319 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003320 }
3321 else {
3322 value = pRegEntry->VarDefault;
3323 }
3324
3325 // If this parameter needs range checking, do it here.
3326 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3327 {
3328 if ( value > pRegEntry->VarMax )
3329 {
3330 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003331 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07003332 value = pRegEntry->VarMax;
3333 }
3334
3335 if ( value < pRegEntry->VarMin )
3336 {
3337 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003338 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003339 value = pRegEntry->VarMin;
3340 }
3341 }
3342 // If this parameter needs range checking, do it here.
3343 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3344 {
3345 if ( value > pRegEntry->VarMax )
3346 {
3347 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003348 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003349 value = pRegEntry->VarDefault;
3350 }
3351
3352 if ( value < pRegEntry->VarMin )
3353 {
3354 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003355 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003356 value = pRegEntry->VarDefault;
3357 }
3358 }
3359
3360 // Move the variable into the output field.
3361 memcpy( pField, &value, pRegEntry->VarSize );
3362 }
3363 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3364 {
3365 // If successfully read from the registry, use the value read.
3366 // If not, use the default value.
3367 if (VOS_STATUS_SUCCESS == match_status)
3368 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003369 rv = kstrtol(value_str, 10, &svalue);
3370 if (rv < 0) {
3371 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3372 __func__, pRegEntry->RegName);
3373 svalue = (v_S31_t)pRegEntry->VarDefault;
3374 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003375 }
3376 else
3377 {
3378 svalue = (v_S31_t)pRegEntry->VarDefault;
3379 }
3380
3381 // If this parameter needs range checking, do it here.
3382 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3383 {
3384 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3385 {
3386 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003387 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003388 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3389 svalue = (v_S31_t)pRegEntry->VarMax;
3390 }
3391
3392 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3393 {
3394 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003395 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003396 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3397 svalue = (v_S31_t)pRegEntry->VarMin;
3398 }
3399 }
3400 // If this parameter needs range checking, do it here.
3401 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3402 {
3403 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3404 {
3405 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
3406 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003407 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003408 (int)pRegEntry->VarMax,
3409 (int)pRegEntry->VarDefault );
3410 svalue = (v_S31_t)pRegEntry->VarDefault;
3411 }
3412
3413 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3414 {
3415 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
3416 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003417 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003418 (int)pRegEntry->VarMin,
3419 (int)pRegEntry->VarDefault);
3420 svalue = pRegEntry->VarDefault;
3421 }
3422 }
3423
3424 // Move the variable into the output field.
3425 memcpy( pField, &svalue, pRegEntry->VarSize );
3426 }
3427 // Handle string parameters
3428 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3429 {
3430#ifdef WLAN_CFG_DEBUG
3431 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 -08003432 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003433#endif
3434
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003435 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003436 {
3437 len_value_str = strlen(value_str);
3438
3439 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003440 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003441 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003442 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3443 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3444 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3445 }
3446 else
3447 {
3448 memcpy( pField, (void *)(value_str), len_value_str);
3449 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3450 }
3451 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003452 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003453 {
3454 // Failed to read the string parameter from the registry. Use the default.
3455 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3456 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003457 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003458 }
3459 }
3460 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3461 {
3462 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003463 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
3464 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003465 continue;
3466 }
3467 candidate = (char*)pRegEntry->VarDefault;
3468 if ( match_status == VOS_STATUS_SUCCESS) {
3469 len_value_str = strlen(value_str);
3470 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003471 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003472 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003473 }
3474 else
3475 candidate = value_str;
3476 }
3477 //parse the string and store it in the byte array
3478 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3479 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003480 ((char*)pField)[i] =
3481 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003482 }
3483 }
3484 else
3485 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003486 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003487 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003488 }
3489
3490 // did we successfully parse a cfg item for this parameter?
3491 if( (match_status == VOS_STATUS_SUCCESS) &&
3492 (idx < MAX_CFG_INI_ITEMS) )
3493 {
3494 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3495 }
3496 }
3497
3498 print_hdd_cfg(pHddCtx);
3499
3500 return( ret_status );
3501}
3502
3503eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3504{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003505 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003506 {
3507 case (eHDD_DOT11_MODE_abg):
3508 return eCSR_DOT11_MODE_abg;
3509 case (eHDD_DOT11_MODE_11b):
3510 return eCSR_DOT11_MODE_11b;
3511 case (eHDD_DOT11_MODE_11g):
3512 return eCSR_DOT11_MODE_11g;
3513 default:
3514 case (eHDD_DOT11_MODE_11n):
3515 return eCSR_DOT11_MODE_11n;
3516 case (eHDD_DOT11_MODE_11g_ONLY):
3517 return eCSR_DOT11_MODE_11g_ONLY;
3518 case (eHDD_DOT11_MODE_11n_ONLY):
3519 return eCSR_DOT11_MODE_11n_ONLY;
3520 case (eHDD_DOT11_MODE_11b_ONLY):
3521 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003522#ifdef WLAN_FEATURE_11AC
3523 case (eHDD_DOT11_MODE_11ac_ONLY):
3524 return eCSR_DOT11_MODE_11ac_ONLY;
3525 case (eHDD_DOT11_MODE_11ac):
3526 return eCSR_DOT11_MODE_11ac;
3527#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003528 case (eHDD_DOT11_MODE_AUTO):
3529 return eCSR_DOT11_MODE_AUTO;
3530 }
3531
3532}
3533
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003534static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003535{
3536 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3537 tSmeBtcConfig btcParams;
Wilson Tsaof8b37942013-09-06 10:49:00 -07003538 int i;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003539
Jeff Johnson295189b2012-06-20 16:38:30 -07003540 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3541
3542 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003543 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003544 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3545
Jeff Johnson32d95a32012-09-10 13:15:23 -07003546 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3547 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3548 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3549 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3550 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3551 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3552 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3553 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3554 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3555 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3556 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3557 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3558 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3559
Wilson Tsaof8b37942013-09-06 10:49:00 -07003560 for (i = 0; i < 10; i++)
3561 {
3562 btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i];
3563 btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i];
3564 btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i];
3565 btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i];
3566 }
3567 for (i = 0; i < 6; i++)
3568 {
3569 btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i];
3570 }
3571 btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff;
3572 btcParams.SARPowerBackoff = pConfig->SARPowerBackoff;
3573
Jeff Johnson295189b2012-06-20 16:38:30 -07003574 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3575}
3576
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003577static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003578{
3579 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3580
3581 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003582
Jeff Johnson295189b2012-06-20 16:38:30 -07003583 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003584
Jeff Johnson295189b2012-06-20 16:38:30 -07003585 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3586 {
3587 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3588 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3589 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3590 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3591 }
3592 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3593 {
3594 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3595 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3596 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3597 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3598 }
3599 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3600 {
3601 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3602 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3603 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3604 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3605 }
3606
3607 if (pConfig->fIsImpsEnabled)
3608 {
3609 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3610 }
3611 else
3612 {
3613 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3614 }
3615
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303616 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3617 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3618 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3619
Jeff Johnson295189b2012-06-20 16:38:30 -07003620 if (pConfig->fIsBmpsEnabled)
3621 {
3622 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3623 }
3624 else
3625 {
3626 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3627 }
3628
3629 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3630
3631 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3632 {
3633 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3634 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003635
Jeff Johnson295189b2012-06-20 16:38:30 -07003636 if(pConfig->fIsAutoBmpsTimerEnabled)
3637 {
3638 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3639 }
3640
3641}
3642
3643#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3644static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3645{
3646 char *s = str;
3647
3648 if( str == NULL || intArray == NULL || len == NULL )
3649 {
3650 return VOS_STATUS_E_INVAL;
3651 }
3652 *len = 0;
3653
Jeff Johnson295189b2012-06-20 16:38:30 -07003654 while ( (s != NULL) && (*len < intArrayMaxLen) )
3655 {
3656 int val;
3657 //Increment length only if sscanf succesfully extracted one element.
3658 //Any other return value means error. Ignore it.
3659 if( sscanf(s, "%d", &val ) == 1 )
3660 {
3661 intArray[*len] = (tANI_U8) val;
3662 *len += 1;
3663 }
3664 s = strpbrk( s, "," );
3665 if( s )
3666 s++;
3667 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003668
3669 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003670
Jeff Johnson295189b2012-06-20 16:38:30 -07003671}
3672#endif
3673
3674
3675v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3676{
3677 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003678#ifdef WLAN_SOFTAP_VSTA_FEATURE
3679 tANI_U32 val;
3680#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003681
3682 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303683 tSirMacHTCapabilityInfo htCapInfo;
3684
Jeff Johnson295189b2012-06-20 16:38:30 -07003685
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003686 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003687 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3688 {
3689 fStatus = FALSE;
3690 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3691 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003692
3693 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003694 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3695 {
3696 fStatus = FALSE;
3697 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3698 }
3699
3700 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3701 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3702 {
3703 fStatus = FALSE;
3704 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3705 }
3706
3707 if ( 0 != pConfig->Cfg1Id )
3708 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003709 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003710 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3711 {
3712 fStatus = FALSE;
3713 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3714 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003715
Jeff Johnson295189b2012-06-20 16:38:30 -07003716 }
3717
3718 if ( 0 != pConfig->Cfg2Id )
3719 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003720 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003721 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3722 {
3723 fStatus = FALSE;
3724 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3725 }
3726 }
3727
3728 if ( 0 != pConfig->Cfg3Id )
3729 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003730 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003731 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3732 {
3733 fStatus = FALSE;
3734 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3735 }
3736 }
3737
3738 if ( 0 != pConfig->Cfg4Id )
3739 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003740 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003741 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3742 {
3743 fStatus = FALSE;
3744 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3745 }
3746 }
3747
3748 if ( 0 != pConfig->Cfg5Id )
3749 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003750 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003751 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3752 {
3753 fStatus = FALSE;
3754 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3755 }
3756 }
3757
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003758 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003759 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3760 {
3761 fStatus = FALSE;
3762 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3763 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003764
3765 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003766 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3767 {
3768 fStatus = FALSE;
3769 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3770 }
3771
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003772 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003773 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3774 {
3775 fStatus = FALSE;
3776 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3777 }
3778
3779 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3780 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3781 {
3782 fStatus = FALSE;
3783 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3784 }
3785
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003786 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003787 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003788 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003789 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3790 {
3791 fStatus = FALSE;
3792 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3793 }
3794 }
3795 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003796 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003797 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3798 {
3799 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3800 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003801 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003802 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003803 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003804 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3805 {
3806 fStatus = FALSE;
3807 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3808 }
3809 }
3810 else
3811 {
3812 fStatus = FALSE;
3813 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3814 }
3815 }
3816
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003817 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003818 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3819 {
3820 fStatus = FALSE;
3821 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3822 }
3823
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003824 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003825 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3826 {
3827 fStatus = FALSE;
3828 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3829 }
3830
3831 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3832 {
3833 fStatus = FALSE;
3834 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3835 }
3836
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003837 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003838 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3839 {
3840 fStatus = FALSE;
3841 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3842 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003843
Jeff Johnson295189b2012-06-20 16:38:30 -07003844 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3845 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3846 {
3847 fStatus = FALSE;
3848 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3849 }
3850
Jeff Johnson295189b2012-06-20 16:38:30 -07003851 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3852 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3853 {
3854 fStatus = FALSE;
3855 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3856 }
3857
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003858 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003859 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3860 {
3861 fStatus = FALSE;
3862 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3863 }
3864
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003865 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003866 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3867 {
3868 fStatus = FALSE;
3869 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3870 }
3871
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003872 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003873 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3874 {
3875 fStatus = FALSE;
3876 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3877 }
3878
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003879 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003880 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3881 {
3882 fStatus = FALSE;
3883 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3884 }
3885
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003886 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003887 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3888 {
3889 fStatus = FALSE;
3890 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3891 }
3892
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003893 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003894 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3895 {
3896 fStatus = FALSE;
3897 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3898 }
3899
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003900 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003901 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3902 {
3903 fStatus = FALSE;
3904 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3905 }
3906
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003907 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003908 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3909 {
3910 fStatus = FALSE;
3911 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003912 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003913
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003914 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003915 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3916 {
3917 fStatus = FALSE;
3918 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3919 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003920
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303921 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3922 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3923 {
3924 fStatus = FALSE;
3925 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3926 }
3927
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303928 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
3929 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3930 {
3931 fStatus = FALSE;
3932 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM\n");
3933 }
3934
3935
Jeff Johnson295189b2012-06-20 16:38:30 -07003936#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003937 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003938 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3939 {
3940 fStatus = FALSE;
3941 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3942 }
3943
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003944 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003945 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3946 {
3947 fStatus = FALSE;
3948 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3949 }
3950
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003951 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003952 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3953 {
3954 fStatus = FALSE;
3955 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3956 }
3957
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003958 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003959 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3960#endif
3961
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003962 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07003963 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3964 {
3965 fStatus = FALSE;
3966 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
3967 }
3968
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003969 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003970 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3971 {
3972 fStatus = FALSE;
3973 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
3974 }
3975
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003976 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003977 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3978 {
3979 fStatus = FALSE;
3980 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
3981 }
3982
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003983 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003984 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3985 {
3986 fStatus = FALSE;
3987 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
3988 }
3989
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003990 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003991 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3992 {
3993 fStatus = FALSE;
3994 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
3995 }
3996
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003997 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003998 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3999 {
4000 fStatus = FALSE;
4001 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
4002 }
4003
4004 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
4005 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4006 {
4007 fStatus = FALSE;
4008 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
4009 }
4010
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004011 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004012 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4013 {
4014 fStatus = FALSE;
4015 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
4016 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004017 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07004018 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4019 {
4020 fStatus = FALSE;
4021 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
4022 }
4023
4024 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
4025 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4026 {
4027 fStatus = FALSE;
4028 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 -08004029 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004030
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004031 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07004032 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004033 {
4034 fStatus = FALSE;
4035 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
4036 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004037 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004038 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4039 {
4040 fStatus = FALSE;
4041 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
4042 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004043 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004044 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4045 {
4046 fStatus = FALSE;
4047 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
4048 }
4049
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004050 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07004051 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4052 {
4053 fStatus = FALSE;
4054 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
4055 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004056 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07004057 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4058 {
4059 fStatus = FALSE;
4060 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
4061 }
4062
Jeff Johnson295189b2012-06-20 16:38:30 -07004063 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
4064 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4065 {
4066 fStatus = FALSE;
4067 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
4068 }
4069
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004070 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07004071 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
4072 ==eHAL_STATUS_FAILURE)
4073 {
4074 fStatus = FALSE;
4075 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
4076 }
4077
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004078 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07004079 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
4080 ==eHAL_STATUS_FAILURE)
4081 {
4082 fStatus = FALSE;
4083 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
4084 }
4085
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004086 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004087 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4088 {
4089 fStatus = FALSE;
4090 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
4091 }
4092
Jeff Johnsond13512a2012-07-17 11:42:19 -07004093
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004094 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07004095 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4096 {
4097 fStatus = FALSE;
4098 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
4099 }
4100
Jeff Johnsone7245742012-09-05 17:12:55 -07004101#ifdef WLAN_FEATURE_11AC
4102 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
4103 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
4104 /* we update only the least significant 2 bits in the corresponding fields */
4105 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
4106 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
4107 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
4108 {
4109 {
4110 tANI_U32 temp = 0;
4111
4112 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004113 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004114
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004115 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07004116 temp, NULL, eANI_BOOLEAN_FALSE)
4117 ==eHAL_STATUS_FAILURE)
4118 {
4119 fStatus = FALSE;
4120 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
4121 }
4122
4123 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004124 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004125
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004126 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004127 temp, NULL, eANI_BOOLEAN_FALSE)
4128 ==eHAL_STATUS_FAILURE)
4129 {
4130 fStatus = FALSE;
4131 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
4132 }
4133
4134 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004135 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004136
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004137 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004138 temp, NULL, eANI_BOOLEAN_FALSE)
4139 ==eHAL_STATUS_FAILURE)
4140 {
4141 fStatus = FALSE;
4142 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
4143 }
4144 }
4145 }
4146#endif
4147
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004148 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004149 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4150 {
4151 fStatus = FALSE;
4152 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
4153 }
4154
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004155 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304156 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4157 ==eHAL_STATUS_FAILURE)
4158 {
4159 fStatus = FALSE;
4160 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
4161 }
4162
4163 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
4164 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
4165
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004166 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304167 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
4168 ==eHAL_STATUS_FAILURE)
4169 {
4170 fStatus = FALSE;
4171 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
4172 }
4173
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004174 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304175 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4176 ==eHAL_STATUS_FAILURE)
4177 {
4178 fStatus = FALSE;
4179 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
4180 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004181
4182#ifdef WLAN_SOFTAP_VSTA_FEATURE
4183 if(pConfig->fEnableVSTASupport)
4184 {
4185 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
4186 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
4187 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
4188 }
4189 else
4190 {
4191 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
4192 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004193 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004194 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4195 {
4196 fStatus = FALSE;
4197 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
4198 }
4199#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004200 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004201 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
4202 ==eHAL_STATUS_FAILURE)
4203 {
4204 fStatus = FALSE;
4205 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
4206 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304207
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004208 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
4209 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4210 {
4211 fStatus = FALSE;
4212 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
4213 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004214 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
4215 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4216 {
4217 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004218 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 -08004219 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004220
4221 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
4222 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4223 {
4224 fStatus = FALSE;
4225 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
4226 }
4227
4228 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
4229 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4230 {
4231 fStatus = FALSE;
4232 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
4233 }
4234
4235 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
4236 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4237 {
4238 fStatus = FALSE;
4239 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
4240 }
4241
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05304242 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
4243 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4244 {
4245 fStatus = FALSE;
4246 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
4247 }
4248
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304249#ifdef FEATURE_WLAN_TDLS
4250
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004251 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
4252 pConfig->fTDLSUapsdMask, NULL,
4253 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304254 {
4255 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004256 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304257 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004258 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
4259 pConfig->fEnableTDLSBufferSta, NULL,
4260 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304261 {
4262 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004263 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304264 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004265 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
4266 pConfig->fTDLSPuapsdInactivityTimer, NULL,
4267 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304268 {
4269 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004270 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304271 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004272 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
4273 pConfig->fTDLSRxFrameThreshold, NULL,
4274 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304275 {
4276 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004277 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304278 }
4279#endif
4280
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004281 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
4282 pConfig->fEnableAdaptRxDrain, NULL,
4283 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4284 {
4285 fStatus = FALSE;
4286 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
4287 }
Yue Ma0fd23872013-08-01 15:56:47 -07004288
4289 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
4290 pConfig->flexConnectPowerFactor, NULL,
4291 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4292 {
4293 fStatus = FALSE;
4294 hddLog(LOGE, "Failure: Could not pass on "
4295 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
4296 }
4297
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05304298 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
4299 pConfig->antennaDiversity, NULL,
4300 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4301 {
4302 fStatus = FALSE;
4303 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
4304 }
4305
Jeff Johnson295189b2012-06-20 16:38:30 -07004306 return fStatus;
4307}
4308
4309
4310/**---------------------------------------------------------------------------
4311
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004312 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07004313
4314 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004315
Jeff Johnson295189b2012-06-20 16:38:30 -07004316 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004317
Jeff Johnson295189b2012-06-20 16:38:30 -07004318 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004319
Jeff Johnson295189b2012-06-20 16:38:30 -07004320 --------------------------------------------------------------------------*/
4321
4322VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
4323{
4324 VOS_STATUS status = VOS_STATUS_SUCCESS;
4325 eHalStatus halStatus;
4326 tSmeConfigParams smeConfig;
4327
4328 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4329
Amar Singhalfddc28c2013-09-05 13:03:40 -07004330
Jeff Johnson295189b2012-06-20 16:38:30 -07004331 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
4332
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004333 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07004334 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
4335 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
4336
4337 // Config params obtained from the registry
Amar Singhalfddc28c2013-09-05 13:03:40 -07004338
Jeff Johnson295189b2012-06-20 16:38:30 -07004339 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
4340 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
4341 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
4342 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
4343 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
4344
4345 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
4346
4347 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
4348 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
4349 smeConfig.csrConfig.TxRate = pConfig->TxRate;
4350 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
4351 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
4352 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
4353 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
4354 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
4355 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
4356 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
4357 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
4358 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
4359 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
4360 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
4361 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
4362 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
4363 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004364 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07004365 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
4366 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
4367 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
4368 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004369 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
4370 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07004371 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004372#ifdef WLAN_AP_STA_CONCURRENCY
4373 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
4374 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
4375 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
4376 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
4377 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07004378 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
4379 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
4380
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004381#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004382 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
4383 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
4384
4385#if defined WLAN_FEATURE_VOWIFI
4386 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
4387 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
4388#endif
4389 //Remaining config params not obtained from registry
4390 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07004391#ifdef WLAN_FEATURE_11AC
4392 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08004393 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08004394 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07004395 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07004396#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07004397 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
4398 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004399 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
4400 smeConfig.csrConfig.HeartbeatThresh50 = 40;
4401 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08004402 if (pConfig->nBandCapability == eCSR_BAND_24)
4403 {
4404 smeConfig.csrConfig.Is11hSupportEnabled = 0;
4405 } else {
4406 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
4407 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004408 smeConfig.csrConfig.cbChoice = 0;
4409 smeConfig.csrConfig.bgScanInterval = 0;
4410 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07004411 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
4412 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
4413 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004414#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
4415 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004416 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004417 smeConfig.csrConfig.nProbes = pConfig->nProbes;
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -07004418
4419 if (pConfig->nRoamScanHomeAwayTime < (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
4420 {
4421 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
4422 "%s: Invalid config, Home away time(%d) is less than twice RF switching time + channel max time(%d)"
4423 " Hence enforcing home away time to disable (0)",
4424 __func__, pConfig->nRoamScanHomeAwayTime,
4425 (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
4426 pConfig->nRoamScanHomeAwayTime = 0;
4427 }
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004428 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004429#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07004430 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
4431
Jeff Johnson295189b2012-06-20 16:38:30 -07004432 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08004433 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
4434 {
4435 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07004436
Jeff Johnson7dda7772013-02-27 08:36:13 -08004437 /* if there is a requirement that HDD will control the default
4438 * channel list & country code (say from .ini file) we need to
4439 * add some logic here. Otherwise the default 11d info should
4440 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004441 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004442 else
4443 {
4444 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4445 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004446
Jeff Johnson7dda7772013-02-27 08:36:13 -08004447 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4448 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4449 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4450 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004451 hdd_set_power_save_config(pHddCtx, &smeConfig);
4452 hdd_set_btc_config(pHddCtx);
4453
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004454#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004455 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4456#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004457#ifdef FEATURE_WLAN_LFR
4458 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
4459#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004460#ifdef FEATURE_WLAN_CCX
4461 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004462 if( pConfig->isCcxIniFeatureEnabled )
4463 {
4464 pConfig->isFastTransitionEnabled = TRUE;
4465 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004466#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004467#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004468 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07004469 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004470 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Jeff Johnson295189b2012-06-20 16:38:30 -07004471#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004472#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4473 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004474 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4475
4476 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4477 {
4478 /* Disable roaming in concurrency if roam scan offload is disabled */
4479 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4480 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004481#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004482#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4483 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4484 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004485 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4486 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004487 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004488 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004489 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004490 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004491 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4492 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4493 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004494 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4495#endif
4496
4497 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4498 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4499
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004500 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004501 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004502 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004503
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004504 //Scan Results Aging Time out value
4505 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4506
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004507 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4508
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004509 /* update SSR config */
4510 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304511 /* Update the Directed scan offload setting */
4512 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004513
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004514 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004515 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4516 {
4517 status = VOS_STATUS_E_FAILURE;
4518 }
4519
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004520
4521 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004522}
4523
4524
4525/**---------------------------------------------------------------------------
4526
4527 \brief hdd_execute_config_command() -
4528
4529 This function executes an arbitrary configuration set command
4530
4531 \param - pHddCtx - Pointer to the HDD Adapter.
4532 \parmm - command - a configuration command of the form:
4533 <name>=<value>
4534
4535 \return - 0 for success, non zero for failure
4536
4537 --------------------------------------------------------------------------*/
4538
4539VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4540{
4541 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4542 REG_TABLE_ENTRY *pRegEntry;
4543 char *clone;
4544 char *pCmd;
4545 void *pField;
4546 char *name;
4547 char *value_str;
4548 v_U32_t value;
4549 v_S31_t svalue;
4550 size_t len_value_str;
4551 unsigned int idx;
4552 unsigned int i;
4553 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004554 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004555
4556 // assume failure until proven otherwise
4557 vstatus = VOS_STATUS_E_FAILURE;
4558
4559 // clone the command so that we can manipulate it
4560 clone = kstrdup(command, GFP_ATOMIC);
4561 if (NULL == clone)
4562 {
4563 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004564 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004565 return vstatus;
4566 }
4567
4568 // 'clone' will point to the beginning of the string so it can be freed
4569 // 'pCmd' will be used to walk/parse the command
4570 pCmd = clone;
4571
4572 // get rid of leading/trailing whitespace
4573 pCmd = i_trim(pCmd);
4574 if ('\0' == *pCmd)
4575 {
4576 // only whitespace
4577 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004578 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004579 goto done;
4580 }
4581
4582 // parse the <name> = <value>
4583 name = pCmd;
4584 while (('=' != *pCmd) && ('\0' != *pCmd))
4585 {
4586 pCmd++;
4587 }
4588 if ('\0' == *pCmd)
4589 {
4590 // did not find '='
4591 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004592 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004593 goto done;
4594 }
4595
4596 // replace '=' with NUL to terminate the <name>
4597 *pCmd++ = '\0';
4598 name = i_trim(name);
4599 if ('\0' == *name)
4600 {
4601 // did not find a name
4602 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004603 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004604 goto done;
4605 }
4606
4607 value_str = i_trim(pCmd);
4608 if ('\0' == *value_str)
4609 {
4610 // did not find a value
4611 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004612 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004613 goto done;
4614 }
4615
4616 // lookup the configuration item
4617 for (idx = 0; idx < tableSize; idx++)
4618 {
4619 if (0 == strcmp(name, g_registry_table[idx].RegName))
4620 {
4621 // found a match
4622 break;
4623 }
4624 }
4625 if (tableSize == idx)
4626 {
4627 // did not match the name
4628 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004629 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004630 goto done;
4631 }
4632
4633 pRegEntry = &g_registry_table[idx];
4634 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4635 {
4636 // does not support dynamic configuration
4637 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004638 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004639 goto done;
4640 }
4641
4642 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4643
4644 switch (pRegEntry->RegType)
4645 {
4646 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004647 rv = kstrtoul(value_str, 10, &value);
4648 if (rv < 0)
4649 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004650 if (value < pRegEntry->VarMin)
4651 {
4652 // out of range
4653 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004654 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004655 goto done;
4656 }
4657 if (value > pRegEntry->VarMax)
4658 {
4659 // out of range
4660 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004661 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004662 goto done;
4663 }
4664 memcpy(pField, &value, pRegEntry->VarSize);
4665 break;
4666
4667 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004668 rv = kstrtoul(value_str, 16, &value);
4669 if (rv < 0)
4670 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004671 if (value < pRegEntry->VarMin)
4672 {
4673 // out of range
4674 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004675 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004676 goto done;
4677 }
4678 if (value > pRegEntry->VarMax)
4679 {
4680 // out of range
4681 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004682 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004683 goto done;
4684 }
4685 memcpy(pField, &value, pRegEntry->VarSize);
4686 break;
4687
4688 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004689 rv = kstrtol(value_str, 10, &svalue);
4690 if (rv < 0)
4691 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004692 if (svalue < (v_S31_t)pRegEntry->VarMin)
4693 {
4694 // out of range
4695 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004696 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004697 goto done;
4698 }
4699 if (svalue > (v_S31_t)pRegEntry->VarMax)
4700 {
4701 // out of range
4702 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004703 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004704 goto done;
4705 }
4706 memcpy(pField, &svalue, pRegEntry->VarSize);
4707 break;
4708
4709 case WLAN_PARAM_String:
4710 len_value_str = strlen(value_str);
4711 if (len_value_str > (pRegEntry->VarSize - 1))
4712 {
4713 // too big
4714 hddLog(LOGE,
4715 "%s: invalid command, string [%s] length "
4716 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004717 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004718 len_value_str, (pRegEntry->VarSize - 1));
4719 goto done;
4720 }
4721 // copy string plus NUL
4722 memcpy(pField, value_str, (len_value_str + 1));
4723 break;
4724
4725 case WLAN_PARAM_MacAddr:
4726 len_value_str = strlen(value_str);
4727 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4728 {
4729 // out of range
4730 hddLog(LOGE,
4731 "%s: invalid command, MAC address [%s] length "
4732 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004733 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004734 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4735 goto done;
4736 }
4737 //parse the string and store it in the byte array
4738 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4739 {
4740 ((char*)pField)[i] = (char)
4741 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4742 parseHexDigit(value_str[(i * 2) + 1]));
4743 }
4744 break;
4745
4746 default:
4747 goto done;
4748 }
4749
4750 // if we get here, we had a successful modification
4751 vstatus = VOS_STATUS_SUCCESS;
4752
4753 // config table has been modified, is there a notifier?
4754 if (NULL != pRegEntry->pfnDynamicNotify)
4755 {
4756 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4757 }
4758
4759 // note that this item was explicitly configured
4760 if (idx < MAX_CFG_INI_ITEMS)
4761 {
4762 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4763 }
4764 done:
4765 kfree(clone);
4766 return vstatus;
4767}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004768
4769/**---------------------------------------------------------------------------
4770
4771 \brief hdd_is_okc_mode_enabled() -
4772
4773 This function returns whether OKC mode is enabled or not
4774
4775 \param - pHddCtx - Pointer to the HDD Adapter.
4776
4777 \return - 1 for enabled, zero for disabled
4778
4779 --------------------------------------------------------------------------*/
4780
4781tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4782{
4783 if (NULL == pHddCtx)
4784 {
4785 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4786 return -EINVAL;
4787 }
4788
4789#ifdef FEATURE_WLAN_OKC
4790 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4791#else
4792 return eANI_BOOLEAN_FALSE;
4793#endif
4794}