blob: c0ab631e3b6194aa4b2f12898b55f7750942ba6f [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
587 REG_VARIABLE( CFG_STAT_TIMER_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800588 hdd_config_t, nStatTimerInterval,
589 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
590 CFG_STAT_TIMER_INTERVAL_DEFAULT,
591 CFG_STAT_TIMER_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700592 CFG_STAT_TIMER_INTERVAL_MAX ),
593
594 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800595 hdd_config_t, fIsShortPreamble,
596 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
597 CFG_SHORT_PREAMBLE_DEFAULT,
598 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700599 CFG_SHORT_PREAMBLE_MAX ),
600
601 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800602 hdd_config_t, fIsAutoIbssBssid,
603 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
604 CFG_IBSS_AUTO_BSSID_DEFAULT,
605 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700606 CFG_IBSS_AUTO_BSSID_MAX ),
607
608 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800609 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700610 VAR_FLAGS_OPTIONAL,
611 (void *)CFG_IBSS_BSSID_DEFAULT ),
612
613 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800614 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700615 VAR_FLAGS_OPTIONAL,
616 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
617
618 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800619 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700620 VAR_FLAGS_OPTIONAL,
621 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
622
623 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800624 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700625 VAR_FLAGS_OPTIONAL,
626 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
627
628 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800629 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700630 VAR_FLAGS_OPTIONAL,
631 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
632
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -0700633 REG_VARIABLE_STRING( CFG_CRDA_DEFAULT_COUNTRY_CODE, WLAN_PARAM_String,
634 hdd_config_t, crdaDefaultCountryCode,
635 VAR_FLAGS_OPTIONAL,
636 (void *)CFG_CRDA_DEFAULT_COUNTRY_CODE_DEFAULT ),
637
Jeff Johnson295189b2012-06-20 16:38:30 -0700638 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800639 hdd_config_t, apUapsdEnabled,
640 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
641 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
642 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700643 CFG_AP_QOS_UAPSD_MODE_MAX ),
644
645 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800646 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700647 VAR_FLAGS_OPTIONAL,
648 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
649
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700650 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
651 hdd_config_t, apRandomBssidEnabled,
652 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
653 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
654 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
655 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
656
Jeff Johnson295189b2012-06-20 16:38:30 -0700657 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800658 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700659 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
660 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
661 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
662 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
663
664 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
665 hdd_config_t, apProtection,
666 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
667 CFG_AP_PROTECTION_MODE_DEFAULT,
668 CFG_AP_PROTECTION_MODE_MIN,
669 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800670
Jeff Johnson295189b2012-06-20 16:38:30 -0700671 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800672 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700673 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
674 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
675 CFG_AP_OBSS_PROTECTION_MODE_MIN,
676 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800677
Jeff Johnson295189b2012-06-20 16:38:30 -0700678 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800679 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700680 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
681 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
682 CFG_AP_STA_SECURITY_SEPERATION_MIN,
683 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
684
685 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800686 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700687 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
688 CFG_FRAMES_PROCESSING_TH_DEFAULT,
689 CFG_FRAMES_PROCESSING_TH_MIN,
690 CFG_FRAMES_PROCESSING_TH_MAX ),
691
692 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
693 hdd_config_t, apStartChannelNum,
694 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
695 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
696 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
697 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
698
699 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
700 hdd_config_t, apEndChannelNum,
701 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
702 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
703 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
704 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
705
706 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
707 hdd_config_t, apOperatingBand,
708 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
709 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
710 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
711 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
712
713 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
714 hdd_config_t, apAutoChannelSelection,
715 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
716 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
717 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
718 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800719
Jeff Johnson295189b2012-06-20 16:38:30 -0700720 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
721 hdd_config_t, enableLTECoex,
722 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
723 CFG_ENABLE_LTE_COEX_DEFAULT,
724 CFG_ENABLE_LTE_COEX_MIN,
725 CFG_ENABLE_LTE_COEX_MAX ),
726
727 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
728 hdd_config_t, apKeepAlivePeriod,
729 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
730 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
731 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
732 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
733
734 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
735 hdd_config_t, goKeepAlivePeriod,
736 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
737 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
738 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
739 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
740
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530741 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
742 hdd_config_t, apLinkMonitorPeriod,
743 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
744 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
745 CFG_AP_LINK_MONITOR_PERIOD_MIN,
746 CFG_AP_LINK_MONITOR_PERIOD_MAX),
747
Jeff Johnson295189b2012-06-20 16:38:30 -0700748 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
749 hdd_config_t, disablePacketFilter,
750 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
751 CFG_DISABLE_PACKET_FILTER_DEFAULT,
752 CFG_DISABLE_PACKET_FILTER_MIN,
753 CFG_DISABLE_PACKET_FILTER_MAX ),
754
755 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800756 hdd_config_t, nBeaconInterval,
757 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
758 CFG_BEACON_INTERVAL_DEFAULT,
759 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700760 CFG_BEACON_INTERVAL_MAX ),
761
Jeff Johnson295189b2012-06-20 16:38:30 -0700762 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800763 hdd_config_t, nEnableIdleScan,
764 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
765 CFG_ENABLE_IDLE_SCAN_DEFAULT,
766 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700767 CFG_ENABLE_IDLE_SCAN_MAX ),
768
769 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800770 hdd_config_t, nRoamingTime,
771 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
772 CFG_ROAMING_TIME_DEFAULT,
773 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700774 CFG_ROAMING_TIME_MAX ),
775
776 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800777 hdd_config_t, nVccRssiTrigger,
778 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
779 CFG_VCC_RSSI_TRIGGER_DEFAULT,
780 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700781 CFG_VCC_RSSI_TRIGGER_MAX ),
782
783 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800784 hdd_config_t, nVccUlMacLossThreshold,
785 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
786 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
787 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700788 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
789
790 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800791 hdd_config_t, nPassiveMaxChnTime,
792 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
793 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
794 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700795 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
796
797 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800798 hdd_config_t, nPassiveMinChnTime,
799 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
800 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
801 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700802 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
803
804 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800805 hdd_config_t, nActiveMaxChnTime,
806 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
807 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
808 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700809 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
810
811 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800812 hdd_config_t, nActiveMinChnTime,
813 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
814 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
815 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700816 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700817
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800818 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
819 hdd_config_t, nActiveMaxChnTimeBtc,
820 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
821 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
822 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
823 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
824
825 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
826 hdd_config_t, nActiveMinChnTimeBtc,
827 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
828 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
829 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
830 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
831
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700832 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
833 hdd_config_t, retryLimitZero,
834 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
835 CFG_RETRY_LIMIT_ZERO_DEFAULT,
836 CFG_RETRY_LIMIT_ZERO_MIN,
837 CFG_RETRY_LIMIT_ZERO_MAX ),
838
839 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
840 hdd_config_t, retryLimitOne,
841 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
842 CFG_RETRY_LIMIT_ONE_DEFAULT,
843 CFG_RETRY_LIMIT_ONE_MIN,
844 CFG_RETRY_LIMIT_ONE_MAX ),
845
846 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
847 hdd_config_t, retryLimitTwo,
848 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
849 CFG_RETRY_LIMIT_TWO_DEFAULT,
850 CFG_RETRY_LIMIT_TWO_MIN,
851 CFG_RETRY_LIMIT_TWO_MAX ),
852
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700853 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
854 hdd_config_t, disableAggWithBtc,
855 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
856 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
857 CFG_DISABLE_AGG_WITH_BTC_MIN,
858 CFG_DISABLE_AGG_WITH_BTC_MAX ),
859
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700860#ifdef WLAN_AP_STA_CONCURRENCY
861 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800862 hdd_config_t, nPassiveMaxChnTimeConc,
863 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
864 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
865 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700866 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
867
868 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800869 hdd_config_t, nPassiveMinChnTimeConc,
870 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
871 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
872 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700873 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
874
875 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800876 hdd_config_t, nActiveMaxChnTimeConc,
877 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
878 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
879 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700880 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
881
882 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800883 hdd_config_t, nActiveMinChnTimeConc,
884 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
885 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
886 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700887 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
888
889 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800890 hdd_config_t, nRestTimeConc,
891 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
892 CFG_REST_TIME_CONC_DEFAULT,
893 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700894 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800895
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700896 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
897 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800898 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700899 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
900 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
901 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
902
903 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
904 hdd_config_t, nNumP2PChanCombinedConc,
905 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
906 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
907 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
908 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700909#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800910
Jeff Johnson295189b2012-06-20 16:38:30 -0700911 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800912 hdd_config_t, nMaxPsPoll,
913 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
914 CFG_MAX_PS_POLL_DEFAULT,
915 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700916 CFG_MAX_PS_POLL_MAX ),
917
918 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800919 hdd_config_t, nTxPowerCap,
920 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
921 CFG_MAX_TX_POWER_DEFAULT,
922 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700923 CFG_MAX_TX_POWER_MAX ),
924
925 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
926 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800927 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
928 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
929 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700930 CFG_LOW_GAIN_OVERRIDE_MAX ),
931
932 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
933 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800934 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
935 CFG_RSSI_FILTER_PERIOD_DEFAULT,
936 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700937 CFG_RSSI_FILTER_PERIOD_MAX ),
938
939 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
940 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800941 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
942 CFG_IGNORE_DTIM_DEFAULT,
943 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700944 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800945
Yue Mac24062f2013-05-13 17:01:29 -0700946 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
947 hdd_config_t, fMaxLIModulatedDTIM,
948 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
949 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
950 CFG_MAX_LI_MODULATED_DTIM_MIN,
951 CFG_MAX_LI_MODULATED_DTIM_MAX ),
952
Jeff Johnson295189b2012-06-20 16:38:30 -0700953 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800954 hdd_config_t, nRxAnt,
955 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
956 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
957 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700958 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
959
960 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800961 hdd_config_t, fEnableFwHeartBeatMonitoring,
962 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
963 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
964 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700965 CFG_FW_HEART_BEAT_MONITORING_MAX ),
966
967 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800968 hdd_config_t, fEnableFwBeaconFiltering,
969 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
970 CFG_FW_BEACON_FILTERING_DEFAULT,
971 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700972 CFG_FW_BEACON_FILTERING_MAX ),
973
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800974 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800975 hdd_config_t, fEnableFwRssiMonitoring,
976 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
977 CFG_FW_RSSI_MONITORING_DEFAULT,
978 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800979 CFG_FW_RSSI_MONITORING_MAX,
980 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700981
982 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800983 hdd_config_t, nDataInactivityTimeout,
984 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
985 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
986 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700987 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800988
Jeff Johnson295189b2012-06-20 16:38:30 -0700989 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800990 hdd_config_t, nthBeaconFilter,
991 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
992 CFG_NTH_BEACON_FILTER_DEFAULT,
993 CFG_NTH_BEACON_FILTER_MIN,
994 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700995
996 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800997 hdd_config_t, WmmMode,
998 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
999 CFG_QOS_WMM_MODE_DEFAULT,
1000 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001001 CFG_QOS_WMM_MODE_MAX ),
1002
1003 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001004 hdd_config_t, b80211eIsEnabled,
1005 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1006 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
1007 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001008 CFG_QOS_WMM_80211E_ENABLED_MAX ),
1009
1010 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001011 hdd_config_t, UapsdMask,
1012 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1013 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
1014 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001015 CFG_QOS_WMM_UAPSD_MASK_MAX ),
1016
1017 REG_VARIABLE( CFG_QOS_WMM_MAX_SP_LEN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001018 hdd_config_t, MaxSpLength,
1019 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1020 CFG_QOS_WMM_MAX_SP_LEN_DEFAULT,
1021 CFG_QOS_WMM_MAX_SP_LEN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001022 CFG_QOS_WMM_MAX_SP_LEN_MAX ),
1023
1024 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001025 hdd_config_t, InfraUapsdVoSrvIntv,
1026 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1027 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
1028 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001029 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
1030
1031 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001032 hdd_config_t, InfraUapsdVoSuspIntv,
1033 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1034 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1035 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001036 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1037
1038 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001039 hdd_config_t, InfraUapsdViSrvIntv,
1040 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1041 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1042 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001043 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1044
1045 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001046 hdd_config_t, InfraUapsdViSuspIntv,
1047 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1048 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1049 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001050 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1051
1052 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001053 hdd_config_t, InfraUapsdBeSrvIntv,
1054 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1055 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1056 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001057 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1058
1059 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001060 hdd_config_t, InfraUapsdBeSuspIntv,
1061 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1062 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1063 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001064 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1065
1066 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001067 hdd_config_t, InfraUapsdBkSrvIntv,
1068 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1069 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1070 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001071 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1072
1073 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001074 hdd_config_t, InfraUapsdBkSuspIntv,
1075 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1076 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1077 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001078 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1079
1080#ifdef FEATURE_WLAN_CCX
1081 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001082 hdd_config_t, InfraInactivityInterval,
1083 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1084 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1085 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001086 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001087 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001088 hdd_config_t, isCcxIniFeatureEnabled,
1089 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1090 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1091 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001092 CFG_CCX_FEATURE_ENABLED_MAX,
1093 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001094#endif // FEATURE_WLAN_CCX
1095
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001096#ifdef FEATURE_WLAN_LFR
1097 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001098 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001099 hdd_config_t, isFastRoamIniFeatureEnabled,
1100 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1101 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1102 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001103 CFG_LFR_FEATURE_ENABLED_MAX,
1104 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001105#endif // FEATURE_WLAN_LFR
1106
1107#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001108 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001109 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001110 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001111 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1112 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1113 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001114 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1115 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001116
Srinivas Girigowdade697412013-02-14 16:31:48 -08001117 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001118 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001119 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1120 hdd_config_t, RoamRssiDiff,
1121 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1122 CFG_ROAM_RSSI_DIFF_DEFAULT,
1123 CFG_ROAM_RSSI_DIFF_MIN,
1124 CFG_ROAM_RSSI_DIFF_MAX,
1125 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001126
1127 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001128 hdd_config_t, nImmediateRoamRssiDiff,
1129 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1130 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1131 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001132 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1133 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001134
Jeff Johnson295189b2012-06-20 16:38:30 -07001135#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001136#ifdef FEATURE_WLAN_OKC
1137 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1138 hdd_config_t, isOkcIniFeatureEnabled,
1139 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1140 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1141 CFG_OKC_FEATURE_ENABLED_MIN,
1142 CFG_OKC_FEATURE_ENABLED_MAX,
1143 cbNotifySetOkcFeatureEnabled, 0 ),
1144#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001145#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1146 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1147 hdd_config_t, isRoamOffloadScanEnabled,
1148 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1149 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1150 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1151 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1152 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1153#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001154 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001155 hdd_config_t, PktClassificationBasis,
1156 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1157 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1158 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001159 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1160
1161 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001162 hdd_config_t, InfraDirAcVo,
1163 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1164 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1165 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001166 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1167
1168 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001169 hdd_config_t, InfraNomMsduSizeAcVo,
1170 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1171 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1172 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001173 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1174
1175 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001176 hdd_config_t, InfraMeanDataRateAcVo,
1177 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1178 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1179 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001180 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1181
1182 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001183 hdd_config_t, InfraMinPhyRateAcVo,
1184 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1185 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1186 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001187 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1188
1189 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001190 hdd_config_t, InfraSbaAcVo,
1191 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1192 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1193 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001194 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1195
1196 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001197 hdd_config_t, InfraDirAcVi,
1198 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1199 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1200 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001201 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1202
1203 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001204 hdd_config_t, InfraNomMsduSizeAcVi,
1205 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1206 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1207 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001208 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1209
1210 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001211 hdd_config_t, InfraMeanDataRateAcVi,
1212 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1213 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1214 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001215 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1216
1217 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001218 hdd_config_t, InfraMinPhyRateAcVi,
1219 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1220 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1221 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001222 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1223
1224 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001225 hdd_config_t, InfraSbaAcVi,
1226 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1227 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1228 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001229 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1230
1231 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001232 hdd_config_t, InfraDirAcBe,
1233 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1234 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1235 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001236 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1237
1238 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001239 hdd_config_t, InfraNomMsduSizeAcBe,
1240 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1241 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1242 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001243 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1244
1245 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001246 hdd_config_t, InfraMeanDataRateAcBe,
1247 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1248 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1249 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001250 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1251
1252 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001253 hdd_config_t, InfraMinPhyRateAcBe,
1254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1255 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1256 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001257 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1258
1259 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001260 hdd_config_t, InfraSbaAcBe,
1261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1262 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1263 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001264 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1265
1266 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001267 hdd_config_t, InfraDirAcBk,
1268 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1269 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1270 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001271 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1272
1273 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001274 hdd_config_t, InfraNomMsduSizeAcBk,
1275 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1276 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1277 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001278 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1279
1280 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001281 hdd_config_t, InfraMeanDataRateAcBk,
1282 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1283 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1284 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001285 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1286
1287 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001288 hdd_config_t, InfraMinPhyRateAcBk,
1289 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1290 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1291 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001292 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1293
1294 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001295 hdd_config_t, InfraSbaAcBk,
1296 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1297 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1298 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001299 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1300
1301 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001302 hdd_config_t, WfqBkWeight,
1303 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1304 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1305 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001306 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1307
1308 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001309 hdd_config_t, WfqBeWeight,
1310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1311 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1312 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001313 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1314
1315 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001316 hdd_config_t, WfqViWeight,
1317 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1318 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1319 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001320 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1321
1322 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001323 hdd_config_t, WfqVoWeight,
1324 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1325 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1326 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001327 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1328
1329 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001330 hdd_config_t, DelayedTriggerFrmInt,
1331 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1332 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1333 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001334 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1335
1336 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001337 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001338 VAR_FLAGS_OPTIONAL,
1339 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1340
1341 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001342 hdd_config_t, bImplicitQosEnabled,
1343 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1344 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1345 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001346 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1347
1348 REG_VARIABLE( CFG_19P2_MHZ_PMIC_CLK_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001349 hdd_config_t, b19p2MhzPmicClkEnabled,
1350 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1351 CFG_19P2_MHZ_PMIC_CLK_ENABLED_DEFAULT,
1352 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001353 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MAX ),
1354
1355 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001356 hdd_config_t, btcExecutionMode,
1357 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1358 CFG_BTC_EXECUTION_MODE_DEFAULT,
1359 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001360 CFG_BTC_EXECUTION_MODE_MAX ),
1361
1362 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1363 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1364 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1365 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1366 CFG_BTC_DHCP_PROTECTION_MIN,
1367 CFG_BTC_DHCP_PROTECTION_MAX ),
1368
1369 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1370 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1371 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1372 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1373 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1374 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1375
Jeff Johnson32d95a32012-09-10 13:15:23 -07001376 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1377 hdd_config_t, btcStaticLenInqBt,
1378 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1379 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1380 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1381 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1382
1383 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1384 hdd_config_t, btcStaticLenPageBt,
1385 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1386 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1387 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1388 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1389
1390 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1391 hdd_config_t, btcStaticLenConnBt,
1392 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1393 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1394 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1395 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1396
1397 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1398 hdd_config_t, btcStaticLenLeBt,
1399 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1400 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1401 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1402 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1403
1404 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1405 hdd_config_t, btcStaticLenInqWlan,
1406 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1407 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1408 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1409 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1410
1411 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1412 hdd_config_t, btcStaticLenPageWlan,
1413 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1414 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1415 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1416 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1417
1418 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1419 hdd_config_t, btcStaticLenConnWlan,
1420 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1421 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1422 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1423 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1424
1425 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1426 hdd_config_t, btcStaticLenLeWlan,
1427 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1428 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1429 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1430 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1431
1432 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1433 hdd_config_t, btcDynMaxLenBt,
1434 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1435 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1436 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1437 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1438
1439 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1440 hdd_config_t, btcDynMaxLenWlan,
1441 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1442 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1443 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1444 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1445
1446 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1447 hdd_config_t, btcMaxScoBlockPerc,
1448 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1449 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1450 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1451 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1452
1453 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1454 hdd_config_t, btcDhcpProtOnA2dp,
1455 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1456 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1457 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1458 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1459
1460 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1461 hdd_config_t, btcDhcpProtOnSco,
1462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1463 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1464 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1465 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1466
Jeff Johnson295189b2012-06-20 16:38:30 -07001467 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001468 hdd_config_t, nEnableListenMode,
1469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1470 CFG_AP_LISTEN_MODE_DEFAULT,
1471 CFG_AP_LISTEN_MODE_MIN,
1472 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001473
1474 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1475 hdd_config_t, nAPAutoShutOff,
1476 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1477 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1478 CFG_AP_AUTO_SHUT_OFF_MIN,
1479 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001480
1481#if defined WLAN_FEATURE_VOWIFI
1482 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001483 hdd_config_t, fRrmEnable,
1484 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1485 CFG_RRM_ENABLE_DEFAULT,
1486 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001487 CFG_RRM_ENABLE_MAX ),
1488
1489 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001490 hdd_config_t, nInChanMeasMaxDuration,
1491 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1492 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1493 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001494 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1495
1496 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001497 hdd_config_t, nOutChanMeasMaxDuration,
1498 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1499 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1500 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001501 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1502
1503 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001504 hdd_config_t, nRrmRandnIntvl,
1505 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1506 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1507 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001508 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1509#endif
1510
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001511#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001512 REG_VARIABLE( CFG_FT_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001513 hdd_config_t, fFTEnable,
1514 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1515 CFG_FT_ENABLE_DEFAULT,
1516 CFG_FT_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001517 CFG_FT_ENABLE_MAX ),
1518
1519 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001520 hdd_config_t, fFTResourceReqSupported,
1521 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1522 CFG_FT_RESOURCE_REQ_DEFAULT,
1523 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001524 CFG_FT_RESOURCE_REQ_MAX ),
1525#endif
1526
1527#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001528 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001529 hdd_config_t, nNeighborScanPeriod,
1530 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1531 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1532 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001533 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1534 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001535
1536 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001537 hdd_config_t, nNeighborReassocRssiThreshold,
1538 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1539 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1540 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001541 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1542
Srinivas Girigowdade697412013-02-14 16:31:48 -08001543 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001544 hdd_config_t, nNeighborLookupRssiThreshold,
1545 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1546 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1547 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001548 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1549 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001550
1551 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001552 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001553 VAR_FLAGS_OPTIONAL,
1554 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1555
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001556 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001557 hdd_config_t, nNeighborScanMinChanTime,
1558 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1559 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1560 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001561 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1562 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001563
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001564 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001565 hdd_config_t, nNeighborScanMaxChanTime,
1566 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1567 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1568 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001569 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1570 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001571
1572 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1573 hdd_config_t, nMaxNeighborReqTries,
1574 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1575 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1576 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1577 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1578
Srinivas Girigowdade697412013-02-14 16:31:48 -08001579 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001580 hdd_config_t, nNeighborResultsRefreshPeriod,
1581 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1582 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1583 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001584 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1585 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1586
1587 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1588 hdd_config_t, nEmptyScanRefreshPeriod,
1589 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1590 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1591 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1592 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1593 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001594#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1595
1596 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001597 hdd_config_t, burstSizeDefinition,
1598 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1599 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1600 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001601 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1602
1603 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1604 hdd_config_t, mcastBcastFilterSetting,
1605 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1606 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1607 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1608 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1609
1610 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1611 hdd_config_t, fhostArpOffload,
1612 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1613 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1614 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1615 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1616
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301617 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1618 hdd_config_t, fhostNSOffload,
1619 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1620 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1621 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1622 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1623
Jeff Johnson295189b2012-06-20 16:38:30 -07001624 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001625 hdd_config_t, tsInfoAckPolicy,
1626 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1627 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1628 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001629 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1630
1631 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1632 hdd_config_t, bSingleTidRc,
1633 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1634 CFG_SINGLE_TID_RC_DEFAULT,
1635 CFG_SINGLE_TID_RC_MIN,
1636 CFG_SINGLE_TID_RC_MAX),
1637
1638 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1639 hdd_config_t, dynamicPsPollValue,
1640 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1641 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1642 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1643 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1644
1645 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1646 hdd_config_t, teleBcnWakeupEn,
1647 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1648 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1649 CFG_TELE_BCN_WAKEUP_EN_MIN,
1650 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1651
1652 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1653 hdd_config_t, infraStaKeepAlivePeriod,
1654 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1655 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1656 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1657 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1658
1659 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001660 hdd_config_t, AddTSWhenACMIsOff,
1661 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1662 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1663 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001664 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1665
1666
1667 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001668 hdd_config_t, fValidateScanList,
1669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1670 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1671 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001672 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001673
Jeff Johnson295189b2012-06-20 16:38:30 -07001674 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001675 hdd_config_t, nNullDataApRespTimeout,
1676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1677 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1678 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001679 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
1680
1681 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001682 hdd_config_t, apDataAvailPollPeriodInMs,
1683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1684 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1685 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001686 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001687
Jeff Johnson295189b2012-06-20 16:38:30 -07001688 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001689 hdd_config_t, enableBtAmp,
1690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1691 CFG_ENABLE_BTAMP_DEFAULT,
1692 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001693 CFG_ENABLE_BTAMP_MAX ),
1694
1695#ifdef WLAN_BTAMP_FEATURE
1696 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001697 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07001698 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1699 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
1700 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
1701 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
1702#endif //WLAN_BTAMP_FEATURE
1703 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001704 hdd_config_t, nBandCapability,
1705 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1706 CFG_BAND_CAPABILITY_DEFAULT,
1707 CFG_BAND_CAPABILITY_MIN,
1708 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001709
1710 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001711 hdd_config_t, fEnableBeaconEarlyTermination,
1712 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1713 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
1714 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
1715 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001716/* CFG_VOS_TRACE_ENABLE Parameters */
1717 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
1718 hdd_config_t, vosTraceEnableBAP,
1719 VAR_FLAGS_OPTIONAL,
1720 CFG_VOS_TRACE_ENABLE_DEFAULT,
1721 CFG_VOS_TRACE_ENABLE_MIN,
1722 CFG_VOS_TRACE_ENABLE_MAX ),
1723
1724 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
1725 hdd_config_t, vosTraceEnableTL,
1726 VAR_FLAGS_OPTIONAL,
1727 CFG_VOS_TRACE_ENABLE_DEFAULT,
1728 CFG_VOS_TRACE_ENABLE_MIN,
1729 CFG_VOS_TRACE_ENABLE_MAX ),
1730
1731 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
1732 hdd_config_t, vosTraceEnableWDI,
1733 VAR_FLAGS_OPTIONAL,
1734 CFG_VOS_TRACE_ENABLE_DEFAULT,
1735 CFG_VOS_TRACE_ENABLE_MIN,
1736 CFG_VOS_TRACE_ENABLE_MAX ),
1737
1738 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
1739 hdd_config_t, vosTraceEnableHDD,
1740 VAR_FLAGS_OPTIONAL,
1741 CFG_VOS_TRACE_ENABLE_DEFAULT,
1742 CFG_VOS_TRACE_ENABLE_MIN,
1743 CFG_VOS_TRACE_ENABLE_MAX ),
1744
1745 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
1746 hdd_config_t, vosTraceEnableSME,
1747 VAR_FLAGS_OPTIONAL,
1748 CFG_VOS_TRACE_ENABLE_DEFAULT,
1749 CFG_VOS_TRACE_ENABLE_MIN,
1750 CFG_VOS_TRACE_ENABLE_MAX ),
1751
1752 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
1753 hdd_config_t, vosTraceEnablePE,
1754 VAR_FLAGS_OPTIONAL,
1755 CFG_VOS_TRACE_ENABLE_DEFAULT,
1756 CFG_VOS_TRACE_ENABLE_MIN,
1757 CFG_VOS_TRACE_ENABLE_MAX ),
1758
1759 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
1760 hdd_config_t, vosTraceEnableWDA,
1761 VAR_FLAGS_OPTIONAL,
1762 CFG_VOS_TRACE_ENABLE_DEFAULT,
1763 CFG_VOS_TRACE_ENABLE_MIN,
1764 CFG_VOS_TRACE_ENABLE_MAX ),
1765
1766 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
1767 hdd_config_t, vosTraceEnableSYS,
1768 VAR_FLAGS_OPTIONAL,
1769 CFG_VOS_TRACE_ENABLE_DEFAULT,
1770 CFG_VOS_TRACE_ENABLE_MIN,
1771 CFG_VOS_TRACE_ENABLE_MAX ),
1772
1773 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
1774 hdd_config_t, vosTraceEnableVOSS,
1775 VAR_FLAGS_OPTIONAL,
1776 CFG_VOS_TRACE_ENABLE_DEFAULT,
1777 CFG_VOS_TRACE_ENABLE_MIN,
1778 CFG_VOS_TRACE_ENABLE_MAX ),
1779
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001780 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
1781 hdd_config_t, vosTraceEnableSAP,
1782 VAR_FLAGS_OPTIONAL,
1783 CFG_VOS_TRACE_ENABLE_DEFAULT,
1784 CFG_VOS_TRACE_ENABLE_MIN,
1785 CFG_VOS_TRACE_ENABLE_MAX ),
1786
1787 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
1788 hdd_config_t, vosTraceEnableHDDSAP,
1789 VAR_FLAGS_OPTIONAL,
1790 CFG_VOS_TRACE_ENABLE_DEFAULT,
1791 CFG_VOS_TRACE_ENABLE_MIN,
1792 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001793
Jeff Johnson295189b2012-06-20 16:38:30 -07001794 /* note that since the default value is out of range we cannot
1795 enable range check, otherwise we get a system log message */
1796 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
1797 hdd_config_t, wdiTraceEnableDAL,
1798 VAR_FLAGS_OPTIONAL,
1799 CFG_WDI_TRACE_ENABLE_DEFAULT,
1800 CFG_WDI_TRACE_ENABLE_MIN,
1801 CFG_WDI_TRACE_ENABLE_MAX ),
1802
1803 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
1804 hdd_config_t, wdiTraceEnableCTL,
1805 VAR_FLAGS_OPTIONAL,
1806 CFG_WDI_TRACE_ENABLE_DEFAULT,
1807 CFG_WDI_TRACE_ENABLE_MIN,
1808 CFG_WDI_TRACE_ENABLE_MAX ),
1809
1810 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
1811 hdd_config_t, wdiTraceEnableDAT,
1812 VAR_FLAGS_OPTIONAL,
1813 CFG_WDI_TRACE_ENABLE_DEFAULT,
1814 CFG_WDI_TRACE_ENABLE_MIN,
1815 CFG_WDI_TRACE_ENABLE_MAX ),
1816
1817 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
1818 hdd_config_t, wdiTraceEnablePAL,
1819 VAR_FLAGS_OPTIONAL,
1820 CFG_WDI_TRACE_ENABLE_DEFAULT,
1821 CFG_WDI_TRACE_ENABLE_MIN,
1822 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001823
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001824 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001825 hdd_config_t, nTeleBcnTransListenInterval,
1826 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1827 CFG_TELE_BCN_TRANS_LI_DEFAULT,
1828 CFG_TELE_BCN_TRANS_LI_MIN,
1829 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001830
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001831 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001832 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
1833 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1834 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
1835 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
1836 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001837
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001838 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001839 hdd_config_t, nTeleBcnMaxListenInterval,
1840 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1841 CFG_TELE_BCN_MAX_LI_DEFAULT,
1842 CFG_TELE_BCN_MAX_LI_MIN,
1843 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001844
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001845 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001846 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
1847 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1848 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
1849 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
1850 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001851
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001852 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001853 hdd_config_t, bcnEarlyTermWakeInterval,
1854 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1855 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
1856 CFG_BCN_EARLY_TERM_WAKE_MIN,
1857 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001858
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001859 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001860 hdd_config_t, apDataAvailPollPeriodInMs,
1861 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1862 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1863 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001864 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
1865
1866 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001867 hdd_config_t, enableCloseLoop,
1868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1869 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
1870 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001871 CFG_ENABLE_CLOSE_LOOP_MAX ),
1872
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001873 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001874 hdd_config_t, enableBypass11d,
1875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1876 CFG_ENABLE_BYPASS_11D_DEFAULT,
1877 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001878 CFG_ENABLE_BYPASS_11D_MAX ),
1879
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001880 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001881 hdd_config_t, enableDFSChnlScan,
1882 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1883 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
1884 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001885 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
1886
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001887 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001888 hdd_config_t, enableDynamicDTIM,
1889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1890 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
1891 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001892 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
1893
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001894 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001895 hdd_config_t, enableAutomaticTxPowerControl,
1896 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1897 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
1898 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001899 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
1900
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001901 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001902 hdd_config_t, ShortGI40MhzEnable,
1903 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1904 CFG_SHORT_GI_40MHZ_DEFAULT,
1905 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001906 CFG_SHORT_GI_40MHZ_MAX ),
1907
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001908 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001909 hdd_config_t, reportMaxLinkSpeed,
1910 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1911 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
1912 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001913 CFG_REPORT_MAX_LINK_SPEED_MAX,
1914 NULL, 0 ),
1915
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001916 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07001917 hdd_config_t, linkSpeedRssiHigh,
1918 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1919 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
1920 CFG_LINK_SPEED_RSSI_HIGH_MIN,
1921 CFG_LINK_SPEED_RSSI_HIGH_MAX,
1922 NULL, 0 ),
1923
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001924 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001925 hdd_config_t, linkSpeedRssiMid,
1926 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1927 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
1928 CFG_LINK_SPEED_RSSI_MID_MIN,
1929 CFG_LINK_SPEED_RSSI_MID_MAX,
1930 NULL, 0 ),
1931
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001932 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07001933 hdd_config_t, linkSpeedRssiLow,
1934 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1935 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
1936 CFG_LINK_SPEED_RSSI_LOW_MIN,
1937 CFG_LINK_SPEED_RSSI_LOW_MAX,
1938 NULL, 0 ),
1939
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001940#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001941 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001942 hdd_config_t, nRoamPrefer5GHz,
1943 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1944 CFG_ROAM_PREFER_5GHZ_DEFAULT,
1945 CFG_ROAM_PREFER_5GHZ_MIN,
1946 CFG_ROAM_PREFER_5GHZ_MAX,
1947 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001948
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001949 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001950 hdd_config_t, nRoamIntraBand,
1951 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1952 CFG_ROAM_INTRA_BAND_DEFAULT,
1953 CFG_ROAM_INTRA_BAND_MIN,
1954 CFG_ROAM_INTRA_BAND_MAX,
1955 cbNotifySetRoamIntraBand, 0 ),
1956
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07001957 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
1958 hdd_config_t, nProbes,
1959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1960 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
1961 CFG_ROAM_SCAN_N_PROBES_MIN,
1962 CFG_ROAM_SCAN_N_PROBES_MAX,
1963 cbNotifySetRoamScanNProbes, 0 ),
1964
1965 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
1966 hdd_config_t, nRoamScanHomeAwayTime,
1967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1968 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
1969 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
1970 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
1971 cbNotifySetRoamScanHomeAwayTime, 0 ),
1972
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001973#endif
1974
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001975 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001976 hdd_config_t, isP2pDeviceAddrAdministrated,
1977 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1978 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
1979 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
1980 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001981
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001982 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001983 hdd_config_t, enableMCC,
1984 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1985 CFG_ENABLE_MCC_ENABLED_DEFAULT,
1986 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001987 CFG_ENABLE_MCC_ENABLED_MAX ),
1988
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001989 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001990 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001991 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1992 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
1993 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
1994 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001995
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001996 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001997 hdd_config_t, thermalMitigationEnable,
1998 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1999 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
2000 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002001 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
2002#ifdef WLAN_FEATURE_PACKET_FILTERING
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002003 REG_VARIABLE( CFG_MC_ADDR_LIST_FILTER_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07002004 hdd_config_t, isMcAddrListFilter,
2005 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2006 CFG_MC_ADDR_LIST_FILTER_DEFAULT,
2007 CFG_MC_ADDR_LIST_FILTER_MIN,
2008 CFG_MC_ADDR_LIST_FILTER_MAX ),
2009#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002010
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002011 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002012 hdd_config_t, enableModulatedDTIM,
2013 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2014 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
2015 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002016 CFG_ENABLE_MODULATED_DTIM_MAX ),
2017
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002018 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002019 hdd_config_t, fEnableMCAddrList,
2020 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2021 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2022 CFG_MC_ADDR_LIST_ENABLE_MIN,
2023 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2024
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002025#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002026 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002027 hdd_config_t, vhtChannelWidth,
2028 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2029 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2030 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002031 CFG_VHT_CHANNEL_WIDTH_MAX),
2032
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002033 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002034 hdd_config_t, vhtRxMCS,
2035 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2036 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2037 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002038 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2039
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002040 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002041 hdd_config_t, vhtTxMCS,
2042 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2043 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2044 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002045 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2046#endif
2047
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002048 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002049 hdd_config_t, enableFirstScan2GOnly,
2050 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2051 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2052 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002053 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2054
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002055 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002056 hdd_config_t, skipDfsChnlInP2pSearch,
2057 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2058 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2059 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002060 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2061
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002062 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002063 hdd_config_t, ignoreDynamicDtimInP2pMode,
2064 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2065 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2066 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002067 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2068
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002069 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002070 hdd_config_t,numBuffAdvert ,
2071 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2072 CFG_NUM_BUFF_ADVERT_DEFAULT,
2073 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002074 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002075
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002076 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002077 hdd_config_t, configMccParam,
2078 VAR_FLAGS_OPTIONAL,
2079 CFG_MCC_CONFIG_PARAM_DEFAULT,
2080 CFG_MCC_CONFIG_PARAM_MIN,
2081 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002082 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002083 hdd_config_t, enableRxSTBC,
2084 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2085 CFG_ENABLE_RX_STBC_DEFAULT,
2086 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302087 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002088#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002089 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002090 hdd_config_t, fEnableTDLSSupport,
2091 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2092 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2093 CFG_TDLS_SUPPORT_ENABLE_MIN,
2094 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302095
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002096 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302097 hdd_config_t, fEnableTDLSImplicitTrigger,
2098 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2099 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2100 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2101 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2102
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002103 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302104 hdd_config_t, fTDLSTxStatsPeriod,
2105 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2106 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2107 CFG_TDLS_TX_STATS_PERIOD_MIN,
2108 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2109
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002110 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302111 hdd_config_t, fTDLSTxPacketThreshold,
2112 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2113 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2114 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2115 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2116
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002117 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302118 hdd_config_t, fTDLSDiscoveryPeriod,
2119 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2120 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2121 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2122 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2123
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002124 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302125 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2126 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2127 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2128 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2129 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2130
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002131 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002132 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302133 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002134 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2135 CFG_TDLS_IDLE_TIMEOUT_MIN,
2136 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2137
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002138 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002139 hdd_config_t, fTDLSIdlePacketThreshold,
2140 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2141 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2142 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2143 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302144
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002145 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002146 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302147 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2148 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2149 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2150 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002151
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002152 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002153 hdd_config_t, fTDLSRSSITriggerThreshold,
2154 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2155 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2156 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2157 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2158
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002159 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002160 hdd_config_t, fTDLSRSSITeardownThreshold,
2161 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2162 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2163 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2164 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302165
2166REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2167 hdd_config_t, fTDLSUapsdMask,
2168 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2169 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2170 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2171 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2172
2173REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2174 hdd_config_t, fEnableTDLSBufferSta,
2175 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2176 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2177 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2178 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2179
2180REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2181 hdd_config_t, fTDLSPuapsdInactivityTimer,
2182 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2183 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2184 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2185 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2186
2187REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2188 hdd_config_t, fTDLSRxFrameThreshold,
2189 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2190 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2191 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2192 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002193#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002194
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002195#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002196 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002197 hdd_config_t, fEnableVSTASupport,
2198 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2199 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2200 CFG_VSTA_SUPPORT_ENABLE_MIN,
2201 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2202#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002203 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002204 hdd_config_t, enableLpwrImgTransition,
2205 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2206 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2207 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002208 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2209
Yathish9f22e662012-12-10 14:21:35 -08002210#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002211 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002212 hdd_config_t, fEnableActiveModeOffload,
2213 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2214 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2215 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2216 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2217#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002218 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002219 hdd_config_t, enableLpwrImgTransition,
2220 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2221 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2222 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2223 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2224
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002225
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002226 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002227 hdd_config_t, scanAgingTimeout,
2228 VAR_FLAGS_OPTIONAL,
2229 CFG_SCAN_AGING_PARAM_DEFAULT,
2230 CFG_SCAN_AGING_PARAM_MIN,
2231 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002232
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002233 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002234 hdd_config_t, enableTxLdpc,
2235 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2236 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2237 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2238 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2239
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002240 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302241 hdd_config_t, enableMCCAdaptiveScheduler,
2242 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2243 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2244 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2245 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2246
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002247 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302248 hdd_config_t, isAndroidPsEn,
2249 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2250 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2251 CFG_ANDRIOD_POWER_SAVE_MIN,
2252 CFG_ANDRIOD_POWER_SAVE_MAX),
2253
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002254 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002255 hdd_config_t, AdHocChannel5G,
2256 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2257 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2258 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2259 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2260
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002261 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002262 hdd_config_t, AdHocChannel24G,
2263 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2264 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2265 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2266 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2267
2268
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002269#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002270 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002271 hdd_config_t, enableTxBF,
2272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2273 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2274 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2275 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002276
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002277 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002278 hdd_config_t, txBFCsnValue,
2279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2280 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2281 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2282 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2283
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002284#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302285
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002286 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302287 hdd_config_t, sapAllowAllChannel,
2288 VAR_FLAGS_OPTIONAL,
2289 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2290 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2291 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002292
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002293#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002294 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002295 hdd_config_t, disableLDPCWithTxbfAP,
2296 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2297 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2298 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2299 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2300#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002301
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002302 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002303 hdd_config_t, listOfNonDfsCountryCode,
2304 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2305 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2306
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002307 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2308 hdd_config_t, enableSSR,
2309 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2310 CFG_ENABLE_SSR_DEFAULT,
2311 CFG_ENABLE_SSR_MIN,
2312 CFG_ENABLE_SSR_MAX,
2313 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302314
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002315 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302316 hdd_config_t, listOfNon11acCountryCode,
2317 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2318 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2319
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002320 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302321 hdd_config_t, cfgMaxMediumTime,
2322 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2323 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2324 CFG_MAX_MEDIUM_TIME_STAMIN,
2325 CFG_MAX_MEDIUM_TIME_STAMAX ),
2326
Leo Chang64d68bc2013-06-04 15:40:52 -07002327 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2328 hdd_config_t, enableTrafficMonitor,
2329 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2330 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2331 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2332 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2333
2334 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2335 hdd_config_t, trafficIdleTimeout,
2336 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2337 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2338 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2339 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002340
2341#ifdef WLAN_FEATURE_11AC
2342 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2343 hdd_config_t, enableVhtFor24GHzBand,
2344 VAR_FLAGS_OPTIONAL,
2345 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2346 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2347 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2348#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302349
2350 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2351 hdd_config_t, fScanOffload,
2352 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2353 CFG_SCAN_OFFLOAD_DEFAULT,
2354 CFG_SCAN_OFFLOAD_DISABLE,
2355 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002356
2357#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2358 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2359 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2360 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2361 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2362 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2363 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2364 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2365#endif
2366
Jeff Johnson295189b2012-06-20 16:38:30 -07002367};
2368
2369/*
2370 * This function returns a pointer to the character after the occurence
2371 * of a new line character. It also modifies the original string by replacing
2372 * the '\n' character with the null character.
2373 * Function returns NULL if no new line character was found before end of
2374 * string was reached
2375 */
2376static char* get_next_line(char* str)
2377{
2378 char c;
2379
2380 if( str == NULL || *str == '\0') {
2381 return NULL;
2382 }
2383
2384 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002385 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002386 str = str + 1;
2387 c = *str;
2388 }
2389
2390 if (c == '\0' ) {
2391 return NULL;
2392 }
2393 else
2394 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002395 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002396 return (str+1);
2397 }
2398
2399 return NULL;
2400}
2401
2402// look for space. Ascii values to look are -
2403// 0x09 == horizontal tab
2404// 0x0a == Newline ("\n")
2405// 0x0b == vertical tab
2406// 0x0c == Newpage or feed form.
2407// 0x0d == carriage return (CR or "\r")
2408// Null ('\0') should not considered as space.
2409#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2410
2411/*
2412 * This function trims any leading and trailing white spaces
2413 */
2414static char *i_trim(char *str)
2415
2416{
2417 char *ptr;
2418
2419 if(*str == '\0') return str;
2420
2421 /* Find the first non white-space*/
2422 for (ptr = str; i_isspace(*ptr); ptr++);
2423 if (*ptr == '\0')
2424 return str;
2425
2426 /* This is the new start of the string*/
2427 str = ptr;
2428
2429 /* Find the last non white-space */
2430 ptr += strlen(ptr) - 1;
2431 for (; ptr != str && i_isspace(*ptr); ptr--);
2432 /* Null terminate the following character */
2433 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002434
Jeff Johnson295189b2012-06-20 16:38:30 -07002435 return str;
2436}
2437
2438
2439//Structure to store each entry in qcom_cfg.ini file
2440typedef struct
2441{
2442 char *name;
2443 char *value;
2444}tCfgIniEntry;
2445
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002446static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002447 tCfgIniEntry* iniTable, unsigned long entries);
2448
2449#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002450void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002451{
2452 unsigned long i;
2453
2454 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002455 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002456 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2457 }
2458}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002459#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002460
2461/*
2462 * This function reads the qcom_cfg.ini file and
2463 * parses each 'Name=Value' pair in the ini file
2464 */
2465VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2466{
2467 int status, i=0;
2468 /** Pointer for firmware image data */
2469 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002470 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002471 size_t size;
2472 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002473 /* cfgIniTable is static to avoid excess stack usage */
2474 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002475 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2476
2477 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2478
2479 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002480
Jeff Johnson295189b2012-06-20 16:38:30 -07002481 if(status)
2482 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002483 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002484 vos_status = VOS_STATUS_E_FAILURE;
2485 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002486 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002487 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002488 {
2489 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002490 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002491 vos_status = VOS_STATUS_E_FAILURE;
2492 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002493 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002494
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002495 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002496
2497 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002498
Jeff Johnson295189b2012-06-20 16:38:30 -07002499 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002500 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002501 release_firmware(fw);
2502 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002503 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002504 pTemp = buffer;
2505
2506 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2507 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002508
Jeff Johnson295189b2012-06-20 16:38:30 -07002509 while (buffer != NULL)
2510 {
2511 line = get_next_line(buffer);
2512 buffer = i_trim(buffer);
2513
2514 hddLog(LOG1, "%s: item", buffer);
2515
2516 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2517 buffer = line;
2518 continue;
2519 }
2520 else if(strncmp(buffer, "END", 3) == 0 ) {
2521 break;
2522 }
2523 else
2524 {
2525 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002526 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002527 buffer++;
2528 if(*buffer != '\0') {
2529 *buffer++ = '\0';
2530 i_trim(name);
2531 if(strlen (name) != 0) {
2532 buffer = i_trim(buffer);
2533 if(strlen(buffer)>0) {
2534 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002535 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002536 buffer++;
2537 *buffer = '\0';
2538 cfgIniTable[i].name= name;
2539 cfgIniTable[i++].value= value;
2540 if(i >= MAX_CFG_INI_ITEMS) {
2541 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002542 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002543 break;
2544 }
2545 }
2546 }
2547 }
2548 }
2549 buffer = line;
2550 }
2551
2552 //Loop through the registry table and apply all these configs
2553 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2554
Jeff Johnson4416a782013-03-25 14:17:50 -07002555config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002556 release_firmware(fw);
2557 vos_mem_free(pTemp);
2558 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002559}
Jeff Johnson295189b2012-06-20 16:38:30 -07002560
2561
2562static void print_hdd_cfg(hdd_context_t *pHddCtx)
2563{
2564 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2565 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2566 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2567 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2568 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2569 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2570 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2571 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2572 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]",
2573 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2574 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2575 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2576
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002577 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002578 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2579 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2580 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2581 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2582 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2583 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2584 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2585
2586
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002587 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002588 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2589 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2590 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2591 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2592 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2593 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2594 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2595
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002596 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002597 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2598 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2599 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2600 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2601 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2602 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2603 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2604
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002605 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002606 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2607 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
2608 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
2609 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
2610 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
2611 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
2612 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
2613
Jeff Johnson295189b2012-06-20 16:38:30 -07002614
2615 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
2616
2617 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
2618 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
2619 pHddCtx->cfg_ini->apCntryCode[2]);
2620 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
2621 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
2622
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002623 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 -07002624 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
2625 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
2626 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 -08002627
Jeff Johnson295189b2012-06-20 16:38:30 -07002628 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
2629 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
2630 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
2631 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
2632 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
2633 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
2634 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
2635
2636 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
2637 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
2638
2639 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
2640 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
2641
2642 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
2643 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
2644
2645 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
2646 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
2647#ifdef FEATURE_WLAN_CCX
2648 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
2649 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
2650 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
2651 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 -08002652#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002653#ifdef FEATURE_WLAN_LFR
2654 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 -08002655#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07002656#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
2657 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 -08002658 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 -07002659#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002660#ifdef FEATURE_WLAN_OKC
2661 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
2662#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002663 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
2664 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
2665 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
2666 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
2667 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
2668
2669 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
2670 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
2671 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
2672 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
2673 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
2674
2675 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
2676 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
2677 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
2678 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
2679 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
2680
2681 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
2682 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
2683 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
2684 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
2685 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
2686
2687 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
2688 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
2689 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
2690 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
2691 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
2692 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
2693 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 -08002694#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07002695 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTEnable] Value = [%lu] ",pHddCtx->cfg_ini->fFTEnable);
2696 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
2697#endif
2698
2699#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
2700 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
2701 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
2702 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
2703 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
2704 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
2705 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
2706 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 -08002707 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 -07002708#endif
2709 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
2710 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
2711 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
2712 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
2713 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
2714 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
2715 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
2716
2717 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
2718 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2719 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
2720#ifdef WLAN_BTAMP_FEATURE
2721 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
2722#endif //WLAN_BTAMP_FEATURE
2723 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
2724 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
2725 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
2726 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
2727 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
2728 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
2729 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
2730 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
2731 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2732 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
2733 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
2734 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
2735 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 -07002736#ifdef WLAN_FEATURE_11AC
2737 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
2738#endif
2739 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
2740 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
2741 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 +05302742 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 -08002743 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 -07002744 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 -07002745 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 -07002746
Leo Chang64d68bc2013-06-04 15:40:52 -07002747 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
2748 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTrafficIdleTimeout] Value = [%u] ", pHddCtx->cfg_ini->trafficIdleTimeout);
Jeff Johnson295189b2012-06-20 16:38:30 -07002749}
2750
2751
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002752
Jeff Johnson295189b2012-06-20 16:38:30 -07002753#define CFG_VALUE_MAX_LEN 256
2754#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
2755VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
2756{
2757 unsigned int idx;
2758 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2759 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2760 v_U32_t value;
2761 char valueStr[CFG_VALUE_MAX_LEN];
2762 char configStr[CFG_ENTRY_MAX_LEN];
2763 char *fmt;
2764 void *pField;
2765 v_MACADDR_t *pMacAddr;
2766 char *pCur = pBuf;
2767 int curlen;
2768
2769 // start with an empty string
2770 *pCur = '\0';
2771
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002772 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07002773 {
2774 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
2775
2776 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2777 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002778 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07002779 {
2780 value = 0;
2781 memcpy( &value, pField, pRegEntry->VarSize );
2782 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
2783 {
2784 fmt = "%x";
2785 }
2786 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2787 {
2788 fmt = "%d";
2789 }
2790 else
2791 {
2792 fmt = "%u";
2793 }
2794 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
2795 }
2796 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2797 {
2798 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
2799 }
2800 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2801 {
2802 pMacAddr = (v_MACADDR_t *) pField;
2803 snprintf(valueStr, CFG_VALUE_MAX_LEN,
2804 "%02x:%02x:%02x:%02x:%02x:%02x",
2805 pMacAddr->bytes[0],
2806 pMacAddr->bytes[1],
2807 pMacAddr->bytes[2],
2808 pMacAddr->bytes[3],
2809 pMacAddr->bytes[4],
2810 pMacAddr->bytes[5]);
2811 }
2812 else
2813 {
2814 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
2815 }
2816 curlen = snprintf(configStr, CFG_ENTRY_MAX_LEN,
2817 "%s=[%s]%s\n",
2818 pRegEntry->RegName,
2819 valueStr,
2820 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
2821 "*" : "");
2822
2823 // ideally we want to return the config to the application
2824 // however the config is too big so we just printk() for now
2825#ifdef RETURN_IN_BUFFER
2826 if (curlen <= buflen)
2827 {
2828 // copy string + '\0'
2829 memcpy(pCur, configStr, curlen+1);
2830
2831 // account for addition;
2832 pCur += curlen;
2833 buflen -= curlen;
2834 }
2835 else
2836 {
2837 // buffer space exhausted, return what we have
2838 return VOS_STATUS_E_RESOURCES;
2839 }
2840#else
2841 printk(KERN_CRIT "%s", configStr);
2842#endif // RETURN_IN_BUFFER
2843
2844}
2845
2846#ifndef RETURN_IN_BUFFER
2847 // notify application that output is in system log
2848 snprintf(pCur, buflen, "WLAN configuration written to system log");
2849#endif // RETURN_IN_BUFFER
2850
2851 return VOS_STATUS_SUCCESS;
2852}
2853
2854static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002855 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07002856{
2857 VOS_STATUS status = VOS_STATUS_E_FAILURE;
2858 unsigned long i;
2859
2860 for (i = 0; i < entries; i++) {
2861 if (strcmp(iniTable[i].name, name) == 0) {
2862 *value = iniTable[i].value;
2863 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
2864 WLAN_INI_FILE, name, *value);
2865 return VOS_STATUS_SUCCESS;
2866 }
2867 }
2868
2869 return status;
2870}
2871
2872static int parseHexDigit(char c)
2873{
2874 if (c >= '0' && c <= '9')
2875 return c-'0';
2876 if (c >= 'a' && c <= 'f')
2877 return c-'a'+10;
2878 if (c >= 'A' && c <= 'F')
2879 return c-'A'+10;
2880
2881 return 0;
2882}
2883
2884
2885static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
2886{
2887 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
2888 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
2889 unsigned int idx;
2890 void *pField;
2891 char *value_str = NULL;
2892 unsigned long len_value_str;
2893 char *candidate;
2894 v_U32_t value;
2895 v_S31_t svalue;
2896 void *pStructBase = pHddCtx->cfg_ini;
2897 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2898 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2899 v_U32_t cbOutString;
2900 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002901 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07002902
2903 // sanity test
2904 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
2905 {
2906 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002907 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07002908 }
2909
2910 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
2911 {
2912 //Calculate the address of the destination field in the structure.
2913 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
2914
2915 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
2916
2917 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
2918 {
2919 // If we could not read the cfg item and it is required, this is an error.
2920 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002921 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002922 ret_status = VOS_STATUS_E_FAILURE;
2923 break;
2924 }
2925
2926 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2927 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
2928 {
2929 // If successfully read from the registry, use the value read.
2930 // If not, use the default value.
2931 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002932 rv = kstrtoul(value_str, 10, &value);
2933 if (rv < 0) {
2934 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
2935 __func__, pRegEntry->RegName);
2936 value = pRegEntry->VarDefault;
2937 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002938 }
2939 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002940 rv = kstrtoul(value_str, 16, &value);
2941 if (rv < 0) {
2942 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
2943 __func__, pRegEntry->RegName);
2944 value = pRegEntry->VarDefault;
2945 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002946 }
2947 else {
2948 value = pRegEntry->VarDefault;
2949 }
2950
2951 // If this parameter needs range checking, do it here.
2952 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2953 {
2954 if ( value > pRegEntry->VarMax )
2955 {
2956 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002957 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07002958 value = pRegEntry->VarMax;
2959 }
2960
2961 if ( value < pRegEntry->VarMin )
2962 {
2963 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002964 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07002965 value = pRegEntry->VarMin;
2966 }
2967 }
2968 // If this parameter needs range checking, do it here.
2969 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2970 {
2971 if ( value > pRegEntry->VarMax )
2972 {
2973 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002974 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002975 value = pRegEntry->VarDefault;
2976 }
2977
2978 if ( value < pRegEntry->VarMin )
2979 {
2980 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002981 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002982 value = pRegEntry->VarDefault;
2983 }
2984 }
2985
2986 // Move the variable into the output field.
2987 memcpy( pField, &value, pRegEntry->VarSize );
2988 }
2989 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2990 {
2991 // If successfully read from the registry, use the value read.
2992 // If not, use the default value.
2993 if (VOS_STATUS_SUCCESS == match_status)
2994 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002995 rv = kstrtol(value_str, 10, &svalue);
2996 if (rv < 0) {
2997 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
2998 __func__, pRegEntry->RegName);
2999 svalue = (v_S31_t)pRegEntry->VarDefault;
3000 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003001 }
3002 else
3003 {
3004 svalue = (v_S31_t)pRegEntry->VarDefault;
3005 }
3006
3007 // If this parameter needs range checking, do it here.
3008 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3009 {
3010 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3011 {
3012 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003013 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003014 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3015 svalue = (v_S31_t)pRegEntry->VarMax;
3016 }
3017
3018 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3019 {
3020 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003021 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003022 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3023 svalue = (v_S31_t)pRegEntry->VarMin;
3024 }
3025 }
3026 // If this parameter needs range checking, do it here.
3027 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3028 {
3029 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3030 {
3031 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
3032 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003033 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003034 (int)pRegEntry->VarMax,
3035 (int)pRegEntry->VarDefault );
3036 svalue = (v_S31_t)pRegEntry->VarDefault;
3037 }
3038
3039 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3040 {
3041 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
3042 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003043 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003044 (int)pRegEntry->VarMin,
3045 (int)pRegEntry->VarDefault);
3046 svalue = pRegEntry->VarDefault;
3047 }
3048 }
3049
3050 // Move the variable into the output field.
3051 memcpy( pField, &svalue, pRegEntry->VarSize );
3052 }
3053 // Handle string parameters
3054 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3055 {
3056#ifdef WLAN_CFG_DEBUG
3057 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 -08003058 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003059#endif
3060
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003061 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003062 {
3063 len_value_str = strlen(value_str);
3064
3065 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003066 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003067 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003068 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3069 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3070 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3071 }
3072 else
3073 {
3074 memcpy( pField, (void *)(value_str), len_value_str);
3075 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3076 }
3077 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003078 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003079 {
3080 // Failed to read the string parameter from the registry. Use the default.
3081 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3082 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003083 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003084 }
3085 }
3086 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3087 {
3088 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003089 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
3090 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003091 continue;
3092 }
3093 candidate = (char*)pRegEntry->VarDefault;
3094 if ( match_status == VOS_STATUS_SUCCESS) {
3095 len_value_str = strlen(value_str);
3096 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003097 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003098 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003099 }
3100 else
3101 candidate = value_str;
3102 }
3103 //parse the string and store it in the byte array
3104 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3105 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003106 ((char*)pField)[i] =
3107 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003108 }
3109 }
3110 else
3111 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003112 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003113 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003114 }
3115
3116 // did we successfully parse a cfg item for this parameter?
3117 if( (match_status == VOS_STATUS_SUCCESS) &&
3118 (idx < MAX_CFG_INI_ITEMS) )
3119 {
3120 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3121 }
3122 }
3123
3124 print_hdd_cfg(pHddCtx);
3125
3126 return( ret_status );
3127}
3128
3129eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3130{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003131 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003132 {
3133 case (eHDD_DOT11_MODE_abg):
3134 return eCSR_DOT11_MODE_abg;
3135 case (eHDD_DOT11_MODE_11b):
3136 return eCSR_DOT11_MODE_11b;
3137 case (eHDD_DOT11_MODE_11g):
3138 return eCSR_DOT11_MODE_11g;
3139 default:
3140 case (eHDD_DOT11_MODE_11n):
3141 return eCSR_DOT11_MODE_11n;
3142 case (eHDD_DOT11_MODE_11g_ONLY):
3143 return eCSR_DOT11_MODE_11g_ONLY;
3144 case (eHDD_DOT11_MODE_11n_ONLY):
3145 return eCSR_DOT11_MODE_11n_ONLY;
3146 case (eHDD_DOT11_MODE_11b_ONLY):
3147 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003148#ifdef WLAN_FEATURE_11AC
3149 case (eHDD_DOT11_MODE_11ac_ONLY):
3150 return eCSR_DOT11_MODE_11ac_ONLY;
3151 case (eHDD_DOT11_MODE_11ac):
3152 return eCSR_DOT11_MODE_11ac;
3153#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003154 case (eHDD_DOT11_MODE_AUTO):
3155 return eCSR_DOT11_MODE_AUTO;
3156 }
3157
3158}
3159
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003160static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003161{
3162 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3163 tSmeBtcConfig btcParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003164
Jeff Johnson295189b2012-06-20 16:38:30 -07003165 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3166
3167 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003168 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003169 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3170
Jeff Johnson32d95a32012-09-10 13:15:23 -07003171 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3172 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3173 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3174 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3175 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3176 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3177 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3178 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3179 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3180 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3181 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3182 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3183 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3184
Jeff Johnson295189b2012-06-20 16:38:30 -07003185 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3186}
3187
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003188static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003189{
3190 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3191
3192 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003193
Jeff Johnson295189b2012-06-20 16:38:30 -07003194 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003195
Jeff Johnson295189b2012-06-20 16:38:30 -07003196 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3197 {
3198 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3199 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3200 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3201 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3202 }
3203 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3204 {
3205 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3206 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3207 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3208 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3209 }
3210 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3211 {
3212 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3213 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3214 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3215 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3216 }
3217
3218 if (pConfig->fIsImpsEnabled)
3219 {
3220 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3221 }
3222 else
3223 {
3224 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3225 }
3226
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303227 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3228 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3229 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3230
Jeff Johnson295189b2012-06-20 16:38:30 -07003231 if (pConfig->fIsBmpsEnabled)
3232 {
3233 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3234 }
3235 else
3236 {
3237 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3238 }
3239
3240 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3241
3242 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3243 {
3244 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3245 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003246
Jeff Johnson295189b2012-06-20 16:38:30 -07003247 if(pConfig->fIsAutoBmpsTimerEnabled)
3248 {
3249 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3250 }
3251
3252}
3253
3254#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3255static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3256{
3257 char *s = str;
3258
3259 if( str == NULL || intArray == NULL || len == NULL )
3260 {
3261 return VOS_STATUS_E_INVAL;
3262 }
3263 *len = 0;
3264
Jeff Johnson295189b2012-06-20 16:38:30 -07003265 while ( (s != NULL) && (*len < intArrayMaxLen) )
3266 {
3267 int val;
3268 //Increment length only if sscanf succesfully extracted one element.
3269 //Any other return value means error. Ignore it.
3270 if( sscanf(s, "%d", &val ) == 1 )
3271 {
3272 intArray[*len] = (tANI_U8) val;
3273 *len += 1;
3274 }
3275 s = strpbrk( s, "," );
3276 if( s )
3277 s++;
3278 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003279
3280 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003281
Jeff Johnson295189b2012-06-20 16:38:30 -07003282}
3283#endif
3284
3285
3286v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3287{
3288 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003289#ifdef WLAN_SOFTAP_VSTA_FEATURE
3290 tANI_U32 val;
3291#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003292
3293 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303294 tSirMacHTCapabilityInfo htCapInfo;
3295
Jeff Johnson295189b2012-06-20 16:38:30 -07003296
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003297 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003298 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3299 {
3300 fStatus = FALSE;
3301 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3302 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003303
3304 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003305 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3306 {
3307 fStatus = FALSE;
3308 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3309 }
3310
3311 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3312 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3313 {
3314 fStatus = FALSE;
3315 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3316 }
3317
3318 if ( 0 != pConfig->Cfg1Id )
3319 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003320 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003321 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3322 {
3323 fStatus = FALSE;
3324 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3325 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003326
Jeff Johnson295189b2012-06-20 16:38:30 -07003327 }
3328
3329 if ( 0 != pConfig->Cfg2Id )
3330 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003331 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003332 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3333 {
3334 fStatus = FALSE;
3335 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3336 }
3337 }
3338
3339 if ( 0 != pConfig->Cfg3Id )
3340 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003341 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003342 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3343 {
3344 fStatus = FALSE;
3345 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3346 }
3347 }
3348
3349 if ( 0 != pConfig->Cfg4Id )
3350 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003351 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003352 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3353 {
3354 fStatus = FALSE;
3355 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3356 }
3357 }
3358
3359 if ( 0 != pConfig->Cfg5Id )
3360 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003361 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003362 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3363 {
3364 fStatus = FALSE;
3365 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3366 }
3367 }
3368
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003369 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003370 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3371 {
3372 fStatus = FALSE;
3373 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3374 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003375
3376 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003377 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3378 {
3379 fStatus = FALSE;
3380 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3381 }
3382
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003383 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003384 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3385 {
3386 fStatus = FALSE;
3387 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3388 }
3389
3390 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3391 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3392 {
3393 fStatus = FALSE;
3394 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3395 }
3396
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003397 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003398 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003399 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003400 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3401 {
3402 fStatus = FALSE;
3403 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3404 }
3405 }
3406 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003407 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003408 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3409 {
3410 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3411 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003412 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003413 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003414 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003415 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3416 {
3417 fStatus = FALSE;
3418 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3419 }
3420 }
3421 else
3422 {
3423 fStatus = FALSE;
3424 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3425 }
3426 }
3427
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003428 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003429 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3430 {
3431 fStatus = FALSE;
3432 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3433 }
3434
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003435 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003436 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3437 {
3438 fStatus = FALSE;
3439 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3440 }
3441
3442 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3443 {
3444 fStatus = FALSE;
3445 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3446 }
3447
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003448 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003449 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3450 {
3451 fStatus = FALSE;
3452 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3453 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003454
Jeff Johnson295189b2012-06-20 16:38:30 -07003455 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3456 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3457 {
3458 fStatus = FALSE;
3459 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3460 }
3461
Jeff Johnson295189b2012-06-20 16:38:30 -07003462 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3463 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3464 {
3465 fStatus = FALSE;
3466 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3467 }
3468
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003469 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003470 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3471 {
3472 fStatus = FALSE;
3473 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3474 }
3475
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003476 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003477 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3478 {
3479 fStatus = FALSE;
3480 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3481 }
3482
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003483#ifdef FEATURE_WLAN_LFR
3484 if (pConfig->isFastRoamIniFeatureEnabled)
3485 {
3486 pConfig->fEnableFwRssiMonitoring = TRUE;
3487 }
3488#endif
3489#ifdef FEATURE_WLAN_CCX
3490 if (pConfig->isCcxIniFeatureEnabled)
3491 {
3492 pConfig->fEnableFwRssiMonitoring = TRUE;
3493 }
3494#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003495 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003496 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3497 {
3498 fStatus = FALSE;
3499 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3500 }
3501
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003502 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003503 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3504 {
3505 fStatus = FALSE;
3506 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3507 }
3508
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003509 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003510 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3511 {
3512 fStatus = FALSE;
3513 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3514 }
3515
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003516 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003517 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3518 {
3519 fStatus = FALSE;
3520 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3521 }
3522
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003523 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003524 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3525 {
3526 fStatus = FALSE;
3527 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3528 }
3529
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003530 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003531 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3532 {
3533 fStatus = FALSE;
3534 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003535 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003536
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003537 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003538 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3539 {
3540 fStatus = FALSE;
3541 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3542 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003543
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303544 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3545 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3546 {
3547 fStatus = FALSE;
3548 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3549 }
3550
Jeff Johnson295189b2012-06-20 16:38:30 -07003551#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003552 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003553 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3554 {
3555 fStatus = FALSE;
3556 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3557 }
3558
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003559 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003560 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3561 {
3562 fStatus = FALSE;
3563 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3564 }
3565
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003566 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003567 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3568 {
3569 fStatus = FALSE;
3570 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3571 }
3572
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003573 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003574 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3575#endif
3576
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003577 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07003578 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3579 {
3580 fStatus = FALSE;
3581 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
3582 }
3583
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003584 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003585 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3586 {
3587 fStatus = FALSE;
3588 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
3589 }
3590
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003591 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003592 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3593 {
3594 fStatus = FALSE;
3595 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
3596 }
3597
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003598 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003599 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3600 {
3601 fStatus = FALSE;
3602 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
3603 }
3604
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003605 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003606 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3607 {
3608 fStatus = FALSE;
3609 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
3610 }
3611
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003612 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003613 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3614 {
3615 fStatus = FALSE;
3616 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
3617 }
3618
3619 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
3620 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3621 {
3622 fStatus = FALSE;
3623 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
3624 }
3625
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003626 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003627 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3628 {
3629 fStatus = FALSE;
3630 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
3631 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003632 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003633 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3634 {
3635 fStatus = FALSE;
3636 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
3637 }
3638
3639 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
3640 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3641 {
3642 fStatus = FALSE;
3643 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 -08003644 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003645
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003646 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07003647 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003648 {
3649 fStatus = FALSE;
3650 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3651 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003652 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003653 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3654 {
3655 fStatus = FALSE;
3656 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
3657 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003658 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003659 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3660 {
3661 fStatus = FALSE;
3662 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
3663 }
3664
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003665 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07003666 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3667 {
3668 fStatus = FALSE;
3669 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
3670 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003671 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07003672 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3673 {
3674 fStatus = FALSE;
3675 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
3676 }
3677
Jeff Johnson295189b2012-06-20 16:38:30 -07003678 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
3679 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3680 {
3681 fStatus = FALSE;
3682 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3683 }
3684
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003685 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07003686 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
3687 ==eHAL_STATUS_FAILURE)
3688 {
3689 fStatus = FALSE;
3690 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
3691 }
3692
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003693 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07003694 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
3695 ==eHAL_STATUS_FAILURE)
3696 {
3697 fStatus = FALSE;
3698 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
3699 }
3700
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003701 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003702 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3703 {
3704 fStatus = FALSE;
3705 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
3706 }
3707
Jeff Johnsond13512a2012-07-17 11:42:19 -07003708
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003709 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07003710 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3711 {
3712 fStatus = FALSE;
3713 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
3714 }
3715
Jeff Johnsone7245742012-09-05 17:12:55 -07003716#ifdef WLAN_FEATURE_11AC
3717 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
3718 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
3719 /* we update only the least significant 2 bits in the corresponding fields */
3720 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
3721 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
3722 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
3723 {
3724 {
3725 tANI_U32 temp = 0;
3726
3727 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003728 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003729
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003730 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07003731 temp, NULL, eANI_BOOLEAN_FALSE)
3732 ==eHAL_STATUS_FAILURE)
3733 {
3734 fStatus = FALSE;
3735 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
3736 }
3737
3738 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003739 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003740
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003741 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003742 temp, NULL, eANI_BOOLEAN_FALSE)
3743 ==eHAL_STATUS_FAILURE)
3744 {
3745 fStatus = FALSE;
3746 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
3747 }
3748
3749 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003750 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003751
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003752 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003753 temp, NULL, eANI_BOOLEAN_FALSE)
3754 ==eHAL_STATUS_FAILURE)
3755 {
3756 fStatus = FALSE;
3757 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
3758 }
3759 }
3760 }
3761#endif
3762
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003763 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07003764 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3765 {
3766 fStatus = FALSE;
3767 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
3768 }
3769
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003770 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303771 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3772 ==eHAL_STATUS_FAILURE)
3773 {
3774 fStatus = FALSE;
3775 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
3776 }
3777
3778 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
3779 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
3780
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003781 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303782 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
3783 ==eHAL_STATUS_FAILURE)
3784 {
3785 fStatus = FALSE;
3786 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
3787 }
3788
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003789 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303790 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3791 ==eHAL_STATUS_FAILURE)
3792 {
3793 fStatus = FALSE;
3794 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
3795 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003796
3797#ifdef WLAN_SOFTAP_VSTA_FEATURE
3798 if(pConfig->fEnableVSTASupport)
3799 {
3800 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
3801 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
3802 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
3803 }
3804 else
3805 {
3806 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
3807 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003808 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003809 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3810 {
3811 fStatus = FALSE;
3812 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
3813 }
3814#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003815 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08003816 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
3817 ==eHAL_STATUS_FAILURE)
3818 {
3819 fStatus = FALSE;
3820 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
3821 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303822
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08003823 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
3824 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3825 {
3826 fStatus = FALSE;
3827 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
3828 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08003829 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
3830 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3831 {
3832 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003833 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 -08003834 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003835
3836 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
3837 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3838 {
3839 fStatus = FALSE;
3840 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
3841 }
3842
3843 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
3844 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3845 {
3846 fStatus = FALSE;
3847 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
3848 }
3849
3850 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
3851 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3852 {
3853 fStatus = FALSE;
3854 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
3855 }
3856
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05303857 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
3858 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3859 {
3860 fStatus = FALSE;
3861 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
3862 }
3863
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303864#ifdef FEATURE_WLAN_TDLS
3865
3866 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK, pConfig->fTDLSUapsdMask,
3867 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3868 {
3869 fStatus = FALSE;
3870 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM\n");
3871 }
3872 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED, pConfig->fEnableTDLSBufferSta,
3873 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3874 {
3875 fStatus = FALSE;
3876 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM\n");
3877 }
3878 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME, pConfig->fTDLSPuapsdInactivityTimer,
3879 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3880 {
3881 fStatus = FALSE;
3882 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM\n");
3883 }
3884 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD, pConfig->fTDLSRxFrameThreshold,
3885 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3886 {
3887 fStatus = FALSE;
3888 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM\n");
3889 }
3890#endif
3891
Jeff Johnson295189b2012-06-20 16:38:30 -07003892 return fStatus;
3893}
3894
3895
3896/**---------------------------------------------------------------------------
3897
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003898 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07003899
3900 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003901
Jeff Johnson295189b2012-06-20 16:38:30 -07003902 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003903
Jeff Johnson295189b2012-06-20 16:38:30 -07003904 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003905
Jeff Johnson295189b2012-06-20 16:38:30 -07003906 --------------------------------------------------------------------------*/
3907
3908VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
3909{
3910 VOS_STATUS status = VOS_STATUS_SUCCESS;
3911 eHalStatus halStatus;
3912 tSmeConfigParams smeConfig;
3913
3914 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3915
3916 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
3917
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003918 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003919 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
3920 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
3921
3922 // Config params obtained from the registry
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -07003923 if (is_crda_regulatory_entry_valid() == VOS_TRUE)
3924 sme_setRegInfo(pHddCtx->hHal, pConfig->crdaDefaultCountryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003925 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
3926 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
3927 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
3928 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
3929 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
3930
3931 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
3932
3933 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
3934 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
3935 smeConfig.csrConfig.TxRate = pConfig->TxRate;
3936 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
3937 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
3938 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
3939 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
3940 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
3941 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
3942 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
3943 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
3944 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
3945 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
3946 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
3947 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
3948 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
3949 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003950 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07003951 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
3952 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
3953 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
3954 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003955 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
3956 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07003957 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003958#ifdef WLAN_AP_STA_CONCURRENCY
3959 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
3960 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
3961 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
3962 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
3963 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07003964 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
3965 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
3966
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003967#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003968 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
3969 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
3970
3971#if defined WLAN_FEATURE_VOWIFI
3972 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
3973 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
3974#endif
3975 //Remaining config params not obtained from registry
3976 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07003977#ifdef WLAN_FEATURE_11AC
3978 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08003979 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08003980 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07003981 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07003982#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07003983 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
3984 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003985 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
3986 smeConfig.csrConfig.HeartbeatThresh50 = 40;
3987 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08003988 if (pConfig->nBandCapability == eCSR_BAND_24)
3989 {
3990 smeConfig.csrConfig.Is11hSupportEnabled = 0;
3991 } else {
3992 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
3993 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003994 smeConfig.csrConfig.cbChoice = 0;
3995 smeConfig.csrConfig.bgScanInterval = 0;
3996 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07003997 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
3998 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
3999 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004000#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
4001 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004002 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004003 smeConfig.csrConfig.nProbes = pConfig->nProbes;
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -07004004
4005 if (pConfig->nRoamScanHomeAwayTime < (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
4006 {
4007 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
4008 "%s: Invalid config, Home away time(%d) is less than twice RF switching time + channel max time(%d)"
4009 " Hence enforcing home away time to disable (0)",
4010 __func__, pConfig->nRoamScanHomeAwayTime,
4011 (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
4012 pConfig->nRoamScanHomeAwayTime = 0;
4013 }
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004014 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004015#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07004016 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
4017
Jeff Johnson295189b2012-06-20 16:38:30 -07004018 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08004019 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
4020 {
4021 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07004022
Jeff Johnson7dda7772013-02-27 08:36:13 -08004023 /* if there is a requirement that HDD will control the default
4024 * channel list & country code (say from .ini file) we need to
4025 * add some logic here. Otherwise the default 11d info should
4026 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004027 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004028 else
4029 {
4030 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4031 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004032
Jeff Johnson7dda7772013-02-27 08:36:13 -08004033 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4034 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4035 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4036 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004037 hdd_set_power_save_config(pHddCtx, &smeConfig);
4038 hdd_set_btc_config(pHddCtx);
4039
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004040#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004041 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4042#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004043#ifdef FEATURE_WLAN_LFR
4044 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004045 if( pConfig->isFastRoamIniFeatureEnabled )
4046 {
4047 pConfig->isFastTransitionEnabled = TRUE;
4048 }
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004049#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004050#ifdef FEATURE_WLAN_CCX
4051 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004052 if( pConfig->isCcxIniFeatureEnabled )
4053 {
4054 pConfig->isFastTransitionEnabled = TRUE;
4055 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004056#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004057#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004058 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07004059 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004060 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Jeff Johnson295189b2012-06-20 16:38:30 -07004061#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004062#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4063 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004064 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4065
4066 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4067 {
4068 /* Disable roaming in concurrency if roam scan offload is disabled */
4069 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4070 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004071#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004072#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4073 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4074 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004075 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4076 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004077 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004078 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004079 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004080 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004081 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4082 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4083 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004084 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4085#endif
4086
4087 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4088 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4089
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004090 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004091 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004092 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004093
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004094 //Scan Results Aging Time out value
4095 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4096
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004097 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4098
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004099 /* update SSR config */
4100 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304101 /* Update the Directed scan offload setting */
4102 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004103
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004104 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004105 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4106 {
4107 status = VOS_STATUS_E_FAILURE;
4108 }
4109
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004110
4111 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004112}
4113
4114
4115/**---------------------------------------------------------------------------
4116
4117 \brief hdd_execute_config_command() -
4118
4119 This function executes an arbitrary configuration set command
4120
4121 \param - pHddCtx - Pointer to the HDD Adapter.
4122 \parmm - command - a configuration command of the form:
4123 <name>=<value>
4124
4125 \return - 0 for success, non zero for failure
4126
4127 --------------------------------------------------------------------------*/
4128
4129VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4130{
4131 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4132 REG_TABLE_ENTRY *pRegEntry;
4133 char *clone;
4134 char *pCmd;
4135 void *pField;
4136 char *name;
4137 char *value_str;
4138 v_U32_t value;
4139 v_S31_t svalue;
4140 size_t len_value_str;
4141 unsigned int idx;
4142 unsigned int i;
4143 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004144 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004145
4146 // assume failure until proven otherwise
4147 vstatus = VOS_STATUS_E_FAILURE;
4148
4149 // clone the command so that we can manipulate it
4150 clone = kstrdup(command, GFP_ATOMIC);
4151 if (NULL == clone)
4152 {
4153 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004154 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004155 return vstatus;
4156 }
4157
4158 // 'clone' will point to the beginning of the string so it can be freed
4159 // 'pCmd' will be used to walk/parse the command
4160 pCmd = clone;
4161
4162 // get rid of leading/trailing whitespace
4163 pCmd = i_trim(pCmd);
4164 if ('\0' == *pCmd)
4165 {
4166 // only whitespace
4167 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004168 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004169 goto done;
4170 }
4171
4172 // parse the <name> = <value>
4173 name = pCmd;
4174 while (('=' != *pCmd) && ('\0' != *pCmd))
4175 {
4176 pCmd++;
4177 }
4178 if ('\0' == *pCmd)
4179 {
4180 // did not find '='
4181 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004182 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004183 goto done;
4184 }
4185
4186 // replace '=' with NUL to terminate the <name>
4187 *pCmd++ = '\0';
4188 name = i_trim(name);
4189 if ('\0' == *name)
4190 {
4191 // did not find a name
4192 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004193 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004194 goto done;
4195 }
4196
4197 value_str = i_trim(pCmd);
4198 if ('\0' == *value_str)
4199 {
4200 // did not find a value
4201 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004202 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004203 goto done;
4204 }
4205
4206 // lookup the configuration item
4207 for (idx = 0; idx < tableSize; idx++)
4208 {
4209 if (0 == strcmp(name, g_registry_table[idx].RegName))
4210 {
4211 // found a match
4212 break;
4213 }
4214 }
4215 if (tableSize == idx)
4216 {
4217 // did not match the name
4218 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004219 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004220 goto done;
4221 }
4222
4223 pRegEntry = &g_registry_table[idx];
4224 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4225 {
4226 // does not support dynamic configuration
4227 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004228 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004229 goto done;
4230 }
4231
4232 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4233
4234 switch (pRegEntry->RegType)
4235 {
4236 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004237 rv = kstrtoul(value_str, 10, &value);
4238 if (rv < 0)
4239 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004240 if (value < pRegEntry->VarMin)
4241 {
4242 // out of range
4243 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004244 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004245 goto done;
4246 }
4247 if (value > pRegEntry->VarMax)
4248 {
4249 // out of range
4250 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004251 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004252 goto done;
4253 }
4254 memcpy(pField, &value, pRegEntry->VarSize);
4255 break;
4256
4257 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004258 rv = kstrtoul(value_str, 16, &value);
4259 if (rv < 0)
4260 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004261 if (value < pRegEntry->VarMin)
4262 {
4263 // out of range
4264 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004265 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004266 goto done;
4267 }
4268 if (value > pRegEntry->VarMax)
4269 {
4270 // out of range
4271 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004272 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004273 goto done;
4274 }
4275 memcpy(pField, &value, pRegEntry->VarSize);
4276 break;
4277
4278 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004279 rv = kstrtol(value_str, 10, &svalue);
4280 if (rv < 0)
4281 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004282 if (svalue < (v_S31_t)pRegEntry->VarMin)
4283 {
4284 // out of range
4285 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004286 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004287 goto done;
4288 }
4289 if (svalue > (v_S31_t)pRegEntry->VarMax)
4290 {
4291 // out of range
4292 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004293 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004294 goto done;
4295 }
4296 memcpy(pField, &svalue, pRegEntry->VarSize);
4297 break;
4298
4299 case WLAN_PARAM_String:
4300 len_value_str = strlen(value_str);
4301 if (len_value_str > (pRegEntry->VarSize - 1))
4302 {
4303 // too big
4304 hddLog(LOGE,
4305 "%s: invalid command, string [%s] length "
4306 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004307 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004308 len_value_str, (pRegEntry->VarSize - 1));
4309 goto done;
4310 }
4311 // copy string plus NUL
4312 memcpy(pField, value_str, (len_value_str + 1));
4313 break;
4314
4315 case WLAN_PARAM_MacAddr:
4316 len_value_str = strlen(value_str);
4317 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4318 {
4319 // out of range
4320 hddLog(LOGE,
4321 "%s: invalid command, MAC address [%s] length "
4322 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004323 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004324 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4325 goto done;
4326 }
4327 //parse the string and store it in the byte array
4328 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4329 {
4330 ((char*)pField)[i] = (char)
4331 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4332 parseHexDigit(value_str[(i * 2) + 1]));
4333 }
4334 break;
4335
4336 default:
4337 goto done;
4338 }
4339
4340 // if we get here, we had a successful modification
4341 vstatus = VOS_STATUS_SUCCESS;
4342
4343 // config table has been modified, is there a notifier?
4344 if (NULL != pRegEntry->pfnDynamicNotify)
4345 {
4346 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4347 }
4348
4349 // note that this item was explicitly configured
4350 if (idx < MAX_CFG_INI_ITEMS)
4351 {
4352 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4353 }
4354 done:
4355 kfree(clone);
4356 return vstatus;
4357}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004358
4359/**---------------------------------------------------------------------------
4360
4361 \brief hdd_is_okc_mode_enabled() -
4362
4363 This function returns whether OKC mode is enabled or not
4364
4365 \param - pHddCtx - Pointer to the HDD Adapter.
4366
4367 \return - 1 for enabled, zero for disabled
4368
4369 --------------------------------------------------------------------------*/
4370
4371tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4372{
4373 if (NULL == pHddCtx)
4374 {
4375 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4376 return -EINVAL;
4377 }
4378
4379#ifdef FEATURE_WLAN_OKC
4380 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4381#else
4382 return eANI_BOOLEAN_FALSE;
4383#endif
4384}