blob: b5f006722d2f344d9c60129c25762011fdafa82a [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lam842dad02014-02-18 18:44:02 -08002 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
Jeff Johnson295189b2012-06-20 16:38:30 -070027
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080028/**=========================================================================
Jeff Johnson295189b2012-06-20 16:38:30 -070029
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080030 EDIT HISTORY FOR FILE
31
32
33 This section contains comments describing changes made to the module.
34 Notice that changes are listed in reverse chronological order.
35
36
37 $Header:$ $DateTime: $ $Author: $
38
39
40 when who what, where, why
Jeff Johnson295189b2012-06-20 16:38:30 -070041 -------- --- --------------------------------------------------------
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080042 07/27/09 kanand Created module.
Jeff Johnson295189b2012-06-20 16:38:30 -070043
44 ==========================================================================*/
45
46/*--------------------------------------------------------------------------
47 Include Files
48 ------------------------------------------------------------------------*/
49
50
51#include <linux/firmware.h>
52#include <linux/string.h>
53#include <wlan_hdd_includes.h>
54#include <wlan_hdd_main.h>
55#include <wlan_hdd_assoc.h>
56#include <wlan_hdd_cfg.h>
57#include <linux/string.h>
58#include <vos_types.h>
59#include <csrApi.h>
60#include <pmcApi.h>
61#include <wlan_hdd_misc.h>
62
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080063#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -080064static void cbNotifySetRoamPrefer5GHz(hdd_context_t *pHddCtx, unsigned long NotifyId)
65{
66 sme_UpdateRoamPrefer5GHz((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamPrefer5GHz);
67}
Jeff Johnson295189b2012-06-20 16:38:30 -070068
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080069static void cbNotifySetImmediateRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
70{
Srinivas Girigowdade697412013-02-14 16:31:48 -080071 sme_UpdateImmediateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080072 pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
73}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080074
Srinivas Girigowdade697412013-02-14 16:31:48 -080075static void cbNotifySetRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
76{
77 sme_UpdateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
78 pHddCtx->cfg_ini->RoamRssiDiff);
79}
80
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080081static void cbNotifySetFastTransitionEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
82{
83 sme_UpdateFastTransitionEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastTransitionEnabled);
84}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -070085
86static void cbNotifySetRoamIntraBand(hdd_context_t *pHddCtx, unsigned long NotifyId)
87{
88 sme_setRoamIntraBand((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamIntraBand);
89}
Srinivas Girigowda100eb322013-03-15 16:48:20 -070090
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -070091static void cbNotifySetWESMode(hdd_context_t *pHddCtx, unsigned long NotifyId)
92{
93 // at the point this routine is called, the value in the cfg_ini table has already been updated
94 sme_UpdateWESMode((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isWESModeEnabled);
95}
96
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070097static void cbNotifySetRoamScanNProbes(hdd_context_t *pHddCtx, unsigned long NotifyId)
98{
99 sme_UpdateRoamScanNProbes((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nProbes);
100}
101
102static void cbNotifySetRoamScanHomeAwayTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
103{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700104 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime, eANI_BOOLEAN_TRUE);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700105}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700106#endif
107
108#ifdef FEATURE_WLAN_OKC
109static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
110{
111 // at the point this routine is called, the value in the cfg_ini table has already been updated
112}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800113#endif
114
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800115#ifdef FEATURE_WLAN_LFR
116static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
117{
118 // at the point this routine is called, the value in the cfg_ini table has already been updated
119 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
120}
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -0800121
122static void NotifyIsMAWCIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
123{
124 /* at the point this routine is called, the value in the cfg_ini table has already been updated */
125 sme_UpdateIsMAWCIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->MAWCEnabled );
126}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800127#endif
128
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800129#ifdef FEATURE_WLAN_ESE
130static void cbNotifySetEseFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800131{
132 // at the point this routine is called, the value in the cfg_ini table has already been updated
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800133 sme_UpdateIsEseFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isEseIniFeatureEnabled );
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800134}
135#endif
136
137static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
138{
139 // at the point this routine is called, the value in the cfg_ini table has already been updated
140 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
141}
142
Srinivas Girigowdade697412013-02-14 16:31:48 -0800143#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
144static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
145{
146 // at the point this routine is called, the value in the cfg_ini table has already been updated
147 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
148}
149
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700150static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
151{
152 // at the point this routine is called, the value in the cfg_ini table has already been updated
153 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
154}
155
Srinivas Girigowdade697412013-02-14 16:31:48 -0800156static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
157{
158 // at the point this routine is called, the value in the cfg_ini table has already been updated
159 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
160}
161
162static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
163{
164 // at the point this routine is called, the value in the cfg_ini table has already been updated
165 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
166}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700167
168static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
169{
170 // at the point this routine is called, the value in the cfg_ini table has already been updated
171 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
172}
173
174static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
175{
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700176 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
177}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800178#endif
179
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700180static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
181{
182 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
183}
184
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700185#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
186static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
187{
188 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700189 if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled)
190 {
191 pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0;
192 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
193 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700194}
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700195
196static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsigned long NotifyId)
197{
198 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
199}
200
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700201#endif
202
Jeff Johnson295189b2012-06-20 16:38:30 -0700203REG_TABLE_ENTRY g_registry_table[] =
204{
205 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800206 hdd_config_t, RTSThreshold,
207 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
208 CFG_RTS_THRESHOLD_DEFAULT,
209 CFG_RTS_THRESHOLD_MIN,
210 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700211
212 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800213 hdd_config_t, FragmentationThreshold,
214 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
215 CFG_FRAG_THRESHOLD_DEFAULT,
216 CFG_FRAG_THRESHOLD_MIN,
217 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700218
219 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800220 hdd_config_t, Calibration,
221 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
222 CFG_CALIBRATION_DEFAULT,
223 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700224 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800225
Jeff Johnson295189b2012-06-20 16:38:30 -0700226 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800227 hdd_config_t, CalibrationPeriod,
228 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
229 CFG_CALIBRATION_PERIOD_DEFAULT,
230 CFG_CALIBRATION_PERIOD_MIN,
231 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700232
233 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
234 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800235 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
236 CFG_OPERATING_CHANNEL_DEFAULT,
237 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700238 CFG_OPERATING_CHANNEL_MAX ),
239
240 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800241 hdd_config_t, ShortSlotTimeEnabled,
242 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
243 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
244 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700245 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
246
247 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800248 hdd_config_t, Is11dSupportEnabled,
249 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
250 CFG_11D_SUPPORT_ENABLED_DEFAULT,
251 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700252 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800253
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800254 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800255 hdd_config_t, Is11hSupportEnabled,
256 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
257 CFG_11H_SUPPORT_ENABLED_DEFAULT,
258 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800259 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700260
261 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800262 hdd_config_t, fEnforce11dChannels,
263 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
264 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
265 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700266 CFG_ENFORCE_11D_CHANNELS_MAX ),
267
268 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800269 hdd_config_t, fSupplicantCountryCodeHasPriority,
270 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
271 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
272 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700273 CFG_COUNTRY_CODE_PRIORITY_MAX),
274
275 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800276 hdd_config_t, fEnforceCountryCodeMatch,
277 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
278 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
279 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700280 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
281
282 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800283 hdd_config_t, fEnforceDefaultDomain,
284 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
285 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
286 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700287 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800288
Jeff Johnson295189b2012-06-20 16:38:30 -0700289 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
290 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800291 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
292 CFG_GENERIC_ID1_DEFAULT,
293 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700294 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800295
Jeff Johnson295189b2012-06-20 16:38:30 -0700296 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
297 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800298 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
299 CFG_GENERIC_ID2_DEFAULT,
300 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700301 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800302
Jeff Johnson295189b2012-06-20 16:38:30 -0700303 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
304 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800305 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
306 CFG_GENERIC_ID3_DEFAULT,
307 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700308 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800309
Jeff Johnson295189b2012-06-20 16:38:30 -0700310 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
311 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800312 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
313 CFG_GENERIC_ID4_DEFAULT,
314 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700315 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800316
Jeff Johnson295189b2012-06-20 16:38:30 -0700317 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
318 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800319 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
320 CFG_GENERIC_ID5_DEFAULT,
321 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700322 CFG_GENERIC_ID5_MAX ),
323
324 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
325 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800326 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
327 CFG_GENERIC_VALUE1_DEFAULT,
328 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700329 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800330
Jeff Johnson295189b2012-06-20 16:38:30 -0700331 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
332 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800333 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
334 CFG_GENERIC_VALUE2_DEFAULT,
335 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700336 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800337
Jeff Johnson295189b2012-06-20 16:38:30 -0700338 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
339 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800340 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
341 CFG_GENERIC_VALUE3_DEFAULT,
342 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700343 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800344
Jeff Johnson295189b2012-06-20 16:38:30 -0700345 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
346 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800347 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
348 CFG_GENERIC_VALUE4_DEFAULT,
349 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700350 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800351
Jeff Johnson295189b2012-06-20 16:38:30 -0700352 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
353 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800354 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
355 CFG_GENERIC_VALUE5_DEFAULT,
356 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700357 CFG_GENERIC_VALUE5_MAX ),
358
359 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800360 hdd_config_t, HeartbeatThresh24,
361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
362 CFG_HEARTBEAT_THRESH_24_DEFAULT,
363 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700364 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800365
Jeff Johnson295189b2012-06-20 16:38:30 -0700366 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800367 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700368 VAR_FLAGS_OPTIONAL,
369 (void *)CFG_POWER_USAGE_DEFAULT ),
370
371 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800372 hdd_config_t, nEnableSuspend,
373 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
374 CFG_ENABLE_SUSPEND_DEFAULT,
375 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700376 CFG_ENABLE_SUSPEND_MAX ),
377
378 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800379 hdd_config_t, nEnableDriverStop,
380 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
381 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
382 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700383 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
384
385 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800386 hdd_config_t, fIsImpsEnabled,
387 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
388 CFG_ENABLE_IMPS_DEFAULT,
389 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700390 CFG_ENABLE_IMPS_MAX ),
391
Pradeep Kumar Goudagunta22d8e4d2014-07-17 15:03:51 +0530392 REG_VARIABLE( CFG_SSR_PANIC_ON_FAILURE_NAME, WLAN_PARAM_Integer,
393 hdd_config_t, fIsSsrPanicOnFailure,
394 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
395 CFG_SSR_PANIC_ON_FAILURE_DEFAULT,
396 CFG_SSR_PANIC_ON_FAILURE_MIN,
397 CFG_SSR_PANIC_ON_FAILURE_MAX),
398
Jeff Johnson295189b2012-06-20 16:38:30 -0700399 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800400 hdd_config_t, fIsLogpEnabled,
401 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
402 CFG_ENABLE_LOGP_DEFAULT,
403 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700404 CFG_ENABLE_LOGP_MAX ),
405
406 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800407 hdd_config_t, nImpsMinSleepTime,
408 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
409 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
410 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700411 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
412
413 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800414 hdd_config_t, nImpsMaxSleepTime,
415 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
416 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
417 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700418 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
419
420 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
421 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800422 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
423 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
424 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700425 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
426
427 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800428 hdd_config_t, fIsBmpsEnabled,
429 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
430 CFG_ENABLE_BMPS_DEFAULT,
431 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700432 CFG_ENABLE_BMPS_MAX ),
433
434 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800435 hdd_config_t, nBmpsMinListenInterval,
436 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
437 CFG_BMPS_MINIMUM_LI_DEFAULT,
438 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700439 CFG_BMPS_MINIMUM_LI_MAX ),
440
441 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800442 hdd_config_t, nBmpsMaxListenInterval,
443 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
444 CFG_BMPS_MAXIMUM_LI_DEFAULT,
445 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700446 CFG_BMPS_MAXIMUM_LI_MAX ),
447
448 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
449 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800450 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
451 CFG_BMPS_MODERATE_LI_DEFAULT,
452 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700453 CFG_BMPS_MODERATE_LI_MAX ),
454
455 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800456 hdd_config_t, fIsAutoBmpsTimerEnabled,
457 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
458 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
459 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700460 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
461
462 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800463 hdd_config_t, nAutoBmpsTimerValue,
464 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
465 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
466 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700467 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
468
469 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800470 hdd_config_t, dot11Mode,
471 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
472 CFG_DOT11_MODE_DEFAULT,
473 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700474 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800475
Jeff Johnson295189b2012-06-20 16:38:30 -0700476 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800477 hdd_config_t, nChannelBondingMode24GHz,
478 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
479 CFG_CHANNEL_BONDING_MODE_DEFAULT,
480 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700481 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800482
Jeff Johnson295189b2012-06-20 16:38:30 -0700483 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800484 hdd_config_t, nChannelBondingMode5GHz,
485 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
486 CFG_CHANNEL_BONDING_MODE_DEFAULT,
487 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700488 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800489
490 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
491 hdd_config_t, MaxRxAmpduFactor,
492 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
493 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
494 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700495 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800496
Jeff Johnson295189b2012-06-20 16:38:30 -0700497 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800498 hdd_config_t, TxRate,
499 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
500 CFG_FIXED_RATE_DEFAULT,
501 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700502 CFG_FIXED_RATE_MAX ),
503
504 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800505 hdd_config_t, ShortGI20MhzEnable,
506 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
507 CFG_SHORT_GI_20MHZ_DEFAULT,
508 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700509 CFG_SHORT_GI_20MHZ_MAX ),
510
511 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800512 hdd_config_t, BlockAckAutoSetup,
513 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
514 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
515 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700516 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800517
Jeff Johnson295189b2012-06-20 16:38:30 -0700518 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800519 hdd_config_t, ScanResultAgeCount,
520 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
521 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
522 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700523 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
524
525 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800526 hdd_config_t, nScanAgeTimeNCNPS,
527 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
528 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
529 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700530 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
531
532 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800533 hdd_config_t, nScanAgeTimeNCPS,
534 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
535 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
536 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700537 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
538
539 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800540 hdd_config_t, nScanAgeTimeCNPS,
541 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
542 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
543 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700544 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
545
546 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800547 hdd_config_t, nScanAgeTimeCPS,
548 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
549 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
550 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700551 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
552
553 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800554 hdd_config_t, nRssiCatGap,
555 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
556 CFG_RSSI_CATEGORY_GAP_DEFAULT,
557 CFG_RSSI_CATEGORY_GAP_MIN,
558 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700559
Jeff Johnson295189b2012-06-20 16:38:30 -0700560 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800561 hdd_config_t, fIsShortPreamble,
562 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
563 CFG_SHORT_PREAMBLE_DEFAULT,
564 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700565 CFG_SHORT_PREAMBLE_MAX ),
566
567 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800568 hdd_config_t, fIsAutoIbssBssid,
569 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
570 CFG_IBSS_AUTO_BSSID_DEFAULT,
571 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700572 CFG_IBSS_AUTO_BSSID_MAX ),
573
574 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800575 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700576 VAR_FLAGS_OPTIONAL,
577 (void *)CFG_IBSS_BSSID_DEFAULT ),
578
579 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800580 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700581 VAR_FLAGS_OPTIONAL,
582 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
583
584 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800585 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700586 VAR_FLAGS_OPTIONAL,
587 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
588
589 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800590 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700591 VAR_FLAGS_OPTIONAL,
592 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
593
594 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800595 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700596 VAR_FLAGS_OPTIONAL,
597 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
598
Jeff Johnson295189b2012-06-20 16:38:30 -0700599 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800600 hdd_config_t, apUapsdEnabled,
601 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
602 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
603 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700604 CFG_AP_QOS_UAPSD_MODE_MAX ),
605
606 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800607 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700608 VAR_FLAGS_OPTIONAL,
609 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
610
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700611 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
612 hdd_config_t, apRandomBssidEnabled,
613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
614 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
615 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
616 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
617
Jeff Johnson295189b2012-06-20 16:38:30 -0700618 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800619 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
621 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
622 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
623 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
624
625 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
626 hdd_config_t, apProtection,
627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_AP_PROTECTION_MODE_DEFAULT,
629 CFG_AP_PROTECTION_MODE_MIN,
630 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800631
Jeff Johnson295189b2012-06-20 16:38:30 -0700632 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
635 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
636 CFG_AP_OBSS_PROTECTION_MODE_MIN,
637 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800638
Jeff Johnson295189b2012-06-20 16:38:30 -0700639 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800640 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
642 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
643 CFG_AP_STA_SECURITY_SEPERATION_MIN,
644 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
645
646 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800647 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
649 CFG_FRAMES_PROCESSING_TH_DEFAULT,
650 CFG_FRAMES_PROCESSING_TH_MIN,
651 CFG_FRAMES_PROCESSING_TH_MAX ),
652
653 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
654 hdd_config_t, apStartChannelNum,
655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
656 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
657 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
658 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
659
660 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
661 hdd_config_t, apEndChannelNum,
662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
663 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
664 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
665 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
666
667 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
668 hdd_config_t, apOperatingBand,
669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
670 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
671 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
672 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
673
674 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
675 hdd_config_t, apAutoChannelSelection,
676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
677 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
678 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
679 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800680
Jeff Johnson295189b2012-06-20 16:38:30 -0700681 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
682 hdd_config_t, enableLTECoex,
683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
684 CFG_ENABLE_LTE_COEX_DEFAULT,
685 CFG_ENABLE_LTE_COEX_MIN,
686 CFG_ENABLE_LTE_COEX_MAX ),
687
688 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
689 hdd_config_t, apKeepAlivePeriod,
690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
691 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
692 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
693 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
694
695 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
696 hdd_config_t, goKeepAlivePeriod,
697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
698 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
699 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
700 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
701
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530702 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
703 hdd_config_t, apLinkMonitorPeriod,
704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
705 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
706 CFG_AP_LINK_MONITOR_PERIOD_MIN,
707 CFG_AP_LINK_MONITOR_PERIOD_MAX),
708
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +0530709 REG_VARIABLE( CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
710 hdd_config_t, goLinkMonitorPeriod,
711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
712 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
713 CFG_GO_LINK_MONITOR_PERIOD_MIN,
714 CFG_GO_LINK_MONITOR_PERIOD_MAX),
715
Jeff Johnson295189b2012-06-20 16:38:30 -0700716 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
717 hdd_config_t, disablePacketFilter,
718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
719 CFG_DISABLE_PACKET_FILTER_DEFAULT,
720 CFG_DISABLE_PACKET_FILTER_MIN,
721 CFG_DISABLE_PACKET_FILTER_MAX ),
722
723 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800724 hdd_config_t, nBeaconInterval,
725 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
726 CFG_BEACON_INTERVAL_DEFAULT,
727 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700728 CFG_BEACON_INTERVAL_MAX ),
729
Jeff Johnson295189b2012-06-20 16:38:30 -0700730 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800731 hdd_config_t, nEnableIdleScan,
732 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
733 CFG_ENABLE_IDLE_SCAN_DEFAULT,
734 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700735 CFG_ENABLE_IDLE_SCAN_MAX ),
736
737 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800738 hdd_config_t, nRoamingTime,
739 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
740 CFG_ROAMING_TIME_DEFAULT,
741 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700742 CFG_ROAMING_TIME_MAX ),
743
744 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800745 hdd_config_t, nVccRssiTrigger,
746 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
747 CFG_VCC_RSSI_TRIGGER_DEFAULT,
748 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700749 CFG_VCC_RSSI_TRIGGER_MAX ),
750
751 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800752 hdd_config_t, nVccUlMacLossThreshold,
753 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
754 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
755 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700756 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
757
758 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800759 hdd_config_t, nPassiveMaxChnTime,
760 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
761 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
762 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700763 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
764
765 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800766 hdd_config_t, nPassiveMinChnTime,
767 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
768 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
769 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700770 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
771
772 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800773 hdd_config_t, nActiveMaxChnTime,
774 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
775 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
776 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700777 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
778
779 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800780 hdd_config_t, nActiveMinChnTime,
781 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
782 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
783 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700784 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700785
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800786 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
787 hdd_config_t, nActiveMaxChnTimeBtc,
788 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
789 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
790 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
791 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
792
793 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
794 hdd_config_t, nActiveMinChnTimeBtc,
795 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
796 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
797 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
798 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
799
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700800 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
801 hdd_config_t, retryLimitZero,
802 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
803 CFG_RETRY_LIMIT_ZERO_DEFAULT,
804 CFG_RETRY_LIMIT_ZERO_MIN,
805 CFG_RETRY_LIMIT_ZERO_MAX ),
806
807 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
808 hdd_config_t, retryLimitOne,
809 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
810 CFG_RETRY_LIMIT_ONE_DEFAULT,
811 CFG_RETRY_LIMIT_ONE_MIN,
812 CFG_RETRY_LIMIT_ONE_MAX ),
813
814 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
815 hdd_config_t, retryLimitTwo,
816 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
817 CFG_RETRY_LIMIT_TWO_DEFAULT,
818 CFG_RETRY_LIMIT_TWO_MIN,
819 CFG_RETRY_LIMIT_TWO_MAX ),
820
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700821 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
822 hdd_config_t, disableAggWithBtc,
823 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
824 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
825 CFG_DISABLE_AGG_WITH_BTC_MIN,
826 CFG_DISABLE_AGG_WITH_BTC_MAX ),
827
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700828#ifdef WLAN_AP_STA_CONCURRENCY
829 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800830 hdd_config_t, nPassiveMaxChnTimeConc,
831 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
832 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
833 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700834 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
835
836 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800837 hdd_config_t, nPassiveMinChnTimeConc,
838 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
839 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
840 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700841 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
842
843 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800844 hdd_config_t, nActiveMaxChnTimeConc,
845 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
846 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
847 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700848 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
849
850 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800851 hdd_config_t, nActiveMinChnTimeConc,
852 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
853 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
854 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700855 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
856
857 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800858 hdd_config_t, nRestTimeConc,
859 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
860 CFG_REST_TIME_CONC_DEFAULT,
861 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700862 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800863
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700864 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
865 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800866 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700867 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
868 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
869 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
870
871 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
872 hdd_config_t, nNumP2PChanCombinedConc,
873 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
874 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
875 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
876 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700877#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800878
Jeff Johnson295189b2012-06-20 16:38:30 -0700879 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800880 hdd_config_t, nMaxPsPoll,
881 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
882 CFG_MAX_PS_POLL_DEFAULT,
883 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700884 CFG_MAX_PS_POLL_MAX ),
885
886 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800887 hdd_config_t, nTxPowerCap,
888 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
889 CFG_MAX_TX_POWER_DEFAULT,
890 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700891 CFG_MAX_TX_POWER_MAX ),
892
893 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
894 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800895 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
896 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
897 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700898 CFG_LOW_GAIN_OVERRIDE_MAX ),
899
900 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
901 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
903 CFG_RSSI_FILTER_PERIOD_DEFAULT,
904 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700905 CFG_RSSI_FILTER_PERIOD_MAX ),
906
907 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
908 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
910 CFG_IGNORE_DTIM_DEFAULT,
911 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700912 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800913
Yue Mac24062f2013-05-13 17:01:29 -0700914 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
915 hdd_config_t, fMaxLIModulatedDTIM,
916 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
917 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
918 CFG_MAX_LI_MODULATED_DTIM_MIN,
919 CFG_MAX_LI_MODULATED_DTIM_MAX ),
920
Jeff Johnson295189b2012-06-20 16:38:30 -0700921 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800922 hdd_config_t, nRxAnt,
923 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
924 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
925 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700926 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
927
928 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800929 hdd_config_t, fEnableFwHeartBeatMonitoring,
930 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
931 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
932 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700933 CFG_FW_HEART_BEAT_MONITORING_MAX ),
934
935 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800936 hdd_config_t, fEnableFwBeaconFiltering,
937 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
938 CFG_FW_BEACON_FILTERING_DEFAULT,
939 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700940 CFG_FW_BEACON_FILTERING_MAX ),
941
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800942 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800943 hdd_config_t, fEnableFwRssiMonitoring,
944 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
945 CFG_FW_RSSI_MONITORING_DEFAULT,
946 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800947 CFG_FW_RSSI_MONITORING_MAX,
948 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700949
950 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800951 hdd_config_t, nDataInactivityTimeout,
952 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
953 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
954 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700955 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800956
Jeff Johnson295189b2012-06-20 16:38:30 -0700957 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800958 hdd_config_t, nthBeaconFilter,
959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
960 CFG_NTH_BEACON_FILTER_DEFAULT,
961 CFG_NTH_BEACON_FILTER_MIN,
962 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700963
964 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800965 hdd_config_t, WmmMode,
966 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
967 CFG_QOS_WMM_MODE_DEFAULT,
968 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700969 CFG_QOS_WMM_MODE_MAX ),
970
971 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800972 hdd_config_t, b80211eIsEnabled,
973 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
974 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
975 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700976 CFG_QOS_WMM_80211E_ENABLED_MAX ),
977
978 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800979 hdd_config_t, UapsdMask,
980 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
981 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
982 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700983 CFG_QOS_WMM_UAPSD_MASK_MAX ),
984
Jeff Johnson295189b2012-06-20 16:38:30 -0700985 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800986 hdd_config_t, InfraUapsdVoSrvIntv,
987 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
988 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
989 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700990 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
991
992 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800993 hdd_config_t, InfraUapsdVoSuspIntv,
994 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
995 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
996 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700997 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
998
999 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001000 hdd_config_t, InfraUapsdViSrvIntv,
1001 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1002 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1003 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001004 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1005
1006 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001007 hdd_config_t, InfraUapsdViSuspIntv,
1008 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1009 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1010 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001011 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1012
1013 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001014 hdd_config_t, InfraUapsdBeSrvIntv,
1015 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1016 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1017 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001018 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1019
1020 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001021 hdd_config_t, InfraUapsdBeSuspIntv,
1022 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1023 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1024 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001025 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1026
1027 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001028 hdd_config_t, InfraUapsdBkSrvIntv,
1029 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1030 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1031 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001032 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1033
1034 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001035 hdd_config_t, InfraUapsdBkSuspIntv,
1036 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1037 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1038 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001039 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1040
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001041#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07001042 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001043 hdd_config_t, InfraInactivityInterval,
1044 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1045 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1046 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001047 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001048 REG_DYNAMIC_VARIABLE( CFG_ESE_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1049 hdd_config_t, isEseIniFeatureEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001050 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001051 CFG_ESE_FEATURE_ENABLED_DEFAULT,
1052 CFG_ESE_FEATURE_ENABLED_MIN,
1053 CFG_ESE_FEATURE_ENABLED_MAX,
1054 cbNotifySetEseFeatureEnabled, 0 ),
1055#endif // FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07001056
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001057#ifdef FEATURE_WLAN_LFR
1058 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001059 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001060 hdd_config_t, isFastRoamIniFeatureEnabled,
1061 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1062 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1063 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001064 CFG_LFR_FEATURE_ENABLED_MAX,
1065 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08001066
1067 /* flag to turn ON/OFF Motion assistance for Legacy Fast Roaming */
1068 REG_DYNAMIC_VARIABLE( CFG_LFR_MAWC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1069 hdd_config_t, MAWCEnabled,
1070 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1071 CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT,
1072 CFG_LFR_MAWC_FEATURE_ENABLED_MIN,
1073 CFG_LFR_MAWC_FEATURE_ENABLED_MAX,
1074 NotifyIsMAWCIniFeatureEnabled, 0 ),
1075
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001076#endif // FEATURE_WLAN_LFR
1077
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001078#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
1079 // flag to turn ON/OFF 11r and ESE FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001080 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001081 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001082 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1083 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1084 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001085 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1086 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001087
Srinivas Girigowdade697412013-02-14 16:31:48 -08001088 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001089 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001090 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1091 hdd_config_t, RoamRssiDiff,
1092 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1093 CFG_ROAM_RSSI_DIFF_DEFAULT,
1094 CFG_ROAM_RSSI_DIFF_MIN,
1095 CFG_ROAM_RSSI_DIFF_MAX,
1096 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001097
1098 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001099 hdd_config_t, nImmediateRoamRssiDiff,
1100 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1101 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1102 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001103 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1104 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001105
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07001106 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1107 hdd_config_t, isWESModeEnabled,
1108 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1109 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1110 CFG_ENABLE_WES_MODE_NAME_MIN,
1111 CFG_ENABLE_WES_MODE_NAME_MAX,
1112 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001113#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001114#ifdef FEATURE_WLAN_OKC
1115 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1116 hdd_config_t, isOkcIniFeatureEnabled,
1117 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1118 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1119 CFG_OKC_FEATURE_ENABLED_MIN,
1120 CFG_OKC_FEATURE_ENABLED_MAX,
1121 cbNotifySetOkcFeatureEnabled, 0 ),
1122#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001123#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1124 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1125 hdd_config_t, isRoamOffloadScanEnabled,
1126 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1127 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1128 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1129 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1130 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1131#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001132 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001133 hdd_config_t, PktClassificationBasis,
1134 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1135 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1136 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001137 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1138
1139 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001140 hdd_config_t, InfraDirAcVo,
1141 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1142 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1143 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001144 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1145
1146 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001147 hdd_config_t, InfraNomMsduSizeAcVo,
1148 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1149 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1150 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001151 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1152
1153 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001154 hdd_config_t, InfraMeanDataRateAcVo,
1155 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1156 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1157 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001158 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1159
1160 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001161 hdd_config_t, InfraMinPhyRateAcVo,
1162 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1163 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1164 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001165 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1166
1167 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001168 hdd_config_t, InfraSbaAcVo,
1169 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1170 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1171 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001172 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1173
1174 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001175 hdd_config_t, InfraDirAcVi,
1176 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1177 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1178 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001179 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1180
1181 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001182 hdd_config_t, InfraNomMsduSizeAcVi,
1183 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1184 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1185 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001186 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1187
1188 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001189 hdd_config_t, InfraMeanDataRateAcVi,
1190 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1191 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1192 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001193 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1194
1195 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001196 hdd_config_t, InfraMinPhyRateAcVi,
1197 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1198 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1199 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001200 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1201
1202 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001203 hdd_config_t, InfraSbaAcVi,
1204 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1205 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1206 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001207 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1208
1209 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001210 hdd_config_t, InfraDirAcBe,
1211 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1212 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1213 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001214 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1215
1216 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001217 hdd_config_t, InfraNomMsduSizeAcBe,
1218 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1219 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1220 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001221 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1222
1223 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001224 hdd_config_t, InfraMeanDataRateAcBe,
1225 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1226 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1227 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001228 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1229
1230 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001231 hdd_config_t, InfraMinPhyRateAcBe,
1232 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1233 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1234 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001235 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1236
1237 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001238 hdd_config_t, InfraSbaAcBe,
1239 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1240 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1241 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001242 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1243
1244 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001245 hdd_config_t, InfraDirAcBk,
1246 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1247 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1248 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001249 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1250
1251 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001252 hdd_config_t, InfraNomMsduSizeAcBk,
1253 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1254 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1255 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001256 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1257
1258 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001259 hdd_config_t, InfraMeanDataRateAcBk,
1260 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1261 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1262 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001263 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1264
1265 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001266 hdd_config_t, InfraMinPhyRateAcBk,
1267 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1268 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1269 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001270 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1271
1272 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001273 hdd_config_t, InfraSbaAcBk,
1274 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1275 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1276 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001277 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1278
1279 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001280 hdd_config_t, WfqBkWeight,
1281 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1282 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1283 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001284 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1285
1286 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001287 hdd_config_t, WfqBeWeight,
1288 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1289 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1290 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001291 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1292
1293 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001294 hdd_config_t, WfqViWeight,
1295 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1296 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1297 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001298 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1299
1300 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001301 hdd_config_t, WfqVoWeight,
1302 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1303 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1304 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001305 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1306
1307 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001308 hdd_config_t, DelayedTriggerFrmInt,
1309 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1310 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1311 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001312 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1313
Dhanashri Atred8c20a32014-01-03 17:20:55 -08001314 REG_VARIABLE( CFG_REORDER_TIME_BK_NAME , WLAN_PARAM_Integer,
1315 hdd_config_t, BkReorderAgingTime,
1316 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1317 CFG_REORDER_TIME_BK_DEFAULT,
1318 CFG_REORDER_TIME_BK_MIN,
1319 CFG_REORDER_TIME_BK_MAX ),
1320
1321 REG_VARIABLE( CFG_REORDER_TIME_BE_NAME , WLAN_PARAM_Integer,
1322 hdd_config_t, BeReorderAgingTime,
1323 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1324 CFG_REORDER_TIME_BE_DEFAULT,
1325 CFG_REORDER_TIME_BE_MIN,
1326 CFG_REORDER_TIME_BE_MAX ),
1327
1328 REG_VARIABLE( CFG_REORDER_TIME_VI_NAME , WLAN_PARAM_Integer,
1329 hdd_config_t, ViReorderAgingTime,
1330 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1331 CFG_REORDER_TIME_VI_DEFAULT,
1332 CFG_REORDER_TIME_VI_MIN,
1333 CFG_REORDER_TIME_VI_MAX ),
1334
1335 REG_VARIABLE( CFG_REORDER_TIME_VO_NAME , WLAN_PARAM_Integer,
1336 hdd_config_t, VoReorderAgingTime,
1337 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1338 CFG_REORDER_TIME_VO_DEFAULT,
1339 CFG_REORDER_TIME_VO_MIN,
1340 CFG_REORDER_TIME_VO_MAX ),
1341
Jeff Johnson295189b2012-06-20 16:38:30 -07001342 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001343 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001344 VAR_FLAGS_OPTIONAL,
1345 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1346
1347 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001348 hdd_config_t, bImplicitQosEnabled,
1349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1350 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1351 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001352 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1353
Jeff Johnson295189b2012-06-20 16:38:30 -07001354 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001355 hdd_config_t, btcExecutionMode,
1356 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1357 CFG_BTC_EXECUTION_MODE_DEFAULT,
1358 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001359 CFG_BTC_EXECUTION_MODE_MAX ),
1360
1361 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1362 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1364 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1365 CFG_BTC_DHCP_PROTECTION_MIN,
1366 CFG_BTC_DHCP_PROTECTION_MAX ),
1367
1368 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1369 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1370 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1371 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1372 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1373 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1374
Jeff Johnson32d95a32012-09-10 13:15:23 -07001375 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1376 hdd_config_t, btcStaticLenInqBt,
1377 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1378 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1379 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1380 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1381
1382 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1383 hdd_config_t, btcStaticLenPageBt,
1384 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1385 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1386 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1387 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1388
1389 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1390 hdd_config_t, btcStaticLenConnBt,
1391 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1392 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1393 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1394 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1395
1396 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1397 hdd_config_t, btcStaticLenLeBt,
1398 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1399 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1400 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1401 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1402
1403 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1404 hdd_config_t, btcStaticLenInqWlan,
1405 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1406 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1407 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1408 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1409
1410 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1411 hdd_config_t, btcStaticLenPageWlan,
1412 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1413 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1414 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1415 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1416
1417 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1418 hdd_config_t, btcStaticLenConnWlan,
1419 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1420 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1421 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1422 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1423
1424 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1425 hdd_config_t, btcStaticLenLeWlan,
1426 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1427 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1428 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1429 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1430
1431 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1432 hdd_config_t, btcDynMaxLenBt,
1433 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1434 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1435 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1436 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1437
1438 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1439 hdd_config_t, btcDynMaxLenWlan,
1440 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1441 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1442 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1443 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1444
1445 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1446 hdd_config_t, btcMaxScoBlockPerc,
1447 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1448 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1449 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1450 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1451
1452 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1453 hdd_config_t, btcDhcpProtOnA2dp,
1454 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1455 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1456 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1457 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1458
1459 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1460 hdd_config_t, btcDhcpProtOnSco,
1461 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1462 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1463 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1464 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1465
Wilson Tsaof8b37942013-09-06 10:49:00 -07001466 REG_VARIABLE( CFG_MWS_COEX_V1_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1467 hdd_config_t, mwsCoexVictimWANFreq[0],
1468 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1469 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1470 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1471 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1472
1473 REG_VARIABLE( CFG_MWS_COEX_V1_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1474 hdd_config_t, mwsCoexVictimWLANFreq[0],
1475 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1476 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1477 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1478 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1479
1480 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG_NAME , WLAN_PARAM_Integer,
1481 hdd_config_t, mwsCoexVictimConfig[0],
1482 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1483 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1484 CFG_MWS_COEX_VX_CONFIG_MIN,
1485 CFG_MWS_COEX_VX_CONFIG_MAX ),
1486
1487 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG2_NAME , WLAN_PARAM_Integer,
1488 hdd_config_t, mwsCoexVictimConfig2[0],
1489 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1490 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1491 CFG_MWS_COEX_VX_CONFIG_MIN,
1492 CFG_MWS_COEX_VX_CONFIG_MAX ),
1493
1494 REG_VARIABLE( CFG_MWS_COEX_V2_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1495 hdd_config_t, mwsCoexVictimWANFreq[1],
1496 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1497 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1498 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1499 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1500
1501 REG_VARIABLE( CFG_MWS_COEX_V2_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1502 hdd_config_t, mwsCoexVictimWLANFreq[1],
1503 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1504 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1505 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1506 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1507
1508 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG_NAME , WLAN_PARAM_Integer,
1509 hdd_config_t, mwsCoexVictimConfig[1],
1510 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1511 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1512 CFG_MWS_COEX_VX_CONFIG_MIN,
1513 CFG_MWS_COEX_VX_CONFIG_MAX ),
1514
1515 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG2_NAME , WLAN_PARAM_Integer,
1516 hdd_config_t, mwsCoexVictimConfig2[1],
1517 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1518 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1519 CFG_MWS_COEX_VX_CONFIG_MIN,
1520 CFG_MWS_COEX_VX_CONFIG_MAX ),
1521
1522 REG_VARIABLE( CFG_MWS_COEX_V3_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1523 hdd_config_t, mwsCoexVictimWANFreq[2],
1524 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1525 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1526 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1527 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1528
1529 REG_VARIABLE( CFG_MWS_COEX_V3_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1530 hdd_config_t, mwsCoexVictimWLANFreq[2],
1531 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1532 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1533 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1534 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1535
1536 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG_NAME , WLAN_PARAM_Integer,
1537 hdd_config_t, mwsCoexVictimConfig[2],
1538 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1539 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1540 CFG_MWS_COEX_VX_CONFIG_MIN,
1541 CFG_MWS_COEX_VX_CONFIG_MAX ),
1542
1543 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG2_NAME , WLAN_PARAM_Integer,
1544 hdd_config_t, mwsCoexVictimConfig2[2],
1545 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1546 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1547 CFG_MWS_COEX_VX_CONFIG_MIN,
1548 CFG_MWS_COEX_VX_CONFIG_MAX ),
1549
1550 REG_VARIABLE( CFG_MWS_COEX_V4_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1551 hdd_config_t, mwsCoexVictimWANFreq[3],
1552 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1553 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1554 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1555 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1556
1557 REG_VARIABLE( CFG_MWS_COEX_V4_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1558 hdd_config_t, mwsCoexVictimWLANFreq[3],
1559 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1560 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1561 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1562 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1563
1564 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG_NAME , WLAN_PARAM_Integer,
1565 hdd_config_t, mwsCoexVictimConfig[3],
1566 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1567 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1568 CFG_MWS_COEX_VX_CONFIG_MIN,
1569 CFG_MWS_COEX_VX_CONFIG_MAX ),
1570
1571 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG2_NAME , WLAN_PARAM_Integer,
1572 hdd_config_t, mwsCoexVictimConfig2[3],
1573 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1574 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1575 CFG_MWS_COEX_VX_CONFIG_MIN,
1576 CFG_MWS_COEX_VX_CONFIG_MAX ),
1577
1578 REG_VARIABLE( CFG_MWS_COEX_V5_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1579 hdd_config_t, mwsCoexVictimWANFreq[4],
1580 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1581 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1582 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1583 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1584
1585 REG_VARIABLE( CFG_MWS_COEX_V5_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1586 hdd_config_t, mwsCoexVictimWLANFreq[4],
1587 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1588 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1589 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1590 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1591
1592 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG_NAME , WLAN_PARAM_Integer,
1593 hdd_config_t, mwsCoexVictimConfig[4],
1594 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1595 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1596 CFG_MWS_COEX_VX_CONFIG_MIN,
1597 CFG_MWS_COEX_VX_CONFIG_MAX ),
1598
1599 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG2_NAME , WLAN_PARAM_Integer,
1600 hdd_config_t, mwsCoexVictimConfig2[4],
1601 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1602 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1603 CFG_MWS_COEX_VX_CONFIG_MIN,
1604 CFG_MWS_COEX_VX_CONFIG_MAX ),
1605
1606 REG_VARIABLE( CFG_MWS_COEX_V6_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1607 hdd_config_t, mwsCoexVictimWANFreq[5],
1608 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1609 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1610 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1611 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1612
1613 REG_VARIABLE( CFG_MWS_COEX_V6_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1614 hdd_config_t, mwsCoexVictimWLANFreq[5],
1615 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1616 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1617 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1618 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1619
1620 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG_NAME , WLAN_PARAM_Integer,
1621 hdd_config_t, mwsCoexVictimConfig[5],
1622 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1623 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1624 CFG_MWS_COEX_VX_CONFIG_MIN,
1625 CFG_MWS_COEX_VX_CONFIG_MAX ),
1626
1627 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG2_NAME , WLAN_PARAM_Integer,
1628 hdd_config_t, mwsCoexVictimConfig2[5],
1629 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1630 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1631 CFG_MWS_COEX_VX_CONFIG_MIN,
1632 CFG_MWS_COEX_VX_CONFIG_MAX ),
1633
1634 REG_VARIABLE( CFG_MWS_COEX_V7_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1635 hdd_config_t, mwsCoexVictimWANFreq[6],
1636 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1637 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1638 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1639 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1640
1641 REG_VARIABLE( CFG_MWS_COEX_V7_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1642 hdd_config_t, mwsCoexVictimWLANFreq[6],
1643 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1644 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1645 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1646 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1647
1648 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG_NAME , WLAN_PARAM_Integer,
1649 hdd_config_t, mwsCoexVictimConfig[6],
1650 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1651 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1652 CFG_MWS_COEX_VX_CONFIG_MIN,
1653 CFG_MWS_COEX_VX_CONFIG_MAX ),
1654
1655 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG2_NAME , WLAN_PARAM_Integer,
1656 hdd_config_t, mwsCoexVictimConfig2[6],
1657 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1658 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1659 CFG_MWS_COEX_VX_CONFIG_MIN,
1660 CFG_MWS_COEX_VX_CONFIG_MAX ),
1661
1662 REG_VARIABLE( CFG_MWS_COEX_V8_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1663 hdd_config_t, mwsCoexVictimWANFreq[7],
1664 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1665 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1666 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1667 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1668
1669 REG_VARIABLE( CFG_MWS_COEX_V8_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1670 hdd_config_t, mwsCoexVictimWLANFreq[7],
1671 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1672 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1673 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1674 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1675
1676 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG_NAME , WLAN_PARAM_Integer,
1677 hdd_config_t, mwsCoexVictimConfig[7],
1678 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1679 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1680 CFG_MWS_COEX_VX_CONFIG_MIN,
1681 CFG_MWS_COEX_VX_CONFIG_MAX ),
1682
1683 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG2_NAME , WLAN_PARAM_Integer,
1684 hdd_config_t, mwsCoexVictimConfig2[7],
1685 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1686 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1687 CFG_MWS_COEX_VX_CONFIG_MIN,
1688 CFG_MWS_COEX_VX_CONFIG_MAX ),
1689
1690 REG_VARIABLE( CFG_MWS_COEX_V9_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1691 hdd_config_t, mwsCoexVictimWANFreq[8],
1692 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1693 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1694 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1695 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1696
1697 REG_VARIABLE( CFG_MWS_COEX_V9_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1698 hdd_config_t, mwsCoexVictimWLANFreq[8],
1699 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1700 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1701 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1702 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1703
1704 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG_NAME , WLAN_PARAM_Integer,
1705 hdd_config_t, mwsCoexVictimConfig[8],
1706 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1707 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1708 CFG_MWS_COEX_VX_CONFIG_MIN,
1709 CFG_MWS_COEX_VX_CONFIG_MAX ),
1710
1711 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG2_NAME , WLAN_PARAM_Integer,
1712 hdd_config_t, mwsCoexVictimConfig2[8],
1713 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1714 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1715 CFG_MWS_COEX_VX_CONFIG_MIN,
1716 CFG_MWS_COEX_VX_CONFIG_MAX ),
1717
1718 REG_VARIABLE( CFG_MWS_COEX_V10_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1719 hdd_config_t, mwsCoexVictimWANFreq[9],
1720 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1721 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1722 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1723 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1724
1725 REG_VARIABLE( CFG_MWS_COEX_V10_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1726 hdd_config_t, mwsCoexVictimWLANFreq[9],
1727 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1728 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1729 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1730 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1731
1732 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG_NAME , WLAN_PARAM_Integer,
1733 hdd_config_t, mwsCoexVictimConfig[9],
1734 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1735 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1736 CFG_MWS_COEX_VX_CONFIG_MIN,
1737 CFG_MWS_COEX_VX_CONFIG_MAX ),
1738
1739 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG2_NAME , WLAN_PARAM_Integer,
1740 hdd_config_t, mwsCoexVictimConfig2[9],
1741 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1742 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1743 CFG_MWS_COEX_VX_CONFIG_MIN,
1744 CFG_MWS_COEX_VX_CONFIG_MAX ),
1745
1746 REG_VARIABLE( CFG_MWS_COEX_MODEM_BACKOFF_NAME , WLAN_PARAM_Integer,
1747 hdd_config_t, mwsCoexModemBackoff,
1748 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1749 CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT,
1750 CFG_MWS_COEX_MODEM_BACKOFF_MIN,
1751 CFG_MWS_COEX_MODEM_BACKOFF_MAX ),
1752
1753 REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer,
1754 hdd_config_t, mwsCoexConfig[0],
1755 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1756 CFG_MWS_COEX_CONFIGX_DEFAULT,
1757 CFG_MWS_COEX_CONFIGX_MIN,
1758 CFG_MWS_COEX_CONFIGX_MAX ),
1759
1760 REG_VARIABLE( CFG_MWS_COEX_CONFIG2_NAME , WLAN_PARAM_Integer,
1761 hdd_config_t, mwsCoexConfig[1],
1762 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1763 CFG_MWS_COEX_CONFIGX_DEFAULT,
1764 CFG_MWS_COEX_CONFIGX_MIN,
1765 CFG_MWS_COEX_CONFIGX_MAX ),
1766
1767 REG_VARIABLE( CFG_MWS_COEX_CONFIG3_NAME , WLAN_PARAM_Integer,
1768 hdd_config_t, mwsCoexConfig[2],
1769 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1770 CFG_MWS_COEX_CONFIGX_DEFAULT,
1771 CFG_MWS_COEX_CONFIGX_MIN,
1772 CFG_MWS_COEX_CONFIGX_MAX ),
1773
1774 REG_VARIABLE( CFG_MWS_COEX_CONFIG4_NAME , WLAN_PARAM_Integer,
1775 hdd_config_t, mwsCoexConfig[3],
1776 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1777 CFG_MWS_COEX_CONFIGX_DEFAULT,
1778 CFG_MWS_COEX_CONFIGX_MIN,
1779 CFG_MWS_COEX_CONFIGX_MAX ),
1780
1781 REG_VARIABLE( CFG_MWS_COEX_CONFIG5_NAME , WLAN_PARAM_Integer,
1782 hdd_config_t, mwsCoexConfig[4],
1783 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1784 CFG_MWS_COEX_CONFIGX_DEFAULT,
1785 CFG_MWS_COEX_CONFIGX_MIN,
1786 CFG_MWS_COEX_CONFIGX_MAX ),
1787
1788 REG_VARIABLE( CFG_MWS_COEX_CONFIG6_NAME , WLAN_PARAM_Integer,
1789 hdd_config_t, mwsCoexConfig[5],
1790 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1791 CFG_MWS_COEX_CONFIGX_DEFAULT,
1792 CFG_MWS_COEX_CONFIGX_MIN,
1793 CFG_MWS_COEX_CONFIGX_MAX ),
1794
1795 REG_VARIABLE( CFG_SAR_POWER_BACKOFF_NAME , WLAN_PARAM_Integer,
1796 hdd_config_t, SARPowerBackoff,
1797 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1798 CFG_SAR_POWER_BACKOFF_DEFAULT,
1799 CFG_SAR_POWER_BACKOFF_MIN,
1800 CFG_SAR_POWER_BACKOFF_MAX ),
1801
Jeff Johnson295189b2012-06-20 16:38:30 -07001802 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001803 hdd_config_t, nEnableListenMode,
1804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1805 CFG_AP_LISTEN_MODE_DEFAULT,
1806 CFG_AP_LISTEN_MODE_MIN,
1807 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001808
1809 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1810 hdd_config_t, nAPAutoShutOff,
1811 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1812 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1813 CFG_AP_AUTO_SHUT_OFF_MIN,
1814 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001815
1816#if defined WLAN_FEATURE_VOWIFI
1817 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001818 hdd_config_t, fRrmEnable,
1819 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1820 CFG_RRM_ENABLE_DEFAULT,
1821 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001822 CFG_RRM_ENABLE_MAX ),
1823
1824 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001825 hdd_config_t, nInChanMeasMaxDuration,
1826 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1827 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1828 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001829 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1830
1831 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001832 hdd_config_t, nOutChanMeasMaxDuration,
1833 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1834 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1835 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001836 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1837
1838 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001839 hdd_config_t, nRrmRandnIntvl,
1840 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1841 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1842 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001843 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1844#endif
1845
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001846#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001847 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001848 hdd_config_t, fFTResourceReqSupported,
1849 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1850 CFG_FT_RESOURCE_REQ_DEFAULT,
1851 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001852 CFG_FT_RESOURCE_REQ_MAX ),
1853#endif
1854
1855#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001856 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001857 hdd_config_t, nNeighborScanPeriod,
1858 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1859 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1860 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001861 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1862 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001863
1864 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001865 hdd_config_t, nNeighborReassocRssiThreshold,
1866 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1867 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1868 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001869 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1870
Srinivas Girigowdade697412013-02-14 16:31:48 -08001871 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001872 hdd_config_t, nNeighborLookupRssiThreshold,
1873 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1874 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1875 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001876 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1877 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001878
1879 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001880 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001881 VAR_FLAGS_OPTIONAL,
1882 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1883
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001884 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001885 hdd_config_t, nNeighborScanMinChanTime,
1886 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1887 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1888 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001889 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1890 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001891
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001892 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001893 hdd_config_t, nNeighborScanMaxChanTime,
1894 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1895 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1896 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001897 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1898 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001899
1900 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1901 hdd_config_t, nMaxNeighborReqTries,
1902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1903 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1904 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1905 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1906
Srinivas Girigowdade697412013-02-14 16:31:48 -08001907 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001908 hdd_config_t, nNeighborResultsRefreshPeriod,
1909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1910 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1911 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001912 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1913 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1914
1915 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1916 hdd_config_t, nEmptyScanRefreshPeriod,
1917 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1918 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1919 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1920 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1921 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Mukul Sharma20aa6582014-08-07 21:36:12 +05301922
1923 REG_VARIABLE( CFG_NEIGHBOR_INITIAL_FORCED_ROAM_TO_5GH_ENABLE_NAME, WLAN_PARAM_Integer,
1924 hdd_config_t, nNeighborInitialForcedRoamTo5GhEnable,
1925 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1926 CFG_NEIGHBOR_INITIAL_FORCED_ROAM_TO_5GH_ENABLE_DEFAULT,
1927 CFG_NEIGHBOR_INITIAL_FORCED_ROAM_TO_5GH_ENABLE_MIN,
1928 CFG_NEIGHBOR_INITIAL_FORCED_ROAM_TO_5GH_ENABLE_MAX),
1929
Jeff Johnson295189b2012-06-20 16:38:30 -07001930#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1931
1932 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001933 hdd_config_t, burstSizeDefinition,
1934 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1935 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1936 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001937 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1938
1939 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1940 hdd_config_t, mcastBcastFilterSetting,
1941 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1942 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1943 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1944 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1945
1946 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1947 hdd_config_t, fhostArpOffload,
1948 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1949 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1950 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1951 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1952
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301953 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1954 hdd_config_t, fhostNSOffload,
1955 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1956 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1957 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1958 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1959
Jeff Johnson295189b2012-06-20 16:38:30 -07001960 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001961 hdd_config_t, tsInfoAckPolicy,
1962 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1963 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1964 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001965 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1966
1967 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1968 hdd_config_t, bSingleTidRc,
1969 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1970 CFG_SINGLE_TID_RC_DEFAULT,
1971 CFG_SINGLE_TID_RC_MIN,
1972 CFG_SINGLE_TID_RC_MAX),
1973
1974 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1975 hdd_config_t, dynamicPsPollValue,
1976 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1977 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1978 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1979 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1980
1981 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1982 hdd_config_t, teleBcnWakeupEn,
1983 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1984 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1985 CFG_TELE_BCN_WAKEUP_EN_MIN,
1986 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1987
1988 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1989 hdd_config_t, infraStaKeepAlivePeriod,
1990 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1991 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1992 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1993 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1994
1995 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001996 hdd_config_t, AddTSWhenACMIsOff,
1997 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1998 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1999 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002000 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
2001
2002
2003 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002004 hdd_config_t, fValidateScanList,
2005 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2006 CFG_VALIDATE_SCAN_LIST_DEFAULT,
2007 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002008 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002009
Jeff Johnson295189b2012-06-20 16:38:30 -07002010 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002011 hdd_config_t, nNullDataApRespTimeout,
2012 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2013 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
2014 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002015 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
2016
2017 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002018 hdd_config_t, apDataAvailPollPeriodInMs,
2019 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2020 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2021 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002022 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002023
Jeff Johnson295189b2012-06-20 16:38:30 -07002024 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002025 hdd_config_t, enableBtAmp,
2026 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2027 CFG_ENABLE_BTAMP_DEFAULT,
2028 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002029 CFG_ENABLE_BTAMP_MAX ),
2030
2031#ifdef WLAN_BTAMP_FEATURE
2032 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002033 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07002034 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2035 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
2036 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
2037 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
2038#endif //WLAN_BTAMP_FEATURE
2039 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002040 hdd_config_t, nBandCapability,
2041 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2042 CFG_BAND_CAPABILITY_DEFAULT,
2043 CFG_BAND_CAPABILITY_MIN,
2044 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002045
2046 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002047 hdd_config_t, fEnableBeaconEarlyTermination,
2048 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2049 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
2050 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
2051 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002052/* CFG_VOS_TRACE_ENABLE Parameters */
2053 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
2054 hdd_config_t, vosTraceEnableBAP,
2055 VAR_FLAGS_OPTIONAL,
2056 CFG_VOS_TRACE_ENABLE_DEFAULT,
2057 CFG_VOS_TRACE_ENABLE_MIN,
2058 CFG_VOS_TRACE_ENABLE_MAX ),
2059
2060 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
2061 hdd_config_t, vosTraceEnableTL,
2062 VAR_FLAGS_OPTIONAL,
2063 CFG_VOS_TRACE_ENABLE_DEFAULT,
2064 CFG_VOS_TRACE_ENABLE_MIN,
2065 CFG_VOS_TRACE_ENABLE_MAX ),
2066
2067 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
2068 hdd_config_t, vosTraceEnableWDI,
2069 VAR_FLAGS_OPTIONAL,
2070 CFG_VOS_TRACE_ENABLE_DEFAULT,
2071 CFG_VOS_TRACE_ENABLE_MIN,
2072 CFG_VOS_TRACE_ENABLE_MAX ),
2073
2074 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
2075 hdd_config_t, vosTraceEnableHDD,
2076 VAR_FLAGS_OPTIONAL,
2077 CFG_VOS_TRACE_ENABLE_DEFAULT,
2078 CFG_VOS_TRACE_ENABLE_MIN,
2079 CFG_VOS_TRACE_ENABLE_MAX ),
2080
2081 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
2082 hdd_config_t, vosTraceEnableSME,
2083 VAR_FLAGS_OPTIONAL,
2084 CFG_VOS_TRACE_ENABLE_DEFAULT,
2085 CFG_VOS_TRACE_ENABLE_MIN,
2086 CFG_VOS_TRACE_ENABLE_MAX ),
2087
2088 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
2089 hdd_config_t, vosTraceEnablePE,
2090 VAR_FLAGS_OPTIONAL,
2091 CFG_VOS_TRACE_ENABLE_DEFAULT,
2092 CFG_VOS_TRACE_ENABLE_MIN,
2093 CFG_VOS_TRACE_ENABLE_MAX ),
2094
Katya Nigam70d68332013-09-16 16:49:45 +05302095 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PMC_NAME, WLAN_PARAM_Integer,
2096 hdd_config_t, vosTraceEnablePMC,
2097 VAR_FLAGS_OPTIONAL,
2098 CFG_VOS_TRACE_ENABLE_DEFAULT,
2099 CFG_VOS_TRACE_ENABLE_MIN,
2100 CFG_VOS_TRACE_ENABLE_MAX ),
2101
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002102 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
2103 hdd_config_t, vosTraceEnableWDA,
2104 VAR_FLAGS_OPTIONAL,
2105 CFG_VOS_TRACE_ENABLE_DEFAULT,
2106 CFG_VOS_TRACE_ENABLE_MIN,
2107 CFG_VOS_TRACE_ENABLE_MAX ),
2108
2109 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
2110 hdd_config_t, vosTraceEnableSYS,
2111 VAR_FLAGS_OPTIONAL,
2112 CFG_VOS_TRACE_ENABLE_DEFAULT,
2113 CFG_VOS_TRACE_ENABLE_MIN,
2114 CFG_VOS_TRACE_ENABLE_MAX ),
2115
2116 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
2117 hdd_config_t, vosTraceEnableVOSS,
2118 VAR_FLAGS_OPTIONAL,
2119 CFG_VOS_TRACE_ENABLE_DEFAULT,
2120 CFG_VOS_TRACE_ENABLE_MIN,
2121 CFG_VOS_TRACE_ENABLE_MAX ),
2122
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002123 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
2124 hdd_config_t, vosTraceEnableSAP,
2125 VAR_FLAGS_OPTIONAL,
2126 CFG_VOS_TRACE_ENABLE_DEFAULT,
2127 CFG_VOS_TRACE_ENABLE_MIN,
2128 CFG_VOS_TRACE_ENABLE_MAX ),
2129
2130 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
2131 hdd_config_t, vosTraceEnableHDDSAP,
2132 VAR_FLAGS_OPTIONAL,
2133 CFG_VOS_TRACE_ENABLE_DEFAULT,
2134 CFG_VOS_TRACE_ENABLE_MIN,
2135 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002136
Jeff Johnson295189b2012-06-20 16:38:30 -07002137 /* note that since the default value is out of range we cannot
2138 enable range check, otherwise we get a system log message */
2139 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
2140 hdd_config_t, wdiTraceEnableDAL,
2141 VAR_FLAGS_OPTIONAL,
2142 CFG_WDI_TRACE_ENABLE_DEFAULT,
2143 CFG_WDI_TRACE_ENABLE_MIN,
2144 CFG_WDI_TRACE_ENABLE_MAX ),
2145
2146 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
2147 hdd_config_t, wdiTraceEnableCTL,
2148 VAR_FLAGS_OPTIONAL,
2149 CFG_WDI_TRACE_ENABLE_DEFAULT,
2150 CFG_WDI_TRACE_ENABLE_MIN,
2151 CFG_WDI_TRACE_ENABLE_MAX ),
2152
2153 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
2154 hdd_config_t, wdiTraceEnableDAT,
2155 VAR_FLAGS_OPTIONAL,
2156 CFG_WDI_TRACE_ENABLE_DEFAULT,
2157 CFG_WDI_TRACE_ENABLE_MIN,
2158 CFG_WDI_TRACE_ENABLE_MAX ),
2159
2160 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
2161 hdd_config_t, wdiTraceEnablePAL,
2162 VAR_FLAGS_OPTIONAL,
2163 CFG_WDI_TRACE_ENABLE_DEFAULT,
2164 CFG_WDI_TRACE_ENABLE_MIN,
2165 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002166
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002167 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002168 hdd_config_t, nTeleBcnTransListenInterval,
2169 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2170 CFG_TELE_BCN_TRANS_LI_DEFAULT,
2171 CFG_TELE_BCN_TRANS_LI_MIN,
2172 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002173
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002174 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002175 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
2176 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2177 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
2178 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
2179 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002180
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002181 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002182 hdd_config_t, nTeleBcnMaxListenInterval,
2183 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2184 CFG_TELE_BCN_MAX_LI_DEFAULT,
2185 CFG_TELE_BCN_MAX_LI_MIN,
2186 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002187
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002188 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002189 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
2190 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2191 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
2192 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
2193 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002194
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002195 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002196 hdd_config_t, bcnEarlyTermWakeInterval,
2197 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2198 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
2199 CFG_BCN_EARLY_TERM_WAKE_MIN,
2200 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002201
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002202 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002203 hdd_config_t, apDataAvailPollPeriodInMs,
2204 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2205 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2206 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002207 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
2208
2209 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002210 hdd_config_t, enableCloseLoop,
2211 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2212 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
2213 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002214 CFG_ENABLE_CLOSE_LOOP_MAX ),
2215
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002216 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002217 hdd_config_t, enableBypass11d,
2218 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2219 CFG_ENABLE_BYPASS_11D_DEFAULT,
2220 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002221 CFG_ENABLE_BYPASS_11D_MAX ),
2222
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002223 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002224 hdd_config_t, enableDFSChnlScan,
2225 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2226 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
2227 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002228 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
2229
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002230 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002231 hdd_config_t, enableDynamicDTIM,
2232 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2233 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
2234 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002235 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
2236
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002237 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002238 hdd_config_t, enableAutomaticTxPowerControl,
2239 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2240 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
2241 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002242 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
2243
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002244 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002245 hdd_config_t, ShortGI40MhzEnable,
2246 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2247 CFG_SHORT_GI_40MHZ_DEFAULT,
2248 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002249 CFG_SHORT_GI_40MHZ_MAX ),
2250
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002251 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002252 hdd_config_t, reportMaxLinkSpeed,
2253 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2254 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
2255 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002256 CFG_REPORT_MAX_LINK_SPEED_MAX,
2257 NULL, 0 ),
2258
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002259 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002260 hdd_config_t, linkSpeedRssiHigh,
2261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2262 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
2263 CFG_LINK_SPEED_RSSI_HIGH_MIN,
2264 CFG_LINK_SPEED_RSSI_HIGH_MAX,
2265 NULL, 0 ),
2266
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002267 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07002268 hdd_config_t, linkSpeedRssiMid,
2269 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2270 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
2271 CFG_LINK_SPEED_RSSI_MID_MIN,
2272 CFG_LINK_SPEED_RSSI_MID_MAX,
2273 NULL, 0 ),
2274
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002275 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002276 hdd_config_t, linkSpeedRssiLow,
2277 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2278 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
2279 CFG_LINK_SPEED_RSSI_LOW_MIN,
2280 CFG_LINK_SPEED_RSSI_LOW_MAX,
2281 NULL, 0 ),
2282
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002283#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002284 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002285 hdd_config_t, nRoamPrefer5GHz,
2286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2287 CFG_ROAM_PREFER_5GHZ_DEFAULT,
2288 CFG_ROAM_PREFER_5GHZ_MIN,
2289 CFG_ROAM_PREFER_5GHZ_MAX,
2290 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002291
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002292 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002293 hdd_config_t, nRoamIntraBand,
2294 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2295 CFG_ROAM_INTRA_BAND_DEFAULT,
2296 CFG_ROAM_INTRA_BAND_MIN,
2297 CFG_ROAM_INTRA_BAND_MAX,
2298 cbNotifySetRoamIntraBand, 0 ),
2299
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002300 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
2301 hdd_config_t, nProbes,
2302 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2303 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
2304 CFG_ROAM_SCAN_N_PROBES_MIN,
2305 CFG_ROAM_SCAN_N_PROBES_MAX,
2306 cbNotifySetRoamScanNProbes, 0 ),
2307
2308 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
2309 hdd_config_t, nRoamScanHomeAwayTime,
2310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2311 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
2312 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
2313 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
2314 cbNotifySetRoamScanHomeAwayTime, 0 ),
2315
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002316#endif
2317
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002318 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07002319 hdd_config_t, isP2pDeviceAddrAdministrated,
2320 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2321 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
2322 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
2323 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002324
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002325 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002326 hdd_config_t, enableMCC,
2327 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2328 CFG_ENABLE_MCC_ENABLED_DEFAULT,
2329 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002330 CFG_ENABLE_MCC_ENABLED_MAX ),
2331
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002332 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002333 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002334 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2335 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
2336 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
2337 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002338
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002339 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002340 hdd_config_t, thermalMitigationEnable,
2341 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2342 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
2343 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002344 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002345
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002346 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002347 hdd_config_t, enableModulatedDTIM,
2348 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2349 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
2350 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002351 CFG_ENABLE_MODULATED_DTIM_MAX ),
2352
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002353 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002354 hdd_config_t, fEnableMCAddrList,
2355 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2356 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2357 CFG_MC_ADDR_LIST_ENABLE_MIN,
2358 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2359
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002360#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002361 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002362 hdd_config_t, vhtChannelWidth,
2363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2364 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2365 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002366 CFG_VHT_CHANNEL_WIDTH_MAX),
2367
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002368 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002369 hdd_config_t, vhtRxMCS,
2370 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2371 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2372 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002373 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2374
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002375 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002376 hdd_config_t, vhtTxMCS,
2377 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2378 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2379 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002380 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
Abhishek Singhaa63bf22014-10-30 17:09:45 +05302381
2382 REG_VARIABLE( CFG_VHT_AMPDU_LEN_EXP_NAME, WLAN_PARAM_Integer,
2383 hdd_config_t, gVhtMaxAmpduLenExp,
2384 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2385 CFG_VHT_AMPDU_LEN_EXP_DEFAULT,
2386 CFG_VHT_AMPDU_LEN_EXP_MIN,
2387 CFG_VHT_AMPDU_LEN_EXP_MAX ),
Jeff Johnsone7245742012-09-05 17:12:55 -07002388#endif
2389
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002390 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002391 hdd_config_t, enableFirstScan2GOnly,
2392 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2393 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2394 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002395 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2396
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002397 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002398 hdd_config_t, skipDfsChnlInP2pSearch,
2399 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2400 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2401 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002402 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2403
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002404 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002405 hdd_config_t, ignoreDynamicDtimInP2pMode,
2406 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2407 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2408 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002409 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2410
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002411 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002412 hdd_config_t,numBuffAdvert ,
2413 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2414 CFG_NUM_BUFF_ADVERT_DEFAULT,
2415 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002416 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002417
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002418 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002419 hdd_config_t, configMccParam,
2420 VAR_FLAGS_OPTIONAL,
2421 CFG_MCC_CONFIG_PARAM_DEFAULT,
2422 CFG_MCC_CONFIG_PARAM_MIN,
2423 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002424 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002425 hdd_config_t, enableRxSTBC,
2426 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2427 CFG_ENABLE_RX_STBC_DEFAULT,
2428 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302429 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002430#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002431 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002432 hdd_config_t, fEnableTDLSSupport,
2433 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2434 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2435 CFG_TDLS_SUPPORT_ENABLE_MIN,
2436 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302437
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002438 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302439 hdd_config_t, fEnableTDLSImplicitTrigger,
2440 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2441 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2442 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2443 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2444
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002445 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302446 hdd_config_t, fTDLSTxStatsPeriod,
2447 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2448 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2449 CFG_TDLS_TX_STATS_PERIOD_MIN,
2450 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2451
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002452 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302453 hdd_config_t, fTDLSTxPacketThreshold,
2454 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2455 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2456 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2457 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2458
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002459 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302460 hdd_config_t, fTDLSDiscoveryPeriod,
2461 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2462 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2463 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2464 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2465
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002466 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302467 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2468 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2469 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2470 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2471 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2472
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002473 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002474 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302475 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002476 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2477 CFG_TDLS_IDLE_TIMEOUT_MIN,
2478 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2479
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002480 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002481 hdd_config_t, fTDLSIdlePacketThreshold,
2482 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2483 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2484 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2485 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302486
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002487 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002488 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302489 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2490 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2491 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2492 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002493
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002494 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002495 hdd_config_t, fTDLSRSSITriggerThreshold,
2496 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2497 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2498 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2499 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2500
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002501 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002502 hdd_config_t, fTDLSRSSITeardownThreshold,
2503 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2504 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2505 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2506 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302507
2508REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2509 hdd_config_t, fTDLSUapsdMask,
2510 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2511 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2512 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2513 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2514
2515REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2516 hdd_config_t, fEnableTDLSBufferSta,
2517 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2518 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2519 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2520 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2521
Naresh Jayaramf73f3762014-02-04 16:13:20 +05302522REG_VARIABLE( CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2523 hdd_config_t, fEnableTDLSOffChannel,
2524 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2525 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_DEFAULT,
2526 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MIN,
2527 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MAX ),
2528
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302529REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2530 hdd_config_t, fTDLSPuapsdInactivityTimer,
2531 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2532 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2533 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2534 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2535
2536REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2537 hdd_config_t, fTDLSRxFrameThreshold,
2538 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2539 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2540 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2541 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Sunil Dutt41de4e22013-11-14 18:09:02 +05302542
2543REG_VARIABLE( CFG_TDLS_EXTERNAL_CONTROL, WLAN_PARAM_Integer,
2544 hdd_config_t, fTDLSExternalControl,
2545 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2546 CFG_TDLS_EXTERNAL_CONTROL_DEFAULT,
2547 CFG_TDLS_EXTERNAL_CONTROL_MIN,
2548 CFG_TDLS_EXTERNAL_CONTROL_MAX ),
Pradeep Reddy POTTETIa9c80d52014-05-09 18:05:29 +05302549
2550REG_VARIABLE( CFG_TDLS_WMM_MODE_ENABLE, WLAN_PARAM_Integer,
2551 hdd_config_t, fEnableTDLSWmmMode,
2552 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2553 CFG_TDLS_WMM_MODE_ENABLE_DEFAULT,
2554 CFG_TDLS_WMM_MODE_ENABLE_MIN,
2555 CFG_TDLS_WMM_MODE_ENABLE_MAX ),
Pradeep Reddy POTTETIedaeb5f2014-05-22 23:34:41 +05302556
2557REG_VARIABLE( CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2558 hdd_config_t, fEnableTDLSScanCoexSupport,
2559 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2560 CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE_DEFAULT,
2561 CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE_MIN,
2562 CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002563#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002564
Dino Mycledf0a5d92014-07-04 09:41:55 +05302565#ifdef WLAN_FEATURE_LINK_LAYER_STATS
2566REG_VARIABLE( CFG_LINK_LAYER_STATS_ENABLE, WLAN_PARAM_Integer,
2567 hdd_config_t, fEnableLLStats,
2568 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2569 CFG_LINK_LAYER_STATS_ENABLE_DEFAULT,
2570 CFG_LINK_LAYER_STATS_ENABLE_MIN,
2571 CFG_LINK_LAYER_STATS_ENABLE_MAX ),
2572#endif
Dino Myclee8843b32014-07-04 14:21:45 +05302573#ifdef WLAN_FEATURE_EXTSCAN
2574REG_VARIABLE( CFG_EXTSCAN_ENABLE, WLAN_PARAM_Integer,
2575 hdd_config_t, fEnableEXTScan,
2576 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2577 CFG_EXTSCAN_ENABLE_DEFAULT,
2578 CFG_EXTSCAN_ENABLE_MIN,
2579 CFG_EXTSCAN_ENABLE_MAX ),
2580#endif
Dino Mycledf0a5d92014-07-04 09:41:55 +05302581
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002582#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002583 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002584 hdd_config_t, fEnableVSTASupport,
2585 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2586 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2587 CFG_VSTA_SUPPORT_ENABLE_MIN,
2588 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2589#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002590 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002591 hdd_config_t, enableLpwrImgTransition,
2592 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2593 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2594 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002595 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2596
Yathish9f22e662012-12-10 14:21:35 -08002597#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002598 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002599 hdd_config_t, fEnableActiveModeOffload,
2600 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2601 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2602 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2603 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2604#endif
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002605
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002606 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002607 hdd_config_t, scanAgingTimeout,
2608 VAR_FLAGS_OPTIONAL,
2609 CFG_SCAN_AGING_PARAM_DEFAULT,
2610 CFG_SCAN_AGING_PARAM_MIN,
2611 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002612
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002613 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002614 hdd_config_t, enableTxLdpc,
2615 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2616 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2617 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2618 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2619
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002620 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302621 hdd_config_t, enableMCCAdaptiveScheduler,
2622 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2623 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2624 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2625 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2626
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002627 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302628 hdd_config_t, isAndroidPsEn,
2629 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2630 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2631 CFG_ANDRIOD_POWER_SAVE_MIN,
2632 CFG_ANDRIOD_POWER_SAVE_MAX),
2633
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002634 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002635 hdd_config_t, AdHocChannel5G,
2636 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2637 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2638 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2639 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2640
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002641 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002642 hdd_config_t, AdHocChannel24G,
2643 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2644 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2645 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2646 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2647
2648
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002649#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002650 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002651 hdd_config_t, enableTxBF,
2652 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2653 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2654 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2655 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002656
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002657 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002658 hdd_config_t, txBFCsnValue,
2659 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2660 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2661 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2662 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
Abhishek Singh6d5d29c2014-07-03 14:25:22 +05302663 REG_VARIABLE( CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
2664 hdd_config_t, enableMuBformee,
2665 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2666 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_DEFAULT,
2667 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MIN,
2668 CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002669
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002670#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302671
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002672 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302673 hdd_config_t, sapAllowAllChannel,
2674 VAR_FLAGS_OPTIONAL,
2675 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2676 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2677 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002678
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002679#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002680 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002681 hdd_config_t, disableLDPCWithTxbfAP,
2682 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2683 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2684 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2685 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2686#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002687
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002688 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002689 hdd_config_t, listOfNonDfsCountryCode,
2690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2691 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2692
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002693 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2694 hdd_config_t, enableSSR,
2695 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2696 CFG_ENABLE_SSR_DEFAULT,
2697 CFG_ENABLE_SSR_MIN,
2698 CFG_ENABLE_SSR_MAX,
2699 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302700
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002701 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302702 hdd_config_t, listOfNon11acCountryCode,
2703 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2704 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2705
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002706 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302707 hdd_config_t, cfgMaxMediumTime,
2708 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2709 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2710 CFG_MAX_MEDIUM_TIME_STAMIN,
2711 CFG_MAX_MEDIUM_TIME_STAMAX ),
2712
Leo Chang64d68bc2013-06-04 15:40:52 -07002713 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2714 hdd_config_t, enableTrafficMonitor,
2715 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2716 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2717 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2718 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2719
2720 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2721 hdd_config_t, trafficIdleTimeout,
2722 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2723 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2724 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2725 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002726
2727#ifdef WLAN_FEATURE_11AC
2728 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2729 hdd_config_t, enableVhtFor24GHzBand,
2730 VAR_FLAGS_OPTIONAL,
2731 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2732 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2733 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2734#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302735
2736 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2737 hdd_config_t, fScanOffload,
2738 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2739 CFG_SCAN_OFFLOAD_DEFAULT,
2740 CFG_SCAN_OFFLOAD_DISABLE,
2741 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002742
2743#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2744 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2745 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2746 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2747 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2748 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2749 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2750 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2751#endif
2752
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07002753 REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
2754 hdd_config_t, fEnableAdaptRxDrain,
2755 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2756 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
2757 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
2758 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
2759
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002760 REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer,
2761 hdd_config_t, dynSplitscan,
2762 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2763 CFG_DYNAMIC_SPLIT_SCAN_DEFAULT,
2764 CFG_DYNAMIC_SPLIT_SCAN_MIN,
2765 CFG_DYNAMIC_SPLIT_SCAN_MAX ),
2766
2767 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer,
2768 hdd_config_t, txRxThresholdForSplitScan,
2769 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2770 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT,
2771 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN,
2772 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ),
2773
2774 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer,
2775 hdd_config_t, trafficMntrTmrForSplitScan,
2776 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2777 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT,
2778 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN,
2779 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ),
2780
Yue Ma0fd23872013-08-01 15:56:47 -07002781 REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer,
2782 hdd_config_t, flexConnectPowerFactor,
2783 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX,
2784 CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT,
2785 CFG_FLEX_CONNECT_POWER_FACTOR_MIN,
2786 CFG_FLEX_CONNECT_POWER_FACTOR_MAX ),
2787
Ravi Joshid2ca7c42013-07-23 08:37:49 -07002788 REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer,
2789 hdd_config_t, enableIbssHeartBeatOffload,
2790 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2791 CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT,
2792 CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN,
2793 CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX),
2794
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05302795 REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer,
2796 hdd_config_t, antennaDiversity,
2797 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2798 CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT,
2799 CFG_ANTENNA_DIVERSITY_PARAM_MIN,
2800 CFG_ANTENNA_DIVERSITY_PARAM_MAX),
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05302801
2802 REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2803 hdd_config_t, fEnableSNRMonitoring,
2804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2805 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2806 CFG_ENABLE_SNR_MONITORING_MIN,
2807 CFG_ENABLE_SNR_MONITORING_MAX),
2808
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302809#ifdef FEATURE_WLAN_SCAN_PNO
Hardik Kantilal Patel3dfd8792013-11-13 20:34:57 +05302810 REG_VARIABLE( CFG_PNO_SCAN_SUPPORT, WLAN_PARAM_Integer,
2811 hdd_config_t, configPNOScanSupport,
2812 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2813 CFG_PNO_SCAN_SUPPORT_DEFAULT,
2814 CFG_PNO_SCAN_SUPPORT_DISABLE,
2815 CFG_PNO_SCAN_SUPPORT_ENABLE),
2816
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302817 REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2818 hdd_config_t, configPNOScanTimerRepeatValue,
2819 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2820 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2821 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2822 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
2823#endif
krunal soni5afa96c2013-09-06 22:19:02 -07002824 REG_VARIABLE( CFG_AMSDU_SUPPORT_IN_AMPDU_NAME , WLAN_PARAM_Integer,
2825 hdd_config_t, isAmsduSupportInAMPDU,
2826 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2827 CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT,
2828 CFG_AMSDU_SUPPORT_IN_AMPDU_MIN,
2829 CFG_AMSDU_SUPPORT_IN_AMPDU_MAX ),
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302830
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07002831 REG_VARIABLE( CFG_STRICT_5GHZ_PREF_BY_MARGIN , WLAN_PARAM_Integer,
2832 hdd_config_t, nSelect5GHzMargin,
2833 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2834 CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT,
2835 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN,
2836 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX ),
2837
krunal sonie9002db2013-11-25 14:24:17 -08002838 REG_VARIABLE( CFG_COALESING_IN_IBSS_NAME , WLAN_PARAM_Integer,
2839 hdd_config_t, isCoalesingInIBSSAllowed,
2840 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2841 CFG_COALESING_IN_IBSS_DEFAULT,
2842 CFG_COALESING_IN_IBSS_MIN,
2843 CFG_COALESING_IN_IBSS_MAX ),
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05302844
2845 REG_VARIABLE( CFG_DISABLE_ATH_NAME , WLAN_PARAM_Integer,
2846 hdd_config_t, cfgAthDisable,
2847 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2848 CFG_DISABLE_ATH_DEFAULT,
2849 CFG_DISABLE_ATH_MIN,
2850 CFG_DISABLE_ATH_MAX ),
c_hpothu6d7dc922013-12-02 12:36:41 +05302851 REG_VARIABLE(CFG_BTC_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2852 hdd_config_t, cfgBtcActiveWlanLen,
2853 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2854 CFG_BTC_ACTIVE_WLAN_LEN_DEFAULT,
2855 CFG_BTC_ACTIVE_WLAN_LEN_MIN,
2856 CFG_BTC_ACTIVE_WLAN_LEN_MAX ),
2857
2858 REG_VARIABLE(CFG_BTC_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2859 hdd_config_t, cfgBtcActiveBtLen,
2860 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2861 CFG_BTC_ACTIVE_BT_LEN_DEFAULT,
2862 CFG_BTC_ACTIVE_BT_LEN_MIN,
2863 CFG_BTC_ACTIVE_BT_LEN_MAX ),
2864
2865 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2866 hdd_config_t, cfgBtcSapActiveWlanLen,
2867 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2868 CFG_BTC_SAP_ACTIVE_WLAN_LEN_DEFAULT,
2869 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MIN,
2870 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MAX ),
2871
2872 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2873 hdd_config_t, cfgBtcSapActiveBtLen,
2874 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2875 CFG_BTC_SAP_ACTIVE_BT_LEN_DEFAULT,
2876 CFG_BTC_SAP_ACTIVE_BT_LEN_MIN,
2877 CFG_BTC_SAP_ACTIVE_BT_LEN_MAX ),
Arif Hussaind5218912013-12-05 01:10:55 -08002878
2879#ifdef MEMORY_DEBUG
2880 REG_VARIABLE(CFG_ENABLE_MEMORY_DEBUG_NAME, WLAN_PARAM_Integer,
2881 hdd_config_t, IsMemoryDebugSupportEnabled,
2882 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2883 CFG_ENABLE_MEMORY_DEBUG_DEFAULT,
2884 CFG_ENABLE_MEMORY_DEBUG_MIN,
2885 CFG_ENABLE_MEMORY_DEBUG_MAX ),
2886#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002887
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08002888 REG_VARIABLE_STRING( CFG_OVERRIDE_COUNTRY_CODE, WLAN_PARAM_String,
2889 hdd_config_t, overrideCountryCode,
2890 VAR_FLAGS_OPTIONAL,
Kiet Lamaa8e15a2014-02-11 23:30:06 -08002891 (void *)CFG_OVERRIDE_COUNTRY_CODE_DEFAULT),
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05302892
2893 REG_VARIABLE( CFG_ASD_PROBE_INTERVAL_NAME, WLAN_PARAM_Integer,
2894 hdd_config_t, gAsdProbeInterval,
2895 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2896 CFG_ASD_PROBE_INTERVAL_DEFAULT,
2897 CFG_ASD_PROBE_INTERVAL_MIN,
2898 CFG_ASD_PROBE_INTERVAL_MAX),
2899
2900 REG_VARIABLE( CFG_ASD_TRIGGER_THRESHOLD_NAME, WLAN_PARAM_Integer,
2901 hdd_config_t, gAsdTriggerThreshold,
2902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2903 CFG_ASD_TRIGGER_THRESHOLD_DEFAULT,
2904 CFG_ASD_TRIGGER_THRESHOLD_MIN,
2905 CFG_ASD_TRIGGER_THRESHOLD_MAX),
2906
2907 REG_VARIABLE( CFG_ASD_RTT_RSSI_HYST_THRESHOLD_NAME, WLAN_PARAM_Integer,
2908 hdd_config_t, gAsdRTTRssiHystThreshold,
2909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2910 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_DEFAULT,
2911 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MIN,
2912 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MAX),
Leela Venkata Kiran Kumar Reddy Chirala22c159b2013-12-23 18:19:13 -08002913
2914 REG_VARIABLE( CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_NAME, WLAN_PARAM_Integer,
2915 hdd_config_t, debugP2pRemainOnChannel,
2916 VAR_FLAGS_OPTIONAL,
2917 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_DEFAULT,
2918 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MIN,
2919 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MAX ),
2920
2921 REG_VARIABLE(CFG_CTS2S_DURING_BTC_SCO_NAME, WLAN_PARAM_Integer,
2922 hdd_config_t, cfgBtcCTS2SduringSCO,
2923 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2924 CFG_CTS2S_DURING_BTC_SCO_DEFAULT,
2925 CFG_CTS2S_DURING_BTC_SCO_MIN,
2926 CFG_CTS2S_DURING_BTC_SCO_MAX ),
Tushnim Bhattacharyyaa3ba5a52014-01-30 11:37:33 -08002927
2928 REG_VARIABLE( CFG_ENABLE_DEBUG_CONNECT_ISSUE, WLAN_PARAM_Integer,
2929 hdd_config_t, gEnableDebugLog,
2930 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2931 CFG_ENABLE_DEBUG_CONNECT_ISSUE_DEFAULT,
2932 CFG_ENABLE_DEBUG_CONNECT_ISSUE_MIN ,
2933 CFG_ENABLE_DEBUG_CONNECT_ISSUE_MAX),
Sandeep Puligilla04bb8fd2014-02-03 23:21:47 +05302934
2935 REG_VARIABLE(CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_NAME, WLAN_PARAM_Integer,
2936 hdd_config_t, nOBSSScanActiveDwellTime,
2937 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2938 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_DEFAULT,
2939 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MIN,
2940 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MAX ),
2941
2942 REG_VARIABLE(CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_NAME, WLAN_PARAM_Integer,
2943 hdd_config_t, nOBSSScanPassiveDwellTime,
2944 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2945 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_DEFAULT,
2946 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MIN,
2947 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MAX ),
2948
2949 REG_VARIABLE(CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_NAME,
2950 WLAN_PARAM_Integer,
2951 hdd_config_t, nOBSSScanWidthTriggerInterval,
2952 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2953 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_DEFAULT,
2954 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MIN,
2955 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MAX ),
Kalikinkar dharad73a9bd2014-01-28 22:42:34 -08002956
2957 REG_VARIABLE( CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_NAME, WLAN_PARAM_Integer,
2958 hdd_config_t, gEnableStrictRegulatoryForFCC,
2959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2960 CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_DEFAULT,
2961 CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_MIN,
2962 CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_MAX ),
2963
Rashmi Ramannabd3feb72014-02-25 16:14:48 +05302964 REG_VARIABLE( CFG_ADVERTISE_CONCURRENT_OPERATION_NAME , WLAN_PARAM_Integer,
2965 hdd_config_t, advertiseConcurrentOperation,
2966 VAR_FLAGS_OPTIONAL,
2967 CFG_ADVERTISE_CONCURRENT_OPERATION_DEFAULT,
2968 CFG_ADVERTISE_CONCURRENT_OPERATION_MIN,
2969 CFG_ADVERTISE_CONCURRENT_OPERATION_MAX ),
2970
Abhishek Singh8280c4e2014-02-18 13:26:34 +05302971 REG_VARIABLE( CFG_DEFAULT_RATE_INDEX_24GH, WLAN_PARAM_Integer,
2972 hdd_config_t, defaultRateIndex24Ghz,
2973 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2974 CFG_DEFAULT_RATE_INDEX_24GH_DEFAULT,
2975 CFG_DEFAULT_RATE_INDEX_24GH_MIN,
2976 CFG_DEFAULT_RATE_INDEX_24GH_MAX ),
2977
Abhishek Singhf0ac1752014-03-05 17:47:09 +05302978 REG_VARIABLE( CFG_SAP_DOT11_MODE_NAME, WLAN_PARAM_Integer,
2979 hdd_config_t, sapDot11Mode,
2980 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2981 CFG_SAP_DOT11_MODE_DEFAULT,
2982 CFG_SAP_DOT11_MODE_MIN,
2983 CFG_SAP_DOT11_MODE_MAX ),
2984
c_hpothu5bd1ae42014-03-07 20:28:22 +05302985 REG_VARIABLE(CFG_RA_FILTER_ENABLE_NAME, WLAN_PARAM_Integer,
2986 hdd_config_t, cfgRAFilterEnable,
2987 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2988 CFG_RA_FILTER_ENABLE_DEFAULT,
2989 CFG_RA_FILTER_ENABLE_MIN,
2990 CFG_RA_FILTER_ENABLE_MAX ),
2991
2992 REG_VARIABLE(CFG_RA_RATE_LIMIT_INTERVAL_NAME, WLAN_PARAM_Integer,
2993 hdd_config_t, cfgRARateLimitInterval,
2994 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2995 CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT,
2996 CFG_RA_RATE_LIMIT_INTERVAL_MIN,
2997 CFG_RA_RATE_LIMIT_INTERVAL_MAX ),
Sandeep Puligillac80f26e2014-03-11 18:36:10 +05302998
2999 REG_VARIABLE( CFG_ROAMING_DFS_CHANNEL_NAME , WLAN_PARAM_Integer,
3000 hdd_config_t, allowDFSChannelRoam,
3001 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3002 CFG_ROAMING_DFS_CHANNEL_DEFAULT,
3003 CFG_ROAMING_DFS_CHANNEL_MIN,
3004 CFG_ROAMING_DFS_CHANNEL_MAX ),
Vinay Krishna Erannad938c422014-03-10 17:14:21 +05303005
3006#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
3007 REG_VARIABLE( CFG_WLAN_LOGGING_SUPPORT_NAME, WLAN_PARAM_Integer,
3008 hdd_config_t, wlanLoggingEnable,
3009 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3010 CFG_WLAN_LOGGING_SUPPORT_DEFAULT,
3011 CFG_WLAN_LOGGING_SUPPORT_DISABLE,
3012 CFG_WLAN_LOGGING_SUPPORT_ENABLE ),
3013
3014 REG_VARIABLE( CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_NAME, WLAN_PARAM_Integer,
3015 hdd_config_t, wlanLoggingFEToConsole,
3016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3017 CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_DEFAULT,
3018 CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_DISABLE,
3019 CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_ENABLE ),
3020
3021 REG_VARIABLE( CFG_WLAN_LOGGING_NUM_BUF_NAME, WLAN_PARAM_Integer,
3022 hdd_config_t, wlanLoggingNumBuf,
3023 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3024 CFG_WLAN_LOGGING_NUM_BUF_DEFAULT,
3025 CFG_WLAN_LOGGING_NUM_BUF_MIN,
3026 CFG_WLAN_LOGGING_NUM_BUF_MAX ),
3027#endif //WLAN_LOGGING_SOCK_SVC_ENABLE
3028
c_hpothu059edb02014-03-12 21:44:28 +05303029 REG_VARIABLE(CFG_INITIAL_DWELL_TIME_NAME, WLAN_PARAM_Integer,
3030 hdd_config_t, nInitialDwellTime,
3031 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3032 CFG_INITIAL_DWELL_TIME_DEFAULT,
3033 CFG_INITIAL_DWELL_TIME_MIN,
3034 CFG_INITIAL_DWELL_TIME_MAX ),
c_hpothu0d5a7352014-03-22 12:30:25 +05303035
3036 REG_VARIABLE(CFG_INITIAL_SCAN_SKIP_DFS_CH_NAME, WLAN_PARAM_Integer,
3037 hdd_config_t, initialScanSkipDFSCh,
3038 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3039 CFG_INITIAL_SCAN_SKIP_DFS_CH_DEFAULT,
3040 CFG_INITIAL_SCAN_SKIP_DFS_CH_MIN,
3041 CFG_INITIAL_SCAN_SKIP_DFS_CH_MAX),
c_hpothu2d0f1c42014-04-01 18:38:51 +05303042
3043 REG_VARIABLE(CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_NAME, WLAN_PARAM_Integer,
3044 hdd_config_t, cfgBtcFatalHidnSniffBlkGuidance,
3045 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3046 CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_DEFAULT,
3047 CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_MIN,
3048 CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_MAX ),
3049
3050 REG_VARIABLE(CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_NAME, WLAN_PARAM_Integer,
3051 hdd_config_t, cfgBtcCriticalHidnSniffBlkGuidance,
3052 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3053 CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_DEFAULT,
3054 CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_MIN,
3055 CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_MAX ),
3056
3057 REG_VARIABLE(CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_NAME, WLAN_PARAM_Integer,
3058 hdd_config_t, cfgBtcA2dpTxQueueThold,
3059 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3060 CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_DEFAULT,
3061 CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_MIN,
3062 CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_MAX ),
3063
3064 REG_VARIABLE(CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_NAME, WLAN_PARAM_Integer,
3065 hdd_config_t, cfgBtcOppTxQueueThold,
3066 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3067 CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_DEFAULT,
3068 CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_MIN,
3069 CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_MAX ),
Chet Lanctotfadc8e32014-04-24 14:50:52 -07003070
3071#ifdef WLAN_FEATURE_11W
3072 REG_VARIABLE(CFG_PMF_SA_QUERY_MAX_RETRIES_NAME, WLAN_PARAM_Integer,
3073 hdd_config_t, pmfSaQueryMaxRetries,
3074 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3075 CFG_PMF_SA_QUERY_MAX_RETRIES_DEFAULT,
3076 CFG_PMF_SA_QUERY_MAX_RETRIES_MIN,
3077 CFG_PMF_SA_QUERY_MAX_RETRIES_MAX ),
3078
3079 REG_VARIABLE(CFG_PMF_SA_QUERY_RETRY_INTERVAL_NAME, WLAN_PARAM_Integer,
3080 hdd_config_t, pmfSaQueryRetryInterval,
3081 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3082 CFG_PMF_SA_QUERY_RETRY_INTERVAL_DEFAULT,
3083 CFG_PMF_SA_QUERY_RETRY_INTERVAL_MIN,
3084 CFG_PMF_SA_QUERY_RETRY_INTERVAL_MAX ),
3085#endif
Rashmi Ramanna68b309c2014-05-20 11:52:22 +05303086
3087 REG_VARIABLE(CFG_DEFER_IMPS_FOR_TIME_NAME, WLAN_PARAM_Integer,
3088 hdd_config_t, deferImpsTime,
3089 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3090 CFG_DEFER_IMPS_FOR_TIME_DEFAULT,
3091 CFG_DEFER_IMPS_FOR_TIME_MIN,
3092 CFG_DEFER_IMPS_FOR_TIME_MAX),
3093
Abhishek Singhde51a412014-05-20 19:17:26 +05303094 REG_VARIABLE(CFG_ENABLE_DEAUTH_BEFORE_CONNECTION, WLAN_PARAM_Integer,
3095 hdd_config_t, sendDeauthBeforeCon,
3096 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3097 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_DEFAULT,
3098 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MIN,
3099 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MAX),
Pradeep Reddy POTTETI5c2e16d2014-06-27 16:47:38 +05303100
Siddharth Bhala3a5cb42014-09-29 21:13:13 +05303101 REG_VARIABLE(CFG_ENABLE_MAC_ADDR_SPOOFING, WLAN_PARAM_Integer,
3102 hdd_config_t, enableMacSpoofing,
3103 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3104 CFG_ENABLE_MAC_ADDR_SPOOFING_DEFAULT,
3105 CFG_ENABLE_MAC_ADDR_SPOOFING_MIN,
3106 CFG_ENABLE_MAC_ADDR_SPOOFING_MAX),
3107
Pradeep Reddy POTTETI5c2e16d2014-06-27 16:47:38 +05303108 REG_VARIABLE(CFG_ENABLE_CH_AVOID, WLAN_PARAM_Integer,
3109 hdd_config_t, fenableCHAvoidance,
3110 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3111 CFG_ENABLE_CH_AVOID_DEFAULT,
3112 CFG_ENABLE_CH_AVOID_MIN,
3113 CFG_ENABLE_CH_AVOID_MAX ),
Agarwal Ashish51325b52014-06-16 16:50:49 +05303114
3115 REG_VARIABLE(CFG_MAX_CONCURRENT_CONNECTIONS_NAME, WLAN_PARAM_Integer,
3116 hdd_config_t, gMaxConcurrentActiveSessions,
3117 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3118 CFG_MAX_CONCURRENT_CONNECTIONS_DEFAULT,
3119 CFG_MAX_CONCURRENT_CONNECTIONS_MIN,
3120 CFG_MAX_CONCURRENT_CONNECTIONS_MAX ),
Mihir Shetec34258c2014-07-30 17:50:27 +05303121 REG_VARIABLE( CFG_ENABLE_DYNAMIC_WMMPS_NAME, WLAN_PARAM_Integer,
3122 hdd_config_t, enableDynamicWMMPS,
3123 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3124 CFG_ENABLE_DYNAMIC_WMM_PS_DEFAULT,
3125 CFG_ENABLE_DYNAMIC_WMM_PS_MIN,
3126 CFG_ENABLE_DYNAMIC_WMM_PS_MAX ),
3127
3128 REG_VARIABLE( CFG_MAX_UAPSD_CONSEC_SP_NAME, WLAN_PARAM_Integer,
3129 hdd_config_t, maxUapsdConsecSP,
3130 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3131 CFG_MAX_UAPSD_CONSEC_SP_DEFAULT,
3132 CFG_MAX_UAPSD_CONSEC_SP_MIN,
3133 CFG_MAX_UAPSD_CONSEC_SP_MAX ),
3134
3135 REG_VARIABLE( CFG_MAX_UAPSD_CONSEC_RX_CNT_NAME, WLAN_PARAM_Integer,
3136 hdd_config_t, maxUapsdConsecRxCnt,
3137 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3138 CFG_MAX_UAPSD_CONSEC_RX_CNT_DEFAULT,
3139 CFG_MAX_UAPSD_CONSEC_RX_CNT_MIN,
3140 CFG_MAX_UAPSD_CONSEC_RX_CNT_MAX ),
3141
3142 REG_VARIABLE( CFG_MAX_UAPSD_CONSEC_TX_CNT_NAME, WLAN_PARAM_Integer,
3143 hdd_config_t, maxUapsdConsecTxCnt,
3144 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3145 CFG_MAX_UAPSD_CONSEC_TX_CNT_DEFAULT,
3146 CFG_MAX_UAPSD_CONSEC_TX_CNT_MIN,
3147 CFG_MAX_UAPSD_CONSEC_TX_CNT_MAX ),
3148
3149 REG_VARIABLE( CFG_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW_NAME, WLAN_PARAM_Integer,
3150 hdd_config_t, uapsdConsecRxCntMeasWindow,
3151 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3152 CFG_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW_DEFAULT,
3153 CFG_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW_MIN,
3154 CFG_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW_MAX ),
3155
3156 REG_VARIABLE( CFG_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW_NAME, WLAN_PARAM_Integer,
3157 hdd_config_t, uapsdConsecTxCntMeasWindow,
3158 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3159 CFG_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW_DEFAULT,
3160 CFG_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW_MIN,
3161 CFG_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW_MAX ),
3162
3163 REG_VARIABLE( CFG_UAPSD_PSPOLL_NAME, WLAN_PARAM_Integer,
3164 hdd_config_t, maxPsPollInWmmUapsdMode,
3165 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3166 CFG_UAPSD_PSPOLL_DEFAULT,
3167 CFG_UAPSD_PSPOLL_MIN,
3168 CFG_UAPSD_PSPOLL_MAX ),
3169
3170 REG_VARIABLE( CFG_MAX_UAPSD_INACT_INTVL_NAME, WLAN_PARAM_Integer,
3171 hdd_config_t, maxUapsdInactivityIntervals,
3172 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3173 CFG_MAX_UAPSD_INACT_INTVL_DEFAULT,
3174 CFG_MAX_UAPSD_INACT_INTVL_MIN,
3175 CFG_MAX_UAPSD_INACT_INTVL_MAX ),
Dino Mycled9b7cc12014-09-04 18:43:07 +05303176
3177 REG_VARIABLE( CFG_DEBUG_DHCP, WLAN_PARAM_Integer,
3178 hdd_config_t, enableDhcpDebug,
3179 VAR_FLAGS_OPTIONAL |
3180 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3181 CFG_DEBUG_DHCP_DEFAULT,
3182 CFG_DEBUG_DHCP_DISABLE,
3183 CFG_DEBUG_DHCP_ENABLE ),
c_hpothu03d961b2014-09-19 16:45:00 +05303184
3185 REG_VARIABLE( CFG_BURST_MODE_BE_TXOP_VALUE, WLAN_PARAM_Integer,
3186 hdd_config_t, burstModeTXOPValue,
3187 VAR_FLAGS_OPTIONAL |
3188 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3189 CFG_BURST_MODE_BE_TXOP_VALUE_DEFAULT,
3190 CFG_BURST_MODE_BE_TXOP_VALUE_MIN,
3191 CFG_BURST_MODE_BE_TXOP_VALUE_MAX ),
Peng Xufc6ad8e2014-09-25 13:16:43 +05303192 REG_VARIABLE( CFG_SAP_SCAN_BAND_PREFERENCE, WLAN_PARAM_Integer,
3193 hdd_config_t, acsScanBandPreference,
3194 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
3195 CFG_SAP_SCAN_BAND_PREFERENCE_DEFAULT,
3196 CFG_SAP_SCAN_BAND_PREFERENCE_MIN,
3197 CFG_SAP_SCAN_BAND_PREFERENCE_MAX ),
Deepthi Gowri9025aa62014-11-07 19:45:36 +05303198
3199 REG_VARIABLE( CFG_ENABLE_DYNAMIC_RA_START_RATE_NAME, WLAN_PARAM_Integer,
3200 hdd_config_t, enableDynamicRAStartRate,
3201 VAR_FLAGS_OPTIONAL |
3202 VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3203 CFG_ENABLE_DYNAMIC_RA_START_RATE_DEFAULT,
3204 CFG_ENABLE_DYNAMIC_RA_START_RATE_MIN,
3205 CFG_ENABLE_DYNAMIC_RA_START_RATE_MAX),
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08003206};
3207
Jeff Johnson295189b2012-06-20 16:38:30 -07003208/*
3209 * This function returns a pointer to the character after the occurence
3210 * of a new line character. It also modifies the original string by replacing
3211 * the '\n' character with the null character.
3212 * Function returns NULL if no new line character was found before end of
3213 * string was reached
3214 */
3215static char* get_next_line(char* str)
3216{
3217 char c;
3218
3219 if( str == NULL || *str == '\0') {
3220 return NULL;
3221 }
3222
3223 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003224 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07003225 str = str + 1;
3226 c = *str;
3227 }
3228
3229 if (c == '\0' ) {
3230 return NULL;
3231 }
3232 else
3233 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003234 return (str+1);
3235 }
3236
3237 return NULL;
3238}
3239
3240// look for space. Ascii values to look are -
3241// 0x09 == horizontal tab
3242// 0x0a == Newline ("\n")
3243// 0x0b == vertical tab
3244// 0x0c == Newpage or feed form.
3245// 0x0d == carriage return (CR or "\r")
3246// Null ('\0') should not considered as space.
3247#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
3248
3249/*
3250 * This function trims any leading and trailing white spaces
3251 */
3252static char *i_trim(char *str)
3253
3254{
3255 char *ptr;
3256
3257 if(*str == '\0') return str;
3258
3259 /* Find the first non white-space*/
3260 for (ptr = str; i_isspace(*ptr); ptr++);
3261 if (*ptr == '\0')
3262 return str;
3263
3264 /* This is the new start of the string*/
3265 str = ptr;
3266
3267 /* Find the last non white-space */
3268 ptr += strlen(ptr) - 1;
3269 for (; ptr != str && i_isspace(*ptr); ptr--);
3270 /* Null terminate the following character */
3271 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003272
Jeff Johnson295189b2012-06-20 16:38:30 -07003273 return str;
3274}
3275
3276
3277//Structure to store each entry in qcom_cfg.ini file
3278typedef struct
3279{
3280 char *name;
3281 char *value;
3282}tCfgIniEntry;
3283
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003284static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07003285 tCfgIniEntry* iniTable, unsigned long entries);
3286
3287#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003288void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07003289{
3290 unsigned long i;
3291
3292 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003293 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07003294 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
3295 }
3296}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003297#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003298
3299/*
3300 * This function reads the qcom_cfg.ini file and
3301 * parses each 'Name=Value' pair in the ini file
3302 */
3303VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
3304{
3305 int status, i=0;
3306 /** Pointer for firmware image data */
3307 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07003308 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07003309 size_t size;
3310 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07003311 /* cfgIniTable is static to avoid excess stack usage */
3312 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07003313 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
3314
3315 memset(cfgIniTable, 0, sizeof(cfgIniTable));
3316
3317 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003318
Jeff Johnson295189b2012-06-20 16:38:30 -07003319 if(status)
3320 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003321 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07003322 vos_status = VOS_STATUS_E_FAILURE;
3323 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07003324 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003325 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07003326 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003327 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003328 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07003329 vos_status = VOS_STATUS_E_FAILURE;
3330 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003331 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003332
Vinay Krishna Erannaf5a30832014-08-13 18:44:37 +05303333 hddLog(LOGE, "%s: qcom_cfg.ini Size %zu", __func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07003334
3335 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003336
Jeff Johnson295189b2012-06-20 16:38:30 -07003337 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003338 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07003339 release_firmware(fw);
3340 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003341 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003342 pTemp = buffer;
3343
3344 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
3345 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003346
Jeff Johnson295189b2012-06-20 16:38:30 -07003347 while (buffer != NULL)
3348 {
Vinay Krishna Erannaf5a30832014-08-13 18:44:37 +05303349 /*
3350 * get_next_line function used to modify the \n and \r delimiter
3351 * to \0 before returning, without checking if it is over parsing the
3352 * source buffer. So changed the function not to modify the buffer
3353 * passed to it and letting the calling/caller function to take
3354 * care of the return pointer validation and modification of the buffer.
3355 * So validating if the return pointer is not greater than the end
3356 * buffer address and modifying the buffer value.
3357 */
Jeff Johnson295189b2012-06-20 16:38:30 -07003358 line = get_next_line(buffer);
Vinay Krishna Erannaf5a30832014-08-13 18:44:37 +05303359 if(line > (pTemp + fw->size)) {
3360 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: INI file seems to be corrupted",
3361 __func__);
3362 vos_status = VOS_STATUS_E_FAILURE;
3363 goto config_exit;
3364 }
3365 else if(line) {
3366 *(line - 1) = '\0';
3367 }
3368
Jeff Johnson295189b2012-06-20 16:38:30 -07003369 buffer = i_trim(buffer);
3370
3371 hddLog(LOG1, "%s: item", buffer);
3372
3373 if(strlen((char*)buffer) == 0 || *buffer == '#') {
3374 buffer = line;
3375 continue;
3376 }
3377 else if(strncmp(buffer, "END", 3) == 0 ) {
3378 break;
3379 }
3380 else
3381 {
3382 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003383 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003384 buffer++;
3385 if(*buffer != '\0') {
3386 *buffer++ = '\0';
3387 i_trim(name);
3388 if(strlen (name) != 0) {
3389 buffer = i_trim(buffer);
3390 if(strlen(buffer)>0) {
3391 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003392 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003393 buffer++;
3394 *buffer = '\0';
3395 cfgIniTable[i].name= name;
3396 cfgIniTable[i++].value= value;
3397 if(i >= MAX_CFG_INI_ITEMS) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003398 hddLog(LOGE,"%s: Number of items in %s > %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003399 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07003400 break;
3401 }
3402 }
3403 }
3404 }
3405 }
3406 buffer = line;
3407 }
3408
3409 //Loop through the registry table and apply all these configs
3410 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
3411
Jeff Johnson4416a782013-03-25 14:17:50 -07003412config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07003413 release_firmware(fw);
3414 vos_mem_free(pTemp);
3415 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003416}
Jeff Johnson295189b2012-06-20 16:38:30 -07003417
3418
3419static void print_hdd_cfg(hdd_context_t *pHddCtx)
3420{
3421 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003422 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %u",pHddCtx->cfg_ini->RTSThreshold) ;
Jeff Johnson295189b2012-06-20 16:38:30 -07003423 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
3424 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
3425 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
3426 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003427 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%u]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
Jeff Johnson295189b2012-06-20 16:38:30 -07003428 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
Arif Hussaina7c8e412013-11-20 11:06:42 -08003429 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
3430 "Name = [gIbssBssid] Value =["MAC_ADDRESS_STR"]",
3431 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->IbssBssid.bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003432
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003433 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003434 "Name = [Intf0MacAddress] Value =["MAC_ADDRESS_STR"]",
3435 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[0].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003436
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003437 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003438 "Name = [Intf1MacAddress] Value =["MAC_ADDRESS_STR"]",
3439 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[1].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003440
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003441 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003442 "Name = [Intf2MacAddress] Value =["MAC_ADDRESS_STR"]",
3443 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[2].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003444
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003445 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003446 "Name = [Intf3MacAddress] Value =["MAC_ADDRESS_STR"]",
3447 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[3].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003448
Arif Hussain6d2a3322013-11-17 19:50:10 -08003449 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]",pHddCtx->cfg_ini->apUapsdEnabled);
Jeff Johnson295189b2012-06-20 16:38:30 -07003450
Arif Hussain6d2a3322013-11-17 19:50:10 -08003451 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]",
Jeff Johnson295189b2012-06-20 16:38:30 -07003452 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
3453 pHddCtx->cfg_ini->apCntryCode[2]);
3454 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
Arif Hussain6d2a3322013-11-17 19:50:10 -08003455 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]", pHddCtx->cfg_ini->nAPAutoShutOff);
Jeff Johnson295189b2012-06-20 16:38:30 -07003456
Arif Hussain6d2a3322013-11-17 19:50:10 -08003457 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableListenMode] Value = [%u]", pHddCtx->cfg_ini->nEnableListenMode);
3458 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]",pHddCtx->cfg_ini->apProtection);
3459 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]",pHddCtx->cfg_ini->apOBSSProtEnabled);
3460 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApAutoChannelSelection] value = [%u]",pHddCtx->cfg_ini->apAutoChannelSelection);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003461
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003462 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
3463 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
3464 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%u]",pHddCtx->cfg_ini->dot11Mode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003465 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
3466 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
3467 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
3468 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
3469
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003470 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
3471 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003472
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003473 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
3474 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003475
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003476 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
3477 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003478
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003479 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
3480 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003481#ifdef FEATURE_WLAN_ESE
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003482 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%u] ",pHddCtx->cfg_ini->InfraInactivityInterval);
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003483 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [EseEnabled] Value = [%u] ",pHddCtx->cfg_ini->isEseIniFeatureEnabled);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003484 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
3485 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTxPowerCap] Value = [%u] dBm ",pHddCtx->cfg_ini->nTxPowerCap);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003486#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003487#ifdef FEATURE_WLAN_LFR
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003488 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastRoamEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled);
Kiet Lamaa8e15a2014-02-11 23:30:06 -08003489 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [MAWCEnabled] Value = [%u] ",pHddCtx->cfg_ini->MAWCEnabled);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003490#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003491#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003492 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->RoamRssiDiff);
3493 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
3494 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [isWESModeEnabled] Value = [%u] ",pHddCtx->cfg_ini->isWESModeEnabled);
Jeff Johnson43971f52012-07-17 12:26:56 -07003495#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003496#ifdef FEATURE_WLAN_OKC
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003497 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%u] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003498#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003499 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
3500 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003501 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
3502 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
Jeff Johnson295189b2012-06-20 16:38:30 -07003503 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
3504
3505 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
3506 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003507 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
3508 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
Jeff Johnson295189b2012-06-20 16:38:30 -07003509 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
3510
3511 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
3512 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003513 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
3514 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
Jeff Johnson295189b2012-06-20 16:38:30 -07003515 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
3516
3517 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
3518 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003519 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
3520 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
Jeff Johnson295189b2012-06-20 16:38:30 -07003521 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
3522
3523 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
3524 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
3525 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
3526 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003527 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%u] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
Dhanashri Atred8c20a32014-01-03 17:20:55 -08003528 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BkReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->BkReorderAgingTime);
3529 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BeReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->BeReorderAgingTime);
3530 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ViReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->ViReorderAgingTime);
3531 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [VoReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->VoReorderAgingTime);
Jeff Johnson295189b2012-06-20 16:38:30 -07003532 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
3533 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 -08003534#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003535 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%u] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
Jeff Johnson295189b2012-06-20 16:38:30 -07003536#endif
3537
3538#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003539 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
3540 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
3541 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
3542 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
3543 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%u] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
3544 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
3545 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanResultsRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod);
3546 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nEmptyScanRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
Mukul Sharma20aa6582014-08-07 21:36:12 +05303547 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborInitialForcedRoamTo5GhEnable] Value = [%u] ",pHddCtx->cfg_ini->nNeighborInitialForcedRoamTo5GhEnable);
Jeff Johnson295189b2012-06-20 16:38:30 -07003548#endif
3549 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
3550 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
3551 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
3552 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
3553 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
3554 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
3555 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
3556
3557 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
3558 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3559 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
3560#ifdef WLAN_BTAMP_FEATURE
3561 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
3562#endif //WLAN_BTAMP_FEATURE
3563 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
3564 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
3565 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
3566 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
3567 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
3568 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
3569 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
3570 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
3571 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3572 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
3573 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
3574 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
3575 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 -07003576#ifdef WLAN_FEATURE_11AC
Arif Hussain6d2a3322013-11-17 19:50:10 -08003577 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]",pHddCtx->cfg_ini->vhtChannelWidth);
Jeff Johnsone7245742012-09-05 17:12:55 -07003578#endif
3579 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
3580 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
3581 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 +05303582 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 -08003583 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 -07003584 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 -07003585 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 -07003586
Leo Chang64d68bc2013-06-04 15:40:52 -07003587 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
3588 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTrafficIdleTimeout] Value = [%u] ", pHddCtx->cfg_ini->trafficIdleTimeout);
Yue Ma0fd23872013-08-01 15:56:47 -07003589 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gFlexConnectPowerFactor] Value = [%u] ", pHddCtx->cfg_ini->flexConnectPowerFactor);
Ravi Joshid2ca7c42013-07-23 08:37:49 -07003590 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableIbssHeartBeatOffload] Value = [%u] ", pHddCtx->cfg_ini->enableIbssHeartBeatOffload);
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05303591 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAntennaDiversity] Value = [%u] ", pHddCtx->cfg_ini->antennaDiversity);
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303592 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
3593 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
3594 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
3595 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApKeepAlivePeriod]Value = [%u]",pHddCtx->cfg_ini->apKeepAlivePeriod);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003596 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAmsduSupportInAMPDU] Value = [%u] ",pHddCtx->cfg_ini->isAmsduSupportInAMPDU);
3597 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nSelect5GHzMargin] Value = [%u] ",pHddCtx->cfg_ini->nSelect5GHzMargin);
Jeff Johnson89aa2692013-11-25 16:23:43 -08003598 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gCoalesingInIBSS] Value = [%u] ",pHddCtx->cfg_ini->isCoalesingInIBSSAllowed);
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303599
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08003600 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [overrideCountryCode] Value = [%s] ",pHddCtx->cfg_ini->overrideCountryCode);
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05303601
3602 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdProbeInterval] Value = [%u]",pHddCtx->cfg_ini->gAsdProbeInterval);
3603 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdTriggerThreshold] Value = [%u]",pHddCtx->cfg_ini->gAsdTriggerThreshold);
3604 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdRTTRssiHystThreshold]Value = [%u]",pHddCtx->cfg_ini->gAsdRTTRssiHystThreshold);
Sandeep Puligillac80f26e2014-03-11 18:36:10 +05303605 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gRoamtoDFSChannel] Value = [%u] ",pHddCtx->cfg_ini->allowDFSChannelRoam);
Agarwal Ashish51325b52014-06-16 16:50:49 +05303606 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gMaxConcurrentActiveSessions] Value = [%u] ", pHddCtx->cfg_ini->gMaxConcurrentActiveSessions);
Peng Xufc6ad8e2014-09-25 13:16:43 +05303607 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAcsScanBandPreference] Value = [%u] ",pHddCtx->cfg_ini->acsScanBandPreference);
Peng Xuafc34e32014-09-25 13:23:55 +05303608 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,"Name = [gACSBandSwitchThreshold] value = [%u]\n",pHddCtx->cfg_ini->acsBandSwitchThreshold);
Jeff Johnson295189b2012-06-20 16:38:30 -07003609}
3610
3611
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003612
Jeff Johnson295189b2012-06-20 16:38:30 -07003613#define CFG_VALUE_MAX_LEN 256
3614#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
3615VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
3616{
3617 unsigned int idx;
3618 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3619 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3620 v_U32_t value;
3621 char valueStr[CFG_VALUE_MAX_LEN];
3622 char configStr[CFG_ENTRY_MAX_LEN];
3623 char *fmt;
3624 void *pField;
3625 v_MACADDR_t *pMacAddr;
3626 char *pCur = pBuf;
3627 int curlen;
3628
3629 // start with an empty string
3630 *pCur = '\0';
3631
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003632 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07003633 {
3634 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
3635
3636 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3637 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003638 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07003639 {
3640 value = 0;
3641 memcpy( &value, pField, pRegEntry->VarSize );
3642 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
3643 {
3644 fmt = "%x";
3645 }
3646 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3647 {
3648 fmt = "%d";
3649 }
3650 else
3651 {
3652 fmt = "%u";
3653 }
3654 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
3655 }
3656 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3657 {
3658 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
3659 }
3660 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3661 {
3662 pMacAddr = (v_MACADDR_t *) pField;
3663 snprintf(valueStr, CFG_VALUE_MAX_LEN,
3664 "%02x:%02x:%02x:%02x:%02x:%02x",
3665 pMacAddr->bytes[0],
3666 pMacAddr->bytes[1],
3667 pMacAddr->bytes[2],
3668 pMacAddr->bytes[3],
3669 pMacAddr->bytes[4],
3670 pMacAddr->bytes[5]);
3671 }
3672 else
3673 {
3674 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
3675 }
Sameer Thalappilb0a30232013-09-27 15:37:48 -07003676 curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN,
Jeff Johnson295189b2012-06-20 16:38:30 -07003677 "%s=[%s]%s\n",
3678 pRegEntry->RegName,
3679 valueStr,
3680 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
3681 "*" : "");
3682
3683 // ideally we want to return the config to the application
3684 // however the config is too big so we just printk() for now
3685#ifdef RETURN_IN_BUFFER
3686 if (curlen <= buflen)
3687 {
3688 // copy string + '\0'
3689 memcpy(pCur, configStr, curlen+1);
3690
3691 // account for addition;
3692 pCur += curlen;
3693 buflen -= curlen;
3694 }
3695 else
3696 {
3697 // buffer space exhausted, return what we have
3698 return VOS_STATUS_E_RESOURCES;
3699 }
3700#else
3701 printk(KERN_CRIT "%s", configStr);
3702#endif // RETURN_IN_BUFFER
3703
3704}
3705
3706#ifndef RETURN_IN_BUFFER
3707 // notify application that output is in system log
3708 snprintf(pCur, buflen, "WLAN configuration written to system log");
3709#endif // RETURN_IN_BUFFER
3710
3711 return VOS_STATUS_SUCCESS;
3712}
3713
3714static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003715 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07003716{
3717 VOS_STATUS status = VOS_STATUS_E_FAILURE;
3718 unsigned long i;
3719
3720 for (i = 0; i < entries; i++) {
3721 if (strcmp(iniTable[i].name, name) == 0) {
3722 *value = iniTable[i].value;
3723 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
3724 WLAN_INI_FILE, name, *value);
3725 return VOS_STATUS_SUCCESS;
3726 }
3727 }
3728
3729 return status;
3730}
3731
3732static int parseHexDigit(char c)
3733{
3734 if (c >= '0' && c <= '9')
3735 return c-'0';
3736 if (c >= 'a' && c <= 'f')
3737 return c-'a'+10;
3738 if (c >= 'A' && c <= 'F')
3739 return c-'A'+10;
3740
3741 return 0;
3742}
3743
3744
3745static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
3746{
3747 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
3748 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
3749 unsigned int idx;
3750 void *pField;
3751 char *value_str = NULL;
3752 unsigned long len_value_str;
3753 char *candidate;
3754 v_U32_t value;
3755 v_S31_t svalue;
3756 void *pStructBase = pHddCtx->cfg_ini;
3757 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3758 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3759 v_U32_t cbOutString;
3760 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003761 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003762
3763 // sanity test
3764 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
3765 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003766 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003767 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07003768 }
3769
3770 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
3771 {
3772 //Calculate the address of the destination field in the structure.
3773 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
3774
3775 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
3776
3777 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
3778 {
3779 // If we could not read the cfg item and it is required, this is an error.
3780 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003781 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003782 ret_status = VOS_STATUS_E_FAILURE;
3783 break;
3784 }
3785
3786 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3787 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
3788 {
3789 // If successfully read from the registry, use the value read.
3790 // If not, use the default value.
3791 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003792 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003793 if (rv < 0) {
3794 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
3795 __func__, pRegEntry->RegName);
3796 value = pRegEntry->VarDefault;
3797 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003798 }
3799 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003800 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003801 if (rv < 0) {
3802 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
3803 __func__, pRegEntry->RegName);
3804 value = pRegEntry->VarDefault;
3805 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003806 }
3807 else {
3808 value = pRegEntry->VarDefault;
3809 }
3810
3811 // If this parameter needs range checking, do it here.
3812 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3813 {
3814 if ( value > pRegEntry->VarMax )
3815 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003816 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003817 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07003818 value = pRegEntry->VarMax;
3819 }
3820
3821 if ( value < pRegEntry->VarMin )
3822 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003823 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003824 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003825 value = pRegEntry->VarMin;
3826 }
3827 }
3828 // If this parameter needs range checking, do it here.
3829 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3830 {
3831 if ( value > pRegEntry->VarMax )
3832 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003833 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003834 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003835 value = pRegEntry->VarDefault;
3836 }
3837
3838 if ( value < pRegEntry->VarMin )
3839 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003840 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003841 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003842 value = pRegEntry->VarDefault;
3843 }
3844 }
3845
3846 // Move the variable into the output field.
3847 memcpy( pField, &value, pRegEntry->VarSize );
3848 }
3849 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3850 {
3851 // If successfully read from the registry, use the value read.
3852 // If not, use the default value.
3853 if (VOS_STATUS_SUCCESS == match_status)
3854 {
Jeff Johnson02797792013-10-26 19:17:13 -07003855 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003856 if (rv < 0) {
3857 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3858 __func__, pRegEntry->RegName);
3859 svalue = (v_S31_t)pRegEntry->VarDefault;
3860 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003861 }
3862 else
3863 {
3864 svalue = (v_S31_t)pRegEntry->VarDefault;
3865 }
3866
3867 // If this parameter needs range checking, do it here.
3868 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3869 {
3870 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3871 {
3872 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003873 "[%d > %d]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003874 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3875 svalue = (v_S31_t)pRegEntry->VarMax;
3876 }
3877
3878 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3879 {
3880 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003881 "[%d < %d]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003882 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3883 svalue = (v_S31_t)pRegEntry->VarMin;
3884 }
3885 }
3886 // If this parameter needs range checking, do it here.
3887 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3888 {
3889 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3890 {
3891 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003892 "[%d > %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003893 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003894 (int)pRegEntry->VarMax,
3895 (int)pRegEntry->VarDefault );
3896 svalue = (v_S31_t)pRegEntry->VarDefault;
3897 }
3898
3899 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3900 {
3901 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003902 "[%d < %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003903 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003904 (int)pRegEntry->VarMin,
3905 (int)pRegEntry->VarDefault);
3906 svalue = pRegEntry->VarDefault;
3907 }
3908 }
3909
3910 // Move the variable into the output field.
3911 memcpy( pField, &svalue, pRegEntry->VarSize );
3912 }
3913 // Handle string parameters
3914 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3915 {
3916#ifdef WLAN_CFG_DEBUG
Arif Hussain6d2a3322013-11-17 19:50:10 -08003917 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "RegName = %s, VarOffset %u VarSize %u VarDefault %s",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003918 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003919#endif
3920
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003921 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003922 {
3923 len_value_str = strlen(value_str);
3924
3925 if(len_value_str > (pRegEntry->VarSize - 1)) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003926 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003927 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003928 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3929 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3930 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3931 }
3932 else
3933 {
3934 memcpy( pField, (void *)(value_str), len_value_str);
3935 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3936 }
3937 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003938 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003939 {
3940 // Failed to read the string parameter from the registry. Use the default.
3941 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3942 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003943 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003944 }
3945 }
3946 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3947 {
3948 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003949 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003950 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003951 continue;
3952 }
3953 candidate = (char*)pRegEntry->VarDefault;
3954 if ( match_status == VOS_STATUS_SUCCESS) {
3955 len_value_str = strlen(value_str);
3956 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003957 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003958 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003959 }
3960 else
3961 candidate = value_str;
3962 }
3963 //parse the string and store it in the byte array
3964 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3965 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003966 ((char*)pField)[i] =
3967 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003968 }
3969 }
3970 else
3971 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003972 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003973 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003974 }
3975
3976 // did we successfully parse a cfg item for this parameter?
3977 if( (match_status == VOS_STATUS_SUCCESS) &&
3978 (idx < MAX_CFG_INI_ITEMS) )
3979 {
3980 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3981 }
3982 }
3983
3984 print_hdd_cfg(pHddCtx);
3985
3986 return( ret_status );
3987}
3988
3989eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3990{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003991 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003992 {
3993 case (eHDD_DOT11_MODE_abg):
3994 return eCSR_DOT11_MODE_abg;
3995 case (eHDD_DOT11_MODE_11b):
3996 return eCSR_DOT11_MODE_11b;
3997 case (eHDD_DOT11_MODE_11g):
3998 return eCSR_DOT11_MODE_11g;
3999 default:
4000 case (eHDD_DOT11_MODE_11n):
4001 return eCSR_DOT11_MODE_11n;
4002 case (eHDD_DOT11_MODE_11g_ONLY):
4003 return eCSR_DOT11_MODE_11g_ONLY;
4004 case (eHDD_DOT11_MODE_11n_ONLY):
4005 return eCSR_DOT11_MODE_11n_ONLY;
4006 case (eHDD_DOT11_MODE_11b_ONLY):
4007 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07004008#ifdef WLAN_FEATURE_11AC
4009 case (eHDD_DOT11_MODE_11ac_ONLY):
4010 return eCSR_DOT11_MODE_11ac_ONLY;
4011 case (eHDD_DOT11_MODE_11ac):
4012 return eCSR_DOT11_MODE_11ac;
4013#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004014 case (eHDD_DOT11_MODE_AUTO):
4015 return eCSR_DOT11_MODE_AUTO;
4016 }
4017
4018}
4019
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004020static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07004021{
4022 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4023 tSmeBtcConfig btcParams;
Wilson Tsaof8b37942013-09-06 10:49:00 -07004024 int i;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004025
Jeff Johnson295189b2012-06-20 16:38:30 -07004026 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
4027
4028 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07004029 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07004030 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
4031
Jeff Johnson32d95a32012-09-10 13:15:23 -07004032 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
4033 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
4034 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
4035 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
4036 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
4037 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
4038 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
4039 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
4040 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
4041 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
4042 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
4043 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
4044 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
4045
Wilson Tsaof8b37942013-09-06 10:49:00 -07004046 for (i = 0; i < 10; i++)
4047 {
4048 btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i];
4049 btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i];
4050 btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i];
4051 btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i];
4052 }
4053 for (i = 0; i < 6; i++)
4054 {
4055 btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i];
4056 }
4057 btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff;
4058 btcParams.SARPowerBackoff = pConfig->SARPowerBackoff;
4059
Jeff Johnson295189b2012-06-20 16:38:30 -07004060 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
4061}
4062
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004063static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07004064{
4065 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4066
4067 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004068
Jeff Johnson295189b2012-06-20 16:38:30 -07004069 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004070
Jeff Johnson295189b2012-06-20 16:38:30 -07004071 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
4072 {
4073 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
4074 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
4075 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
4076 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
4077 }
4078 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
4079 {
4080 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
4081 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
4082 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
4083 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
4084 }
4085 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
4086 {
4087 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
4088 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
4089 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
4090 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
4091 }
4092
4093 if (pConfig->fIsImpsEnabled)
4094 {
4095 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
4096 }
4097 else
4098 {
4099 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
4100 }
4101
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05304102 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
4103 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
4104 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
4105
Jeff Johnson295189b2012-06-20 16:38:30 -07004106 if (pConfig->fIsBmpsEnabled)
4107 {
4108 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
4109 }
4110 else
4111 {
4112 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
4113 }
4114
4115 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
4116
4117 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
4118 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08004119 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params");
Jeff Johnson295189b2012-06-20 16:38:30 -07004120 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004121
Jeff Johnson295189b2012-06-20 16:38:30 -07004122 if(pConfig->fIsAutoBmpsTimerEnabled)
4123 {
4124 sme_StartAutoBmpsTimer(pHddCtx->hHal);
4125 }
4126
4127}
4128
4129#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4130static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
4131{
4132 char *s = str;
4133
4134 if( str == NULL || intArray == NULL || len == NULL )
4135 {
4136 return VOS_STATUS_E_INVAL;
4137 }
4138 *len = 0;
4139
Jeff Johnson295189b2012-06-20 16:38:30 -07004140 while ( (s != NULL) && (*len < intArrayMaxLen) )
4141 {
4142 int val;
4143 //Increment length only if sscanf succesfully extracted one element.
4144 //Any other return value means error. Ignore it.
4145 if( sscanf(s, "%d", &val ) == 1 )
4146 {
4147 intArray[*len] = (tANI_U8) val;
4148 *len += 1;
4149 }
4150 s = strpbrk( s, "," );
4151 if( s )
4152 s++;
4153 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004154
4155 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004156
Jeff Johnson295189b2012-06-20 16:38:30 -07004157}
4158#endif
4159
4160
4161v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
4162{
4163 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004164#ifdef WLAN_SOFTAP_VSTA_FEATURE
4165 tANI_U32 val;
4166#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004167
4168 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Yue Maed390e72014-04-23 15:46:45 -07004169 tSirMacHTCapabilityInfo *htCapInfo;
4170 tANI_U32 temp32;
4171 tANI_U16 temp16;
Jeff Johnson295189b2012-06-20 16:38:30 -07004172
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004173 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004174 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4175 {
4176 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004177 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004178 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004179
4180 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004181 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4182 {
4183 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004184 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004185 }
4186
4187 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
4188 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4189 {
4190 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004191 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004192 }
4193
4194 if ( 0 != pConfig->Cfg1Id )
4195 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004196 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07004197 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4198 {
4199 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004200 hddLog(LOGE, "Could not pass on Cfg1Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004201 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004202
Jeff Johnson295189b2012-06-20 16:38:30 -07004203 }
4204
4205 if ( 0 != pConfig->Cfg2Id )
4206 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004207 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004208 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4209 {
4210 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004211 hddLog(LOGE, "Could not pass on Cfg2Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004212 }
4213 }
4214
4215 if ( 0 != pConfig->Cfg3Id )
4216 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004217 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004218 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4219 {
4220 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004221 hddLog(LOGE, "Could not pass on Cfg3Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004222 }
4223 }
4224
4225 if ( 0 != pConfig->Cfg4Id )
4226 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004227 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004228 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4229 {
4230 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004231 hddLog(LOGE, "Could not pass on Cfg4Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004232 }
4233 }
4234
4235 if ( 0 != pConfig->Cfg5Id )
4236 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004237 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004238 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4239 {
4240 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004241 hddLog(LOGE, "Could not pass on Cfg5Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004242 }
4243 }
4244
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004245 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07004246 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4247 {
4248 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004249 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004250 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004251
4252 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07004253 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4254 {
4255 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004256 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004257 }
4258
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004259 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07004260 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4261 {
4262 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004263 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004264 }
4265
4266 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
4267 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4268 {
4269 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004270 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004271 }
4272
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004273 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07004274 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004275 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07004276 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4277 {
4278 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004279 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004280 }
4281 }
4282 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004283 {
Jeff Johnson295189b2012-06-20 16:38:30 -07004284 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
4285 {
4286 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
Arif Hussain24bafea2013-11-15 15:10:03 -08004287 "MAC Addr (IBSS BSSID) read from Registry is: " MAC_ADDRESS_STR,
4288 MAC_ADDR_ARRAY(pConfig->IbssBssid.bytes));
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004289 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07004290 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4291 {
4292 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004293 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004294 }
4295 }
4296 else
4297 {
4298 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004299 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004300 }
4301 }
4302
Naresh Jayaram3df09eb2013-12-18 17:39:04 +05304303 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME,
4304 pConfig->nPassiveMinChnTime, NULL,
4305 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4306 {
4307 fStatus = FALSE;
4308 hddLog(LOGE, "Could not pass on WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME"
4309 " to CCM\n");
4310 }
4311
4312 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME,
4313 pConfig->nPassiveMaxChnTime, NULL,
4314 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4315 {
4316 fStatus = FALSE;
4317 hddLog(LOGE, "Could not pass on WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME"
4318 " to CCM\n");
4319 }
4320
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004321 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004322 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4323 {
4324 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004325 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004326 }
4327
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004328 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07004329 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4330 {
4331 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004332 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004333 }
4334
4335 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4336 {
4337 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004338 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004339 }
4340
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004341 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07004342 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4343 {
4344 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004345 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL");
Jeff Johnson295189b2012-06-20 16:38:30 -07004346 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004347
Jeff Johnson295189b2012-06-20 16:38:30 -07004348 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
4349 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4350 {
4351 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004352 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004353 }
4354
Jeff Johnson295189b2012-06-20 16:38:30 -07004355 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
4356 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4357 {
4358 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004359 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004360 }
4361
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004362 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07004363 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4364 {
4365 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004366 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004367 }
4368
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004369 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07004370 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4371 {
4372 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004373 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004374 }
4375
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004376 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07004377 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4378 {
4379 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004380 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004381 }
4382
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004383 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07004384 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4385 {
4386 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004387 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004388 }
4389
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004390 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07004391 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4392 {
4393 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004394 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004395 }
4396
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004397 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07004398 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4399 {
4400 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004401 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004402 }
4403
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004404 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07004405 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4406 {
4407 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004408 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004409 }
4410
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004411 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004412 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4413 {
4414 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004415 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004416 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004417
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004418 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004419 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4420 {
4421 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004422 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004423 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004424
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304425 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
4426 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4427 {
4428 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004429 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM");
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304430 }
4431
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304432 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
4433 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4434 {
4435 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004436 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM");
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304437 }
4438
4439
Jeff Johnson295189b2012-06-20 16:38:30 -07004440#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004441 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07004442 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4443 {
4444 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004445 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004446 }
4447
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004448 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004449 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4450 {
4451 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004452 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004453 }
4454
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004455 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004456 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4457 {
4458 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004459 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004460 }
4461
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004462 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07004463 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4464#endif
4465
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004466 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07004467 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4468 {
4469 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004470 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004471 }
4472
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004473 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07004474 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4475 {
4476 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004477 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004478 }
4479
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004480 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004481 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4482 {
4483 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004484 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004485 }
4486
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004487 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004488 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4489 {
4490 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004491 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004492 }
4493
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004494 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004495 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4496 {
4497 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004498 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004499 }
4500
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004501 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004502 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4503 {
4504 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004505 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004506 }
4507
4508 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
4509 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4510 {
4511 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004512 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004513 }
4514
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004515 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004516 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4517 {
4518 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004519 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004520 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004521 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07004522 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4523 {
4524 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004525 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004526 }
4527
4528 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
4529 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4530 {
4531 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004532 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_NULLDATA_DELAY_TIMEOUT configuration info to CCM" );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004533 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004534
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004535 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07004536 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004537 {
4538 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004539 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM" );
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004540 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004541 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004542 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4543 {
4544 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004545 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004546 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004547 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004548 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4549 {
4550 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004551 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004552 }
4553
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004554 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07004555 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4556 {
4557 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004558 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004559 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004560 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07004561 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4562 {
4563 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004564 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004565 }
4566
Jeff Johnson295189b2012-06-20 16:38:30 -07004567 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
4568 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4569 {
4570 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004571 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004572 }
4573
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004574 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07004575 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
4576 ==eHAL_STATUS_FAILURE)
4577 {
4578 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004579 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004580 }
4581
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004582 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07004583 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
4584 ==eHAL_STATUS_FAILURE)
4585 {
4586 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004587 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004588 }
4589
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004590 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004591 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4592 {
4593 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004594 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004595 }
4596
Jeff Johnsond13512a2012-07-17 11:42:19 -07004597
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004598 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07004599 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4600 {
4601 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004602 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM");
Jeff Johnsond13512a2012-07-17 11:42:19 -07004603 }
4604
Jeff Johnsone7245742012-09-05 17:12:55 -07004605#ifdef WLAN_FEATURE_11AC
4606 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
4607 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
4608 /* we update only the least significant 2 bits in the corresponding fields */
4609 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
4610 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
4611 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
4612 {
4613 {
4614 tANI_U32 temp = 0;
4615
4616 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004617 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004618
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004619 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07004620 temp, NULL, eANI_BOOLEAN_FALSE)
4621 ==eHAL_STATUS_FAILURE)
4622 {
4623 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004624 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004625 }
4626
4627 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004628 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004629
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004630 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004631 temp, NULL, eANI_BOOLEAN_FALSE)
4632 ==eHAL_STATUS_FAILURE)
4633 {
4634 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004635 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004636 }
4637
4638 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004639 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004640
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004641 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004642 temp, NULL, eANI_BOOLEAN_FALSE)
4643 ==eHAL_STATUS_FAILURE)
4644 {
4645 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004646 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004647 }
Praveen Kumar Sirisilla4cf7d262013-12-04 17:22:53 -08004648 /* Currently shortGI40Mhz is used for shortGI80Mhz */
4649 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_SHORT_GI_80MHZ,
4650 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)
4651 == eHAL_STATUS_FAILURE)
4652 {
4653 fStatus = FALSE;
4654 hddLog(LOGE, "Could not pass WNI_VHT_SHORT_GI_80MHZ to CCM\n");
4655 }
Abhishek Singhaa63bf22014-10-30 17:09:45 +05304656 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_AMPDU_LEN_EXPONENT,
4657 pConfig->gVhtMaxAmpduLenExp, NULL, eANI_BOOLEAN_FALSE)
4658 ==eHAL_STATUS_FAILURE)
4659 {
4660 fStatus = FALSE;
4661 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_AMPDU_LEN_EXPONENT to CCM");
4662 }
4663
Jeff Johnsone7245742012-09-05 17:12:55 -07004664 }
4665 }
4666#endif
4667
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004668 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004669 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4670 {
4671 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004672 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM");
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004673 }
4674
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004675 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304676 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4677 ==eHAL_STATUS_FAILURE)
4678 {
4679 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004680 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304681 }
4682
Yue Maed390e72014-04-23 15:46:45 -07004683 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, &temp32);
4684 temp16 = temp32 & 0xffff;
4685 htCapInfo = (tSirMacHTCapabilityInfo *)&temp16;
4686 htCapInfo->rxSTBC = pConfig->enableRxSTBC;
4687 temp32 = temp16;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304688
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004689 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Yue Maed390e72014-04-23 15:46:45 -07004690 temp32, NULL, eANI_BOOLEAN_FALSE)
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304691 ==eHAL_STATUS_FAILURE)
4692 {
4693 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004694 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304695 }
4696
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004697 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304698 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4699 ==eHAL_STATUS_FAILURE)
4700 {
4701 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004702 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304703 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004704
4705#ifdef WLAN_SOFTAP_VSTA_FEATURE
4706 if(pConfig->fEnableVSTASupport)
4707 {
4708 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
4709 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
4710 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
4711 }
4712 else
4713 {
4714 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
4715 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004716 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004717 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4718 {
4719 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004720 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM" );
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004721 }
4722#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004723 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004724 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
4725 ==eHAL_STATUS_FAILURE)
4726 {
4727 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004728 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM");
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004729 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304730
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004731 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
4732 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4733 {
4734 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004735 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM");
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004736 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004737 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
4738 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4739 {
4740 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004741 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 -08004742 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004743
4744 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
4745 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4746 {
4747 fStatus = FALSE;
4748 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
4749 }
4750
4751 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
4752 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4753 {
4754 fStatus = FALSE;
4755 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
4756 }
4757
4758 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
4759 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4760 {
4761 fStatus = FALSE;
4762 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
4763 }
4764
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05304765 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
4766 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4767 {
4768 fStatus = FALSE;
4769 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
4770 }
4771
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304772#ifdef FEATURE_WLAN_TDLS
4773
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004774 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
4775 pConfig->fTDLSUapsdMask, NULL,
4776 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304777 {
4778 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004779 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304780 }
Pradeep Reddy POTTETIedaeb5f2014-05-22 23:34:41 +05304781
4782 if (TRUE == pConfig->fEnableTDLSScanCoexSupport)
4783 {
4784 /* TDLSScanCoexistance feature is supported when the DUT acts as only
4785 * the Sleep STA and hence explicitly disable the BufferSta capability
4786 * on the DUT. DUT's Buffer STA capability is explicitly disabled to
4787 * ensure that the TDLS peer shall not go to TDLS power save mode.
4788 */
4789 pConfig->fEnableTDLSBufferSta = FALSE;
4790 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004791 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
4792 pConfig->fEnableTDLSBufferSta, NULL,
4793 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304794 {
4795 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004796 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304797 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004798 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
4799 pConfig->fTDLSPuapsdInactivityTimer, NULL,
4800 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304801 {
4802 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004803 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304804 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004805 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
4806 pConfig->fTDLSRxFrameThreshold, NULL,
4807 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304808 {
4809 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004810 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304811 }
Naresh Jayaramf73f3762014-02-04 16:13:20 +05304812
4813 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_OFF_CHANNEL_ENABLED,
4814 pConfig->fEnableTDLSOffChannel, NULL,
4815 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4816 {
4817 fStatus = FALSE;
4818 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM\n");
4819 }
4820
Pradeep Reddy POTTETIa9c80d52014-05-09 18:05:29 +05304821 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_WMM_MODE_ENABLED,
4822 pConfig->fEnableTDLSWmmMode, NULL,
4823 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4824 {
4825 fStatus = FALSE;
4826 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_WMM_MODE_ENABLED to CCM\n");
4827 }
4828
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304829#endif
4830
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004831 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
4832 pConfig->fEnableAdaptRxDrain, NULL,
4833 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4834 {
4835 fStatus = FALSE;
4836 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
4837 }
Yue Ma0fd23872013-08-01 15:56:47 -07004838
4839 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
4840 pConfig->flexConnectPowerFactor, NULL,
4841 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4842 {
4843 fStatus = FALSE;
4844 hddLog(LOGE, "Failure: Could not pass on "
4845 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
4846 }
4847
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05304848 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
4849 pConfig->antennaDiversity, NULL,
4850 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4851 {
4852 fStatus = FALSE;
4853 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
4854 }
4855
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05304856 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ATH_DISABLE,
4857 pConfig->cfgAthDisable, NULL,
4858 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4859 {
4860 fStatus = FALSE;
4861 hddLog(LOGE, "Could not pass on WNI_CFG_ATH_DISABLE to CCM");
4862 }
c_hpothu6d7dc922013-12-02 12:36:41 +05304863
4864 if (ccmCfgSetInt(pHddCtx->hHal,
4865 WNI_CFG_BTC_ACTIVE_WLAN_LEN,
4866 pConfig->cfgBtcActiveWlanLen,
4867 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4868 {
4869 fStatus = FALSE;
4870 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4871 }
4872
4873 if (ccmCfgSetInt(pHddCtx->hHal,
4874 WNI_CFG_BTC_ACTIVE_BT_LEN,
4875 pConfig->cfgBtcActiveBtLen,
4876 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4877 {
4878 fStatus = FALSE;
4879 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4880 }
4881
4882 if (ccmCfgSetInt(pHddCtx->hHal,
4883 WNI_CFG_BTC_SAP_ACTIVE_WLAN_LEN,
4884 pConfig->cfgBtcSapActiveWlanLen,
4885 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4886 {
4887 fStatus = FALSE;
4888 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4889 }
4890
4891 if (ccmCfgSetInt(pHddCtx->hHal,
4892 WNI_CFG_BTC_SAP_ACTIVE_BT_LEN,
4893 pConfig->cfgBtcSapActiveBtLen,
4894 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4895 {
4896 fStatus = FALSE;
4897 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4898 }
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05304899
4900 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_PROBE_INTERVAL,
4901 pConfig->gAsdProbeInterval, NULL,
4902 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4903 {
4904 fStatus = FALSE;
4905 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_PROBE_INTERVAL to CCM");
4906 }
4907
4908 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_TRIGGER_THRESHOLD,
4909 pConfig->gAsdTriggerThreshold, NULL,
4910 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4911 {
4912 fStatus = FALSE;
4913 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_TRIGGER_THRESHOLD to CCM");
4914 }
4915
4916 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD,
4917 pConfig->gAsdRTTRssiHystThreshold, NULL,
4918 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4919 {
4920 fStatus = FALSE;
4921 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_RSSI_HYST_THRESHOLD to CCM");
4922 }
Leela Venkata Kiran Kumar Reddy Chirala22c159b2013-12-23 18:19:13 -08004923
4924 if (ccmCfgSetInt(pHddCtx->hHal,
4925 WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL,
4926 pConfig->debugP2pRemainOnChannel,
4927 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4928 {
4929 fStatus = FALSE;
4930 hddLog(LOGE,
4931 "Could not pass on WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL to CCM");
4932 }
4933
4934 if (ccmCfgSetInt(pHddCtx->hHal,
4935 WNI_CFG_BTC_CTS2S_DURING_SCO,
4936 pConfig->cfgBtcCTS2SduringSCO,
4937 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4938 {
4939 fStatus = FALSE;
4940 hddLog(LOGE, "Could not pass on WNI_CFG_BTC_CTS2S_DURING_SCO to CCM");
4941 }
Abhishek Singh8280c4e2014-02-18 13:26:34 +05304942
4943 if(ccmCfgSetInt(pHddCtx->hHal,
4944 WNI_CFG_DEFAULT_RATE_INDEX_24GHZ,
4945 defHddRateToDefCfgRate(pConfig->defaultRateIndex24Ghz),
4946 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4947 {
4948 fStatus = FALSE;
4949 hddLog(LOGE, "Could not pass on WNI_CFG_DEFAULT_RATE_INDEX_24GHZ to"
4950 " CCM\n");
4951 }
c_hpothu5bd1ae42014-03-07 20:28:22 +05304952
4953 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RA_FILTER_ENABLE, pConfig->cfgRAFilterEnable,
4954 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4955 {
4956 fStatus = FALSE;
4957 hddLog(LOGE, "Could not pass on WNI_CFG_RA_FILTER_ENABLE to CCM");
4958 }
4959
4960 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RA_RATE_LIMIT_INTERVAL, pConfig->cfgRARateLimitInterval,
4961 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4962 {
4963 fStatus = FALSE;
4964 hddLog(LOGE, "Could not pass on WNI_CFG_RA_FILTER_ENABLE to CCM");
4965 }
4966
c_hpothu2d0f1c42014-04-01 18:38:51 +05304967 if (ccmCfgSetInt(pHddCtx->hHal,
4968 WNI_CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE,
4969 pConfig->cfgBtcFatalHidnSniffBlkGuidance,
4970 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4971 {
4972 fStatus = FALSE;
4973 hddLog(LOGE, "Could not pass on"
4974 "WNI_CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE to CCM");
4975 }
4976
4977 if (ccmCfgSetInt(pHddCtx->hHal,
4978 WNI_CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE,
4979 pConfig->cfgBtcCriticalHidnSniffBlkGuidance,
4980 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4981 {
4982 fStatus = FALSE;
4983 hddLog(LOGE, "Could not pass on"
4984 "WNI_CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE to CCM");
4985 }
4986
4987 if (ccmCfgSetInt(pHddCtx->hHal,
4988 WNI_CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD,
4989 pConfig->cfgBtcA2dpTxQueueThold,
4990 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4991 {
4992 fStatus = FALSE;
4993 hddLog(LOGE, "Could not pass on"
4994 "WNI_CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD to CCM");
4995 }
4996
4997 if (ccmCfgSetInt(pHddCtx->hHal,
4998 WNI_CFG_BTC_DYN_OPP_TX_QUEUE_THOLD,
4999 pConfig->cfgBtcOppTxQueueThold,
5000 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5001 {
5002 fStatus = FALSE;
5003 hddLog(LOGE, "Could not pass on"
5004 "WNI_CFG_BTC_DYN_OPP_TX_QUEUE_THOLD to CCM");
5005 }
5006
Chet Lanctotfadc8e32014-04-24 14:50:52 -07005007#ifdef WLAN_FEATURE_11W
5008 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PMF_SA_QUERY_MAX_RETRIES,
5009 pConfig->pmfSaQueryMaxRetries, NULL,
5010 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5011 {
5012 fStatus = FALSE;
5013 hddLog(LOGE, "Could not pass on WNI_CFG_SA_QUERY_MAX_RETRIES to CCM");
5014 }
5015
5016 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PMF_SA_QUERY_RETRY_INTERVAL,
5017 pConfig->pmfSaQueryRetryInterval, NULL,
5018 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5019 {
5020 fStatus = FALSE;
5021 hddLog(LOGE, "Could not pass on WNI_CFG_SA_QUERY_RETRY_INTERVAL to CCM");
5022 }
5023#endif
Mihir Shetec34258c2014-07-30 17:50:27 +05305024 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_CONSEC_SP,
5025 pConfig->maxUapsdConsecSP, NULL,
5026 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5027 {
5028 fStatus = FALSE;
5029 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_CONSEC_SP");
5030 }
5031
5032 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_CONSEC_RX_CNT,
5033 pConfig->maxUapsdConsecRxCnt, NULL,
5034 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5035 {
5036 fStatus = FALSE;
5037 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_CONSEC_RX_CNT");
5038 }
5039
5040 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_CONSEC_TX_CNT,
5041 pConfig->maxUapsdConsecTxCnt, NULL,
5042 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5043 {
5044 fStatus = FALSE;
5045 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_CONSEC_TX_CNT");
5046 }
5047
5048 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW,
5049 pConfig->uapsdConsecTxCntMeasWindow, NULL,
5050 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5051 {
5052 fStatus = FALSE;
5053 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_CONSEC_TX_CNT_MEAS_WINDOW");
5054 }
5055
5056 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW,
5057 pConfig->uapsdConsecRxCntMeasWindow, NULL,
5058 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5059 {
5060 fStatus = FALSE;
5061 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_CONSEC_RX_CNT_MEAS_WINDOW");
5062 }
5063
5064 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PSPOLL_IN_WMM_UAPSD_PS_MODE,
5065 pConfig->maxPsPollInWmmUapsdMode, NULL,
5066 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5067 {
5068 fStatus = FALSE;
5069 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PSPOLL_IN_WMM_UAPSD_PS_MODE");
5070 }
5071
5072 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_UAPSD_INACTIVITY_INTERVALS,
5073 pConfig->maxUapsdInactivityIntervals, NULL,
5074 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5075 {
5076 fStatus = FALSE;
5077 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_UAPSD_INACTIVITY_INTERVALS");
5078 }
5079
5080 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_DYNAMIC_WMMPS,
5081 pConfig->enableDynamicWMMPS, NULL,
5082 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5083 {
5084 fStatus = FALSE;
5085 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_DYNAMIC_WMMPS");
5086 }
Chet Lanctotfadc8e32014-04-24 14:50:52 -07005087
c_hpothu03d961b2014-09-19 16:45:00 +05305088 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BURST_MODE_BE_TXOP_VALUE,
5089 pConfig->burstModeTXOPValue, NULL,
5090 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5091 {
5092 fStatus = FALSE;
5093 hddLog(LOGE, "Could not pass on WNI_CFG_BURST_MODE_BE_TXOP_VALUE ");
5094 }
Deepthi Gowri9025aa62014-11-07 19:45:36 +05305095
5096 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_DYNAMIC_RA_START_RATE,
5097 pConfig->enableDynamicRAStartRate,
5098 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
5099 {
5100 fStatus = FALSE;
5101 hddLog(LOGE, "Could not pass on"
5102 "WNI_CFG_ENABLE_DYNAMIC_RA_START_RATE to CCM");
5103 }
Jeff Johnson295189b2012-06-20 16:38:30 -07005104 return fStatus;
5105}
5106
5107
5108/**---------------------------------------------------------------------------
5109
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005110 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07005111
5112 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005113
Jeff Johnson295189b2012-06-20 16:38:30 -07005114 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005115
Jeff Johnson295189b2012-06-20 16:38:30 -07005116 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005117
Jeff Johnson295189b2012-06-20 16:38:30 -07005118 --------------------------------------------------------------------------*/
5119
5120VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
5121{
5122 VOS_STATUS status = VOS_STATUS_SUCCESS;
5123 eHalStatus halStatus;
Mukul Sharma20aa6582014-08-07 21:36:12 +05305124 tpSmeConfigParams smeConfig;
Jeff Johnson295189b2012-06-20 16:38:30 -07005125
5126 hdd_config_t *pConfig = pHddCtx->cfg_ini;
5127
Mukul Sharma20aa6582014-08-07 21:36:12 +05305128 smeConfig = vos_mem_malloc(sizeof(tSmeConfigParams));
5129 if (NULL == smeConfig)
5130 {
5131 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, "%s smeConfig allocation failed",__func__);
5132 return eHAL_STATUS_FAILED_ALLOC;
5133 }
Mukul Sharmaa631e892014-08-28 15:38:51 +05305134 vos_mem_zero( smeConfig, sizeof( tSmeConfigParams ) );
Jeff Johnson295189b2012-06-20 16:38:30 -07005135
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005136 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussain6d2a3322013-11-17 19:50:10 -08005137 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07005138 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
5139
5140 // Config params obtained from the registry
Amar Singhalfddc28c2013-09-05 13:03:40 -07005141
Mukul Sharma20aa6582014-08-07 21:36:12 +05305142 smeConfig->csrConfig.RTSThreshold = pConfig->RTSThreshold;
5143 smeConfig->csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
5144 smeConfig->csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
5145 smeConfig->csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
5146 smeConfig->csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
Jeff Johnson295189b2012-06-20 16:38:30 -07005147
Mukul Sharma20aa6582014-08-07 21:36:12 +05305148 smeConfig->csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
Jeff Johnson295189b2012-06-20 16:38:30 -07005149
Leela Venkata Kiran Kumar Reddy Chirala784d7e82013-11-20 10:57:25 -08005150 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_abg) ||
5151 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b) ||
5152 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g) ||
5153 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b_ONLY) ||
5154 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g_ONLY))
5155 {
Mukul Sharma20aa6582014-08-07 21:36:12 +05305156 smeConfig->csrConfig.channelBondingMode24GHz = 0;
5157 smeConfig->csrConfig.channelBondingMode5GHz = 0;
Leela Venkata Kiran Kumar Reddy Chirala784d7e82013-11-20 10:57:25 -08005158 }
5159 else
5160 {
Mukul Sharma20aa6582014-08-07 21:36:12 +05305161 smeConfig->csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
5162 smeConfig->csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
Leela Venkata Kiran Kumar Reddy Chirala784d7e82013-11-20 10:57:25 -08005163 }
Mukul Sharma20aa6582014-08-07 21:36:12 +05305164 smeConfig->csrConfig.TxRate = pConfig->TxRate;
5165 smeConfig->csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
5166 smeConfig->csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
5167 smeConfig->csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
5168 smeConfig->csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
5169 smeConfig->csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
5170 smeConfig->csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
5171 smeConfig->csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
5172 smeConfig->csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
5173 smeConfig->csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
5174 smeConfig->csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
5175 smeConfig->csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
5176 smeConfig->csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
5177 smeConfig->csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
5178 smeConfig->csrConfig.nRoamingTime = pConfig->nRoamingTime;
5179 smeConfig->csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
5180 smeConfig->csrConfig.nInitialDwellTime = pConfig->nInitialDwellTime;
5181 smeConfig->csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
5182 smeConfig->csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
5183 smeConfig->csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
5184 smeConfig->csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
5185 smeConfig->csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
5186 smeConfig->csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
5187 smeConfig->csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07005188#ifdef WLAN_AP_STA_CONCURRENCY
Mukul Sharma20aa6582014-08-07 21:36:12 +05305189 smeConfig->csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
5190 smeConfig->csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
5191 smeConfig->csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
5192 smeConfig->csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
5193 smeConfig->csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
5194 smeConfig->csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
5195 smeConfig->csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07005196
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07005197#endif
Mukul Sharma20aa6582014-08-07 21:36:12 +05305198 smeConfig->csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
5199 smeConfig->csrConfig.WMMSupportMode = pConfig->WmmMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07005200
5201#if defined WLAN_FEATURE_VOWIFI
Mukul Sharma20aa6582014-08-07 21:36:12 +05305202 smeConfig->rrmConfig.rrmEnabled = pConfig->fRrmEnable;
5203 smeConfig->rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
Jeff Johnson295189b2012-06-20 16:38:30 -07005204#endif
5205 //Remaining config params not obtained from registry
5206 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07005207#ifdef WLAN_FEATURE_11AC
Mukul Sharma20aa6582014-08-07 21:36:12 +05305208 smeConfig->csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
5209 smeConfig->csrConfig.enableTxBF = pConfig->enableTxBF;
5210 smeConfig->csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
5211 smeConfig->csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Abhishek Singh6d5d29c2014-07-03 14:25:22 +05305212 /* Consider Mu-beamformee only if SU-beamformee is enabled */
5213 if ( pConfig->enableTxBF )
Mukul Sharma20aa6582014-08-07 21:36:12 +05305214 smeConfig->csrConfig.enableMuBformee = pConfig->enableMuBformee;
Abhishek Singh6d5d29c2014-07-03 14:25:22 +05305215 else
Mukul Sharma20aa6582014-08-07 21:36:12 +05305216 smeConfig->csrConfig.enableMuBformee = 0;
Jeff Johnsone7245742012-09-05 17:12:55 -07005217#endif
Mukul Sharma20aa6582014-08-07 21:36:12 +05305218 smeConfig->csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
5219 smeConfig->csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
5220 smeConfig->csrConfig.ProprietaryRatesEnabled = 0;
5221 smeConfig->csrConfig.HeartbeatThresh50 = 40;
5222 smeConfig->csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08005223 if (pConfig->nBandCapability == eCSR_BAND_24)
5224 {
Mukul Sharma20aa6582014-08-07 21:36:12 +05305225 smeConfig->csrConfig.Is11hSupportEnabled = 0;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08005226 } else {
Mukul Sharma20aa6582014-08-07 21:36:12 +05305227 smeConfig->csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08005228 }
Mukul Sharma20aa6582014-08-07 21:36:12 +05305229 smeConfig->csrConfig.cbChoice = 0;
5230 smeConfig->csrConfig.bgScanInterval = 0;
5231 smeConfig->csrConfig.eBand = pConfig->nBandCapability;
5232 smeConfig->csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
5233 smeConfig->csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
5234 smeConfig->csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005235#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Mukul Sharma20aa6582014-08-07 21:36:12 +05305236 smeConfig->csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
5237 smeConfig->csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
5238 smeConfig->csrConfig.nProbes = pConfig->nProbes;
5239 smeConfig->csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08005240#endif
Mukul Sharma20aa6582014-08-07 21:36:12 +05305241 smeConfig->csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
Jeff Johnsone7245742012-09-05 17:12:55 -07005242
Jeff Johnson295189b2012-06-20 16:38:30 -07005243 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08005244 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
5245 {
Mukul Sharma20aa6582014-08-07 21:36:12 +05305246 smeConfig->csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07005247
Jeff Johnson7dda7772013-02-27 08:36:13 -08005248 /* if there is a requirement that HDD will control the default
5249 * channel list & country code (say from .ini file) we need to
5250 * add some logic here. Otherwise the default 11d info should
5251 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07005252 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08005253 else
5254 {
5255 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
5256 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07005257
Jeff Johnson7dda7772013-02-27 08:36:13 -08005258 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
5259 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
Mukul Sharma20aa6582014-08-07 21:36:12 +05305260 sme_set11dinfo(pHddCtx->hHal, smeConfig);
Jeff Johnson7dda7772013-02-27 08:36:13 -08005261 }
Mukul Sharma20aa6582014-08-07 21:36:12 +05305262 hdd_set_power_save_config(pHddCtx, smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07005263 hdd_set_btc_config(pHddCtx);
5264
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005265#ifdef WLAN_FEATURE_VOWIFI_11R
Mukul Sharma20aa6582014-08-07 21:36:12 +05305266 smeConfig->csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
Jeff Johnson295189b2012-06-20 16:38:30 -07005267#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07005268#ifdef FEATURE_WLAN_LFR
Mukul Sharma20aa6582014-08-07 21:36:12 +05305269 smeConfig->csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
5270 smeConfig->csrConfig.MAWCEnabled = pConfig->MAWCEnabled;
Jeff Johnson04dd8a82012-06-29 20:41:40 -07005271#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005272#ifdef FEATURE_WLAN_ESE
Mukul Sharma20aa6582014-08-07 21:36:12 +05305273 smeConfig->csrConfig.isEseIniFeatureEnabled = pConfig->isEseIniFeatureEnabled;
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005274 if( pConfig->isEseIniFeatureEnabled )
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08005275 {
5276 pConfig->isFastTransitionEnabled = TRUE;
5277 }
Jeff Johnson295189b2012-06-20 16:38:30 -07005278#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005279#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Mukul Sharma20aa6582014-08-07 21:36:12 +05305280 smeConfig->csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
5281 smeConfig->csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
5282 smeConfig->csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
5283 smeConfig->csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07005284#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005285#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Mukul Sharma20aa6582014-08-07 21:36:12 +05305286 smeConfig->csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
5287 smeConfig->csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07005288
Mukul Sharma20aa6582014-08-07 21:36:12 +05305289 if (0 == smeConfig->csrConfig.isRoamOffloadScanEnabled)
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07005290 {
5291 /* Disable roaming in concurrency if roam scan offload is disabled */
Mukul Sharma20aa6582014-08-07 21:36:12 +05305292 smeConfig->csrConfig.bFastRoamInConIniFeatureEnabled = 0;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07005293 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005294#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07005295#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Mukul Sharma20aa6582014-08-07 21:36:12 +05305296 smeConfig->csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
5297 smeConfig->csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
5298 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
5299 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
5300 smeConfig->csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
5301 smeConfig->csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
5302 smeConfig->csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
5303 smeConfig->csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Mukul Sharmad49b3d62014-09-02 01:45:32 +05305304 //Making Forced 5G roaming to tightly coupled with the gEnableFirstScan2GOnly=1 only.
5305 if(pConfig->enableFirstScan2GOnly)
5306 {
5307 smeConfig->csrConfig.neighborRoamConfig.nNeighborInitialForcedRoamTo5GhEnable = pConfig->nNeighborInitialForcedRoamTo5GhEnable;
5308 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005309 hdd_string_to_u8_array( pConfig->neighborScanChanList,
Mukul Sharma20aa6582014-08-07 21:36:12 +05305310 smeConfig->csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
5311 &smeConfig->csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07005312 WNI_CFG_VALID_CHANNEL_LIST_LEN );
5313#endif
5314
Mukul Sharma20aa6582014-08-07 21:36:12 +05305315 smeConfig->csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
5316 smeConfig->csrConfig.fValidateList = pConfig->fValidateScanList;
5317 smeConfig->csrConfig.allowDFSChannelRoam = pConfig->allowDFSChannelRoam;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005318 //Enable/Disable MCC
Mukul Sharma20aa6582014-08-07 21:36:12 +05305319 smeConfig->csrConfig.fEnableMCCMode = pConfig->enableMCC;
5320 smeConfig->csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07005321
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08005322 //Scan Results Aging Time out value
Mukul Sharma20aa6582014-08-07 21:36:12 +05305323 smeConfig->csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08005324
Mukul Sharma20aa6582014-08-07 21:36:12 +05305325 smeConfig->csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08005326
Mukul Sharma20aa6582014-08-07 21:36:12 +05305327 smeConfig->csrConfig.isAmsduSupportInAMPDU = pConfig->isAmsduSupportInAMPDU;
5328 smeConfig->csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin;
5329 smeConfig->csrConfig.initialScanSkipDFSCh = pConfig->initialScanSkipDFSCh;
krunal soni5afa96c2013-09-06 22:19:02 -07005330
Mukul Sharma20aa6582014-08-07 21:36:12 +05305331 smeConfig->csrConfig.isCoalesingInIBSSAllowed =
krunal sonie9002db2013-11-25 14:24:17 -08005332 pHddCtx->cfg_ini->isCoalesingInIBSSAllowed;
5333
5334
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07005335 /* update SSR config */
5336 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05305337 /* Update the Directed scan offload setting */
Mukul Sharma20aa6582014-08-07 21:36:12 +05305338 smeConfig->fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07005339
Peng Xufc6ad8e2014-09-25 13:16:43 +05305340 smeConfig->csrConfig.scanBandPreference =
5341 pHddCtx->cfg_ini->acsScanBandPreference;
Peng Xu2446a892014-09-05 17:21:18 +05305342
Mukul Sharma20aa6582014-08-07 21:36:12 +05305343 smeConfig->fEnableDebugLog = pHddCtx->cfg_ini->gEnableDebugLog;
5344 smeConfig->csrConfig.sendDeauthBeforeCon = pConfig->sendDeauthBeforeCon;
Tushnim Bhattacharyyaa3ba5a52014-01-30 11:37:33 -08005345
Mukul Sharma20aa6582014-08-07 21:36:12 +05305346 smeConfig->fDeferIMPSTime = pHddCtx->cfg_ini->deferImpsTime;
Rashmi Ramanna68b309c2014-05-20 11:52:22 +05305347
Mukul Sharma20aa6582014-08-07 21:36:12 +05305348 halStatus = sme_UpdateConfig( pHddCtx->hHal, smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07005349 if ( !HAL_STATUS_SUCCESS( halStatus ) )
5350 {
5351 status = VOS_STATUS_E_FAILURE;
c_hpothu6ff1c3c2013-10-01 19:01:57 +05305352 hddLog(LOGE, "sme_UpdateConfig() return failure %d", halStatus);
Jeff Johnson295189b2012-06-20 16:38:30 -07005353 }
5354
Mukul Sharma20aa6582014-08-07 21:36:12 +05305355 vos_mem_free(smeConfig);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005356 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07005357}
5358
5359
5360/**---------------------------------------------------------------------------
5361
5362 \brief hdd_execute_config_command() -
5363
5364 This function executes an arbitrary configuration set command
5365
5366 \param - pHddCtx - Pointer to the HDD Adapter.
5367 \parmm - command - a configuration command of the form:
5368 <name>=<value>
5369
5370 \return - 0 for success, non zero for failure
5371
5372 --------------------------------------------------------------------------*/
5373
5374VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
5375{
5376 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
5377 REG_TABLE_ENTRY *pRegEntry;
5378 char *clone;
5379 char *pCmd;
5380 void *pField;
5381 char *name;
5382 char *value_str;
5383 v_U32_t value;
5384 v_S31_t svalue;
5385 size_t len_value_str;
5386 unsigned int idx;
5387 unsigned int i;
5388 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005389 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07005390
5391 // assume failure until proven otherwise
5392 vstatus = VOS_STATUS_E_FAILURE;
5393
5394 // clone the command so that we can manipulate it
5395 clone = kstrdup(command, GFP_ATOMIC);
5396 if (NULL == clone)
5397 {
5398 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005399 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005400 return vstatus;
5401 }
5402
5403 // 'clone' will point to the beginning of the string so it can be freed
5404 // 'pCmd' will be used to walk/parse the command
5405 pCmd = clone;
5406
5407 // get rid of leading/trailing whitespace
5408 pCmd = i_trim(pCmd);
5409 if ('\0' == *pCmd)
5410 {
5411 // only whitespace
5412 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005413 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005414 goto done;
5415 }
5416
5417 // parse the <name> = <value>
5418 name = pCmd;
5419 while (('=' != *pCmd) && ('\0' != *pCmd))
5420 {
5421 pCmd++;
5422 }
5423 if ('\0' == *pCmd)
5424 {
5425 // did not find '='
5426 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005427 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005428 goto done;
5429 }
5430
5431 // replace '=' with NUL to terminate the <name>
5432 *pCmd++ = '\0';
5433 name = i_trim(name);
5434 if ('\0' == *name)
5435 {
5436 // did not find a name
5437 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005438 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005439 goto done;
5440 }
5441
5442 value_str = i_trim(pCmd);
5443 if ('\0' == *value_str)
5444 {
5445 // did not find a value
5446 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005447 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005448 goto done;
5449 }
5450
5451 // lookup the configuration item
5452 for (idx = 0; idx < tableSize; idx++)
5453 {
5454 if (0 == strcmp(name, g_registry_table[idx].RegName))
5455 {
5456 // found a match
5457 break;
5458 }
5459 }
5460 if (tableSize == idx)
5461 {
5462 // did not match the name
5463 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005464 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005465 goto done;
5466 }
5467
5468 pRegEntry = &g_registry_table[idx];
5469 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
5470 {
5471 // does not support dynamic configuration
5472 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005473 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07005474 goto done;
5475 }
5476
5477 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
5478
5479 switch (pRegEntry->RegType)
5480 {
5481 case WLAN_PARAM_Integer:
Jeff Johnson02797792013-10-26 19:17:13 -07005482 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005483 if (rv < 0)
5484 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07005485 if (value < pRegEntry->VarMin)
5486 {
5487 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005488 hddLog(LOGE, "%s: invalid command, value %u < min value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005489 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07005490 goto done;
5491 }
5492 if (value > pRegEntry->VarMax)
5493 {
5494 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005495 hddLog(LOGE, "%s: invalid command, value %u > max value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005496 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07005497 goto done;
5498 }
5499 memcpy(pField, &value, pRegEntry->VarSize);
5500 break;
5501
5502 case WLAN_PARAM_HexInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07005503 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005504 if (rv < 0)
5505 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07005506 if (value < pRegEntry->VarMin)
5507 {
5508 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005509 hddLog(LOGE, "%s: invalid command, value %x < min value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005510 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07005511 goto done;
5512 }
5513 if (value > pRegEntry->VarMax)
5514 {
5515 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005516 hddLog(LOGE, "%s: invalid command, value %x > max value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005517 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07005518 goto done;
5519 }
5520 memcpy(pField, &value, pRegEntry->VarSize);
5521 break;
5522
5523 case WLAN_PARAM_SignedInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07005524 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005525 if (rv < 0)
5526 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07005527 if (svalue < (v_S31_t)pRegEntry->VarMin)
5528 {
5529 // out of range
5530 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005531 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07005532 goto done;
5533 }
5534 if (svalue > (v_S31_t)pRegEntry->VarMax)
5535 {
5536 // out of range
5537 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005538 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07005539 goto done;
5540 }
5541 memcpy(pField, &svalue, pRegEntry->VarSize);
5542 break;
5543
5544 case WLAN_PARAM_String:
5545 len_value_str = strlen(value_str);
5546 if (len_value_str > (pRegEntry->VarSize - 1))
5547 {
5548 // too big
5549 hddLog(LOGE,
5550 "%s: invalid command, string [%s] length "
Jeff Johnson59a121e2013-11-30 09:46:08 -08005551 "%zu exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005552 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07005553 len_value_str, (pRegEntry->VarSize - 1));
5554 goto done;
5555 }
5556 // copy string plus NUL
5557 memcpy(pField, value_str, (len_value_str + 1));
5558 break;
5559
5560 case WLAN_PARAM_MacAddr:
5561 len_value_str = strlen(value_str);
5562 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
5563 {
5564 // out of range
5565 hddLog(LOGE,
5566 "%s: invalid command, MAC address [%s] length "
Jeff Johnson59a121e2013-11-30 09:46:08 -08005567 "%zu is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005568 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07005569 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
5570 goto done;
5571 }
5572 //parse the string and store it in the byte array
5573 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
5574 {
5575 ((char*)pField)[i] = (char)
5576 ((parseHexDigit(value_str[(i * 2)]) * 16) +
5577 parseHexDigit(value_str[(i * 2) + 1]));
5578 }
5579 break;
5580
5581 default:
5582 goto done;
5583 }
5584
5585 // if we get here, we had a successful modification
5586 vstatus = VOS_STATUS_SUCCESS;
5587
5588 // config table has been modified, is there a notifier?
5589 if (NULL != pRegEntry->pfnDynamicNotify)
5590 {
5591 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
5592 }
5593
5594 // note that this item was explicitly configured
5595 if (idx < MAX_CFG_INI_ITEMS)
5596 {
5597 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
5598 }
5599 done:
5600 kfree(clone);
5601 return vstatus;
5602}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07005603
5604/**---------------------------------------------------------------------------
5605
5606 \brief hdd_is_okc_mode_enabled() -
5607
5608 This function returns whether OKC mode is enabled or not
5609
5610 \param - pHddCtx - Pointer to the HDD Adapter.
5611
5612 \return - 1 for enabled, zero for disabled
5613
5614 --------------------------------------------------------------------------*/
5615
5616tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
5617{
5618 if (NULL == pHddCtx)
5619 {
5620 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
5621 return -EINVAL;
5622 }
5623
5624#ifdef FEATURE_WLAN_OKC
5625 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
5626#else
5627 return eANI_BOOLEAN_FALSE;
5628#endif
5629}