blob: b8c60bec2ab17c7e151a97e5ebd6c5282324cbdf [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
392 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800393 hdd_config_t, fIsLogpEnabled,
394 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
395 CFG_ENABLE_LOGP_DEFAULT,
396 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700397 CFG_ENABLE_LOGP_MAX ),
398
399 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800400 hdd_config_t, nImpsMinSleepTime,
401 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
402 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
403 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700404 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
405
406 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800407 hdd_config_t, nImpsMaxSleepTime,
408 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
409 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
410 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700411 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
412
413 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
414 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800415 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
416 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
417 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700418 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
419
420 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800421 hdd_config_t, fIsBmpsEnabled,
422 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
423 CFG_ENABLE_BMPS_DEFAULT,
424 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700425 CFG_ENABLE_BMPS_MAX ),
426
427 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800428 hdd_config_t, nBmpsMinListenInterval,
429 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
430 CFG_BMPS_MINIMUM_LI_DEFAULT,
431 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700432 CFG_BMPS_MINIMUM_LI_MAX ),
433
434 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800435 hdd_config_t, nBmpsMaxListenInterval,
436 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
437 CFG_BMPS_MAXIMUM_LI_DEFAULT,
438 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700439 CFG_BMPS_MAXIMUM_LI_MAX ),
440
441 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
442 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800443 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
444 CFG_BMPS_MODERATE_LI_DEFAULT,
445 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700446 CFG_BMPS_MODERATE_LI_MAX ),
447
448 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800449 hdd_config_t, fIsAutoBmpsTimerEnabled,
450 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
451 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
452 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700453 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
454
455 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800456 hdd_config_t, nAutoBmpsTimerValue,
457 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
458 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
459 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700460 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
461
462 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800463 hdd_config_t, dot11Mode,
464 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
465 CFG_DOT11_MODE_DEFAULT,
466 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700467 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800468
Jeff Johnson295189b2012-06-20 16:38:30 -0700469 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800470 hdd_config_t, nChannelBondingMode24GHz,
471 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
472 CFG_CHANNEL_BONDING_MODE_DEFAULT,
473 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700474 CFG_CHANNEL_BONDING_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_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800477 hdd_config_t, nChannelBondingMode5GHz,
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
483 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
484 hdd_config_t, MaxRxAmpduFactor,
485 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
486 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
487 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700488 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800489
Jeff Johnson295189b2012-06-20 16:38:30 -0700490 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800491 hdd_config_t, TxRate,
492 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
493 CFG_FIXED_RATE_DEFAULT,
494 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700495 CFG_FIXED_RATE_MAX ),
496
497 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800498 hdd_config_t, ShortGI20MhzEnable,
499 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
500 CFG_SHORT_GI_20MHZ_DEFAULT,
501 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700502 CFG_SHORT_GI_20MHZ_MAX ),
503
504 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800505 hdd_config_t, BlockAckAutoSetup,
506 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
507 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
508 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700509 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800510
Jeff Johnson295189b2012-06-20 16:38:30 -0700511 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800512 hdd_config_t, ScanResultAgeCount,
513 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
514 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
515 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700516 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
517
518 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800519 hdd_config_t, nScanAgeTimeNCNPS,
520 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
521 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
522 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700523 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
524
525 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800526 hdd_config_t, nScanAgeTimeNCPS,
527 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
528 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
529 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700530 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
531
532 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800533 hdd_config_t, nScanAgeTimeCNPS,
534 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
535 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
536 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700537 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
538
539 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800540 hdd_config_t, nScanAgeTimeCPS,
541 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
542 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
543 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700544 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
545
546 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800547 hdd_config_t, nRssiCatGap,
548 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
549 CFG_RSSI_CATEGORY_GAP_DEFAULT,
550 CFG_RSSI_CATEGORY_GAP_MIN,
551 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700552
Jeff Johnson295189b2012-06-20 16:38:30 -0700553 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800554 hdd_config_t, fIsShortPreamble,
555 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
556 CFG_SHORT_PREAMBLE_DEFAULT,
557 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700558 CFG_SHORT_PREAMBLE_MAX ),
559
560 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800561 hdd_config_t, fIsAutoIbssBssid,
562 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
563 CFG_IBSS_AUTO_BSSID_DEFAULT,
564 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700565 CFG_IBSS_AUTO_BSSID_MAX ),
566
567 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800568 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700569 VAR_FLAGS_OPTIONAL,
570 (void *)CFG_IBSS_BSSID_DEFAULT ),
571
572 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800573 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700574 VAR_FLAGS_OPTIONAL,
575 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
576
577 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800578 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700579 VAR_FLAGS_OPTIONAL,
580 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
581
582 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800583 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700584 VAR_FLAGS_OPTIONAL,
585 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
586
587 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800588 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700589 VAR_FLAGS_OPTIONAL,
590 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
591
Jeff Johnson295189b2012-06-20 16:38:30 -0700592 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800593 hdd_config_t, apUapsdEnabled,
594 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
595 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
596 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700597 CFG_AP_QOS_UAPSD_MODE_MAX ),
598
599 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800600 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700601 VAR_FLAGS_OPTIONAL,
602 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
603
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700604 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
605 hdd_config_t, apRandomBssidEnabled,
606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
607 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
608 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
609 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
610
Jeff Johnson295189b2012-06-20 16:38:30 -0700611 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800612 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
614 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
615 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
616 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
617
618 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
619 hdd_config_t, apProtection,
620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
621 CFG_AP_PROTECTION_MODE_DEFAULT,
622 CFG_AP_PROTECTION_MODE_MIN,
623 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800624
Jeff Johnson295189b2012-06-20 16:38:30 -0700625 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800626 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
629 CFG_AP_OBSS_PROTECTION_MODE_MIN,
630 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800631
Jeff Johnson295189b2012-06-20 16:38:30 -0700632 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
635 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
636 CFG_AP_STA_SECURITY_SEPERATION_MIN,
637 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
638
639 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800640 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
642 CFG_FRAMES_PROCESSING_TH_DEFAULT,
643 CFG_FRAMES_PROCESSING_TH_MIN,
644 CFG_FRAMES_PROCESSING_TH_MAX ),
645
646 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
647 hdd_config_t, apStartChannelNum,
648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
649 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
650 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
651 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
652
653 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
654 hdd_config_t, apEndChannelNum,
655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
656 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
657 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
658 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
659
660 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
661 hdd_config_t, apOperatingBand,
662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
663 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
664 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
665 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
666
667 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
668 hdd_config_t, apAutoChannelSelection,
669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
670 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
671 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
672 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800673
Jeff Johnson295189b2012-06-20 16:38:30 -0700674 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
675 hdd_config_t, enableLTECoex,
676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
677 CFG_ENABLE_LTE_COEX_DEFAULT,
678 CFG_ENABLE_LTE_COEX_MIN,
679 CFG_ENABLE_LTE_COEX_MAX ),
680
681 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
682 hdd_config_t, apKeepAlivePeriod,
683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
684 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
685 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
686 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
687
688 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
689 hdd_config_t, goKeepAlivePeriod,
690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
691 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
692 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
693 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
694
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530695 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
696 hdd_config_t, apLinkMonitorPeriod,
697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
698 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
699 CFG_AP_LINK_MONITOR_PERIOD_MIN,
700 CFG_AP_LINK_MONITOR_PERIOD_MAX),
701
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +0530702 REG_VARIABLE( CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
703 hdd_config_t, goLinkMonitorPeriod,
704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
705 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
706 CFG_GO_LINK_MONITOR_PERIOD_MIN,
707 CFG_GO_LINK_MONITOR_PERIOD_MAX),
708
Jeff Johnson295189b2012-06-20 16:38:30 -0700709 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
710 hdd_config_t, disablePacketFilter,
711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
712 CFG_DISABLE_PACKET_FILTER_DEFAULT,
713 CFG_DISABLE_PACKET_FILTER_MIN,
714 CFG_DISABLE_PACKET_FILTER_MAX ),
715
716 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800717 hdd_config_t, nBeaconInterval,
718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
719 CFG_BEACON_INTERVAL_DEFAULT,
720 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700721 CFG_BEACON_INTERVAL_MAX ),
722
Jeff Johnson295189b2012-06-20 16:38:30 -0700723 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800724 hdd_config_t, nEnableIdleScan,
725 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
726 CFG_ENABLE_IDLE_SCAN_DEFAULT,
727 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700728 CFG_ENABLE_IDLE_SCAN_MAX ),
729
730 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800731 hdd_config_t, nRoamingTime,
732 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
733 CFG_ROAMING_TIME_DEFAULT,
734 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700735 CFG_ROAMING_TIME_MAX ),
736
737 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800738 hdd_config_t, nVccRssiTrigger,
739 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
740 CFG_VCC_RSSI_TRIGGER_DEFAULT,
741 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700742 CFG_VCC_RSSI_TRIGGER_MAX ),
743
744 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800745 hdd_config_t, nVccUlMacLossThreshold,
746 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
747 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
748 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700749 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
750
751 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800752 hdd_config_t, nPassiveMaxChnTime,
753 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
754 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
755 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700756 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
757
758 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800759 hdd_config_t, nPassiveMinChnTime,
760 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
761 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
762 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700763 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
764
765 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800766 hdd_config_t, nActiveMaxChnTime,
767 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
768 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
769 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700770 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
771
772 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800773 hdd_config_t, nActiveMinChnTime,
774 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
775 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
776 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700777 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700778
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800779 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
780 hdd_config_t, nActiveMaxChnTimeBtc,
781 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
782 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
783 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
784 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
785
786 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
787 hdd_config_t, nActiveMinChnTimeBtc,
788 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
789 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
790 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
791 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
792
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700793 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
794 hdd_config_t, retryLimitZero,
795 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
796 CFG_RETRY_LIMIT_ZERO_DEFAULT,
797 CFG_RETRY_LIMIT_ZERO_MIN,
798 CFG_RETRY_LIMIT_ZERO_MAX ),
799
800 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
801 hdd_config_t, retryLimitOne,
802 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
803 CFG_RETRY_LIMIT_ONE_DEFAULT,
804 CFG_RETRY_LIMIT_ONE_MIN,
805 CFG_RETRY_LIMIT_ONE_MAX ),
806
807 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
808 hdd_config_t, retryLimitTwo,
809 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
810 CFG_RETRY_LIMIT_TWO_DEFAULT,
811 CFG_RETRY_LIMIT_TWO_MIN,
812 CFG_RETRY_LIMIT_TWO_MAX ),
813
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700814 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
815 hdd_config_t, disableAggWithBtc,
816 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
817 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
818 CFG_DISABLE_AGG_WITH_BTC_MIN,
819 CFG_DISABLE_AGG_WITH_BTC_MAX ),
820
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700821#ifdef WLAN_AP_STA_CONCURRENCY
822 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800823 hdd_config_t, nPassiveMaxChnTimeConc,
824 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
825 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
826 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700827 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
828
829 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800830 hdd_config_t, nPassiveMinChnTimeConc,
831 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
832 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
833 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700834 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
835
836 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800837 hdd_config_t, nActiveMaxChnTimeConc,
838 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
839 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
840 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700841 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
842
843 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800844 hdd_config_t, nActiveMinChnTimeConc,
845 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
846 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
847 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700848 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
849
850 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800851 hdd_config_t, nRestTimeConc,
852 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
853 CFG_REST_TIME_CONC_DEFAULT,
854 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700855 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800856
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700857 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
858 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800859 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700860 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
861 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
862 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
863
864 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
865 hdd_config_t, nNumP2PChanCombinedConc,
866 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
867 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
868 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
869 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700870#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800871
Jeff Johnson295189b2012-06-20 16:38:30 -0700872 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800873 hdd_config_t, nMaxPsPoll,
874 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
875 CFG_MAX_PS_POLL_DEFAULT,
876 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700877 CFG_MAX_PS_POLL_MAX ),
878
879 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800880 hdd_config_t, nTxPowerCap,
881 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
882 CFG_MAX_TX_POWER_DEFAULT,
883 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700884 CFG_MAX_TX_POWER_MAX ),
885
886 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
887 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800888 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
889 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
890 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700891 CFG_LOW_GAIN_OVERRIDE_MAX ),
892
893 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
894 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800895 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
896 CFG_RSSI_FILTER_PERIOD_DEFAULT,
897 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700898 CFG_RSSI_FILTER_PERIOD_MAX ),
899
900 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
901 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
903 CFG_IGNORE_DTIM_DEFAULT,
904 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700905 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800906
Yue Mac24062f2013-05-13 17:01:29 -0700907 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
908 hdd_config_t, fMaxLIModulatedDTIM,
909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
910 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
911 CFG_MAX_LI_MODULATED_DTIM_MIN,
912 CFG_MAX_LI_MODULATED_DTIM_MAX ),
913
Jeff Johnson295189b2012-06-20 16:38:30 -0700914 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800915 hdd_config_t, nRxAnt,
916 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
917 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
918 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700919 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
920
921 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800922 hdd_config_t, fEnableFwHeartBeatMonitoring,
923 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
924 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
925 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700926 CFG_FW_HEART_BEAT_MONITORING_MAX ),
927
928 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800929 hdd_config_t, fEnableFwBeaconFiltering,
930 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
931 CFG_FW_BEACON_FILTERING_DEFAULT,
932 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700933 CFG_FW_BEACON_FILTERING_MAX ),
934
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800935 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800936 hdd_config_t, fEnableFwRssiMonitoring,
937 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
938 CFG_FW_RSSI_MONITORING_DEFAULT,
939 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800940 CFG_FW_RSSI_MONITORING_MAX,
941 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700942
943 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800944 hdd_config_t, nDataInactivityTimeout,
945 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
946 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
947 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700948 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800949
Jeff Johnson295189b2012-06-20 16:38:30 -0700950 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800951 hdd_config_t, nthBeaconFilter,
952 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
953 CFG_NTH_BEACON_FILTER_DEFAULT,
954 CFG_NTH_BEACON_FILTER_MIN,
955 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700956
957 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800958 hdd_config_t, WmmMode,
959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
960 CFG_QOS_WMM_MODE_DEFAULT,
961 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700962 CFG_QOS_WMM_MODE_MAX ),
963
964 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800965 hdd_config_t, b80211eIsEnabled,
966 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
967 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
968 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700969 CFG_QOS_WMM_80211E_ENABLED_MAX ),
970
971 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800972 hdd_config_t, UapsdMask,
973 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
974 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
975 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700976 CFG_QOS_WMM_UAPSD_MASK_MAX ),
977
Jeff Johnson295189b2012-06-20 16:38:30 -0700978 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800979 hdd_config_t, InfraUapsdVoSrvIntv,
980 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
981 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
982 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700983 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
984
985 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800986 hdd_config_t, InfraUapsdVoSuspIntv,
987 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
988 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
989 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700990 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
991
992 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800993 hdd_config_t, InfraUapsdViSrvIntv,
994 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
995 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
996 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700997 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
998
999 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001000 hdd_config_t, InfraUapsdViSuspIntv,
1001 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1002 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1003 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001004 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1005
1006 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001007 hdd_config_t, InfraUapsdBeSrvIntv,
1008 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1009 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1010 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001011 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1012
1013 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001014 hdd_config_t, InfraUapsdBeSuspIntv,
1015 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1016 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1017 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001018 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1019
1020 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001021 hdd_config_t, InfraUapsdBkSrvIntv,
1022 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1023 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1024 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001025 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1026
1027 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001028 hdd_config_t, InfraUapsdBkSuspIntv,
1029 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1030 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1031 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001032 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1033
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001034#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07001035 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001036 hdd_config_t, InfraInactivityInterval,
1037 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1038 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1039 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001040 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001041 REG_DYNAMIC_VARIABLE( CFG_ESE_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1042 hdd_config_t, isEseIniFeatureEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001043 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001044 CFG_ESE_FEATURE_ENABLED_DEFAULT,
1045 CFG_ESE_FEATURE_ENABLED_MIN,
1046 CFG_ESE_FEATURE_ENABLED_MAX,
1047 cbNotifySetEseFeatureEnabled, 0 ),
1048#endif // FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07001049
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001050#ifdef FEATURE_WLAN_LFR
1051 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001052 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001053 hdd_config_t, isFastRoamIniFeatureEnabled,
1054 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1055 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1056 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001057 CFG_LFR_FEATURE_ENABLED_MAX,
1058 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08001059
1060 /* flag to turn ON/OFF Motion assistance for Legacy Fast Roaming */
1061 REG_DYNAMIC_VARIABLE( CFG_LFR_MAWC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1062 hdd_config_t, MAWCEnabled,
1063 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1064 CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT,
1065 CFG_LFR_MAWC_FEATURE_ENABLED_MIN,
1066 CFG_LFR_MAWC_FEATURE_ENABLED_MAX,
1067 NotifyIsMAWCIniFeatureEnabled, 0 ),
1068
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001069#endif // FEATURE_WLAN_LFR
1070
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001071#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
1072 // flag to turn ON/OFF 11r and ESE FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001073 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001074 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001075 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1076 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1077 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001078 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1079 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001080
Srinivas Girigowdade697412013-02-14 16:31:48 -08001081 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001082 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001083 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1084 hdd_config_t, RoamRssiDiff,
1085 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1086 CFG_ROAM_RSSI_DIFF_DEFAULT,
1087 CFG_ROAM_RSSI_DIFF_MIN,
1088 CFG_ROAM_RSSI_DIFF_MAX,
1089 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001090
1091 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001092 hdd_config_t, nImmediateRoamRssiDiff,
1093 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1094 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1095 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001096 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1097 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001098
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07001099 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1100 hdd_config_t, isWESModeEnabled,
1101 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1102 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1103 CFG_ENABLE_WES_MODE_NAME_MIN,
1104 CFG_ENABLE_WES_MODE_NAME_MAX,
1105 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001106#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001107#ifdef FEATURE_WLAN_OKC
1108 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1109 hdd_config_t, isOkcIniFeatureEnabled,
1110 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1111 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1112 CFG_OKC_FEATURE_ENABLED_MIN,
1113 CFG_OKC_FEATURE_ENABLED_MAX,
1114 cbNotifySetOkcFeatureEnabled, 0 ),
1115#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001116#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1117 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1118 hdd_config_t, isRoamOffloadScanEnabled,
1119 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1120 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1121 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1122 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1123 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1124#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001125 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001126 hdd_config_t, PktClassificationBasis,
1127 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1128 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1129 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001130 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1131
1132 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001133 hdd_config_t, InfraDirAcVo,
1134 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1135 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1136 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001137 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1138
1139 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001140 hdd_config_t, InfraNomMsduSizeAcVo,
1141 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1142 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1143 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001144 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1145
1146 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001147 hdd_config_t, InfraMeanDataRateAcVo,
1148 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1149 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1150 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001151 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1152
1153 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001154 hdd_config_t, InfraMinPhyRateAcVo,
1155 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1156 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1157 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001158 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1159
1160 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001161 hdd_config_t, InfraSbaAcVo,
1162 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1163 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1164 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001165 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1166
1167 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001168 hdd_config_t, InfraDirAcVi,
1169 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1170 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1171 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001172 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1173
1174 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001175 hdd_config_t, InfraNomMsduSizeAcVi,
1176 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1177 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1178 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001179 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1180
1181 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001182 hdd_config_t, InfraMeanDataRateAcVi,
1183 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1184 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1185 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001186 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1187
1188 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001189 hdd_config_t, InfraMinPhyRateAcVi,
1190 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1191 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1192 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001193 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1194
1195 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001196 hdd_config_t, InfraSbaAcVi,
1197 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1198 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1199 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001200 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1201
1202 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001203 hdd_config_t, InfraDirAcBe,
1204 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1205 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1206 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001207 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1208
1209 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001210 hdd_config_t, InfraNomMsduSizeAcBe,
1211 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1212 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1213 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001214 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1215
1216 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001217 hdd_config_t, InfraMeanDataRateAcBe,
1218 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1219 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1220 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001221 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1222
1223 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001224 hdd_config_t, InfraMinPhyRateAcBe,
1225 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1226 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1227 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001228 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1229
1230 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001231 hdd_config_t, InfraSbaAcBe,
1232 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1233 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1234 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001235 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1236
1237 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001238 hdd_config_t, InfraDirAcBk,
1239 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1240 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1241 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001242 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1243
1244 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001245 hdd_config_t, InfraNomMsduSizeAcBk,
1246 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1247 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1248 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001249 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1250
1251 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001252 hdd_config_t, InfraMeanDataRateAcBk,
1253 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1254 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1255 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001256 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1257
1258 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001259 hdd_config_t, InfraMinPhyRateAcBk,
1260 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1261 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1262 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001263 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1264
1265 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001266 hdd_config_t, InfraSbaAcBk,
1267 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1268 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1269 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001270 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1271
1272 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001273 hdd_config_t, WfqBkWeight,
1274 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1275 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1276 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001277 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1278
1279 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001280 hdd_config_t, WfqBeWeight,
1281 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1282 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1283 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001284 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1285
1286 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001287 hdd_config_t, WfqViWeight,
1288 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1289 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1290 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001291 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1292
1293 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001294 hdd_config_t, WfqVoWeight,
1295 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1296 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1297 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001298 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1299
1300 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001301 hdd_config_t, DelayedTriggerFrmInt,
1302 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1303 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1304 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001305 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1306
Dhanashri Atred8c20a32014-01-03 17:20:55 -08001307 REG_VARIABLE( CFG_REORDER_TIME_BK_NAME , WLAN_PARAM_Integer,
1308 hdd_config_t, BkReorderAgingTime,
1309 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1310 CFG_REORDER_TIME_BK_DEFAULT,
1311 CFG_REORDER_TIME_BK_MIN,
1312 CFG_REORDER_TIME_BK_MAX ),
1313
1314 REG_VARIABLE( CFG_REORDER_TIME_BE_NAME , WLAN_PARAM_Integer,
1315 hdd_config_t, BeReorderAgingTime,
1316 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1317 CFG_REORDER_TIME_BE_DEFAULT,
1318 CFG_REORDER_TIME_BE_MIN,
1319 CFG_REORDER_TIME_BE_MAX ),
1320
1321 REG_VARIABLE( CFG_REORDER_TIME_VI_NAME , WLAN_PARAM_Integer,
1322 hdd_config_t, ViReorderAgingTime,
1323 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1324 CFG_REORDER_TIME_VI_DEFAULT,
1325 CFG_REORDER_TIME_VI_MIN,
1326 CFG_REORDER_TIME_VI_MAX ),
1327
1328 REG_VARIABLE( CFG_REORDER_TIME_VO_NAME , WLAN_PARAM_Integer,
1329 hdd_config_t, VoReorderAgingTime,
1330 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1331 CFG_REORDER_TIME_VO_DEFAULT,
1332 CFG_REORDER_TIME_VO_MIN,
1333 CFG_REORDER_TIME_VO_MAX ),
1334
Jeff Johnson295189b2012-06-20 16:38:30 -07001335 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001336 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001337 VAR_FLAGS_OPTIONAL,
1338 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1339
1340 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001341 hdd_config_t, bImplicitQosEnabled,
1342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1343 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1344 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001345 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1346
Jeff Johnson295189b2012-06-20 16:38:30 -07001347 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001348 hdd_config_t, btcExecutionMode,
1349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1350 CFG_BTC_EXECUTION_MODE_DEFAULT,
1351 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001352 CFG_BTC_EXECUTION_MODE_MAX ),
1353
1354 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1355 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1356 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1357 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1358 CFG_BTC_DHCP_PROTECTION_MIN,
1359 CFG_BTC_DHCP_PROTECTION_MAX ),
1360
1361 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1362 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1364 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1365 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1366 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1367
Jeff Johnson32d95a32012-09-10 13:15:23 -07001368 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1369 hdd_config_t, btcStaticLenInqBt,
1370 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1371 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1372 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1373 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1374
1375 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1376 hdd_config_t, btcStaticLenPageBt,
1377 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1378 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1379 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1380 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1381
1382 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1383 hdd_config_t, btcStaticLenConnBt,
1384 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1385 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1386 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1387 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1388
1389 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1390 hdd_config_t, btcStaticLenLeBt,
1391 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1392 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1393 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1394 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1395
1396 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1397 hdd_config_t, btcStaticLenInqWlan,
1398 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1399 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1400 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1401 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1402
1403 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1404 hdd_config_t, btcStaticLenPageWlan,
1405 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1406 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1407 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1408 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1409
1410 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1411 hdd_config_t, btcStaticLenConnWlan,
1412 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1413 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1414 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1415 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1416
1417 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1418 hdd_config_t, btcStaticLenLeWlan,
1419 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1420 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1421 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1422 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1423
1424 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1425 hdd_config_t, btcDynMaxLenBt,
1426 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1427 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1428 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1429 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1430
1431 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1432 hdd_config_t, btcDynMaxLenWlan,
1433 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1434 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1435 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1436 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1437
1438 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1439 hdd_config_t, btcMaxScoBlockPerc,
1440 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1441 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1442 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1443 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1444
1445 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1446 hdd_config_t, btcDhcpProtOnA2dp,
1447 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1448 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1449 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1450 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1451
1452 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1453 hdd_config_t, btcDhcpProtOnSco,
1454 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1455 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1456 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1457 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1458
Wilson Tsaof8b37942013-09-06 10:49:00 -07001459 REG_VARIABLE( CFG_MWS_COEX_V1_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1460 hdd_config_t, mwsCoexVictimWANFreq[0],
1461 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1462 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1463 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1464 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1465
1466 REG_VARIABLE( CFG_MWS_COEX_V1_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1467 hdd_config_t, mwsCoexVictimWLANFreq[0],
1468 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1469 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1470 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1471 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1472
1473 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG_NAME , WLAN_PARAM_Integer,
1474 hdd_config_t, mwsCoexVictimConfig[0],
1475 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1476 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1477 CFG_MWS_COEX_VX_CONFIG_MIN,
1478 CFG_MWS_COEX_VX_CONFIG_MAX ),
1479
1480 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG2_NAME , WLAN_PARAM_Integer,
1481 hdd_config_t, mwsCoexVictimConfig2[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_V2_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1488 hdd_config_t, mwsCoexVictimWANFreq[1],
1489 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1490 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1491 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1492 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1493
1494 REG_VARIABLE( CFG_MWS_COEX_V2_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1495 hdd_config_t, mwsCoexVictimWLANFreq[1],
1496 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1497 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1498 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1499 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1500
1501 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG_NAME , WLAN_PARAM_Integer,
1502 hdd_config_t, mwsCoexVictimConfig[1],
1503 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1504 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1505 CFG_MWS_COEX_VX_CONFIG_MIN,
1506 CFG_MWS_COEX_VX_CONFIG_MAX ),
1507
1508 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG2_NAME , WLAN_PARAM_Integer,
1509 hdd_config_t, mwsCoexVictimConfig2[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_V3_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1516 hdd_config_t, mwsCoexVictimWANFreq[2],
1517 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1518 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1519 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1520 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1521
1522 REG_VARIABLE( CFG_MWS_COEX_V3_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1523 hdd_config_t, mwsCoexVictimWLANFreq[2],
1524 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1525 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1526 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1527 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1528
1529 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG_NAME , WLAN_PARAM_Integer,
1530 hdd_config_t, mwsCoexVictimConfig[2],
1531 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1532 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1533 CFG_MWS_COEX_VX_CONFIG_MIN,
1534 CFG_MWS_COEX_VX_CONFIG_MAX ),
1535
1536 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG2_NAME , WLAN_PARAM_Integer,
1537 hdd_config_t, mwsCoexVictimConfig2[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_V4_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1544 hdd_config_t, mwsCoexVictimWANFreq[3],
1545 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1546 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1547 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1548 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1549
1550 REG_VARIABLE( CFG_MWS_COEX_V4_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1551 hdd_config_t, mwsCoexVictimWLANFreq[3],
1552 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1553 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1554 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1555 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1556
1557 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG_NAME , WLAN_PARAM_Integer,
1558 hdd_config_t, mwsCoexVictimConfig[3],
1559 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1560 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1561 CFG_MWS_COEX_VX_CONFIG_MIN,
1562 CFG_MWS_COEX_VX_CONFIG_MAX ),
1563
1564 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG2_NAME , WLAN_PARAM_Integer,
1565 hdd_config_t, mwsCoexVictimConfig2[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_V5_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1572 hdd_config_t, mwsCoexVictimWANFreq[4],
1573 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1574 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1575 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1576 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1577
1578 REG_VARIABLE( CFG_MWS_COEX_V5_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1579 hdd_config_t, mwsCoexVictimWLANFreq[4],
1580 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1581 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1582 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1583 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1584
1585 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG_NAME , WLAN_PARAM_Integer,
1586 hdd_config_t, mwsCoexVictimConfig[4],
1587 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1588 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1589 CFG_MWS_COEX_VX_CONFIG_MIN,
1590 CFG_MWS_COEX_VX_CONFIG_MAX ),
1591
1592 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG2_NAME , WLAN_PARAM_Integer,
1593 hdd_config_t, mwsCoexVictimConfig2[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_V6_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1600 hdd_config_t, mwsCoexVictimWANFreq[5],
1601 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1602 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1603 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1604 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1605
1606 REG_VARIABLE( CFG_MWS_COEX_V6_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1607 hdd_config_t, mwsCoexVictimWLANFreq[5],
1608 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1609 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1610 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1611 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1612
1613 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG_NAME , WLAN_PARAM_Integer,
1614 hdd_config_t, mwsCoexVictimConfig[5],
1615 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1616 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1617 CFG_MWS_COEX_VX_CONFIG_MIN,
1618 CFG_MWS_COEX_VX_CONFIG_MAX ),
1619
1620 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG2_NAME , WLAN_PARAM_Integer,
1621 hdd_config_t, mwsCoexVictimConfig2[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_V7_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1628 hdd_config_t, mwsCoexVictimWANFreq[6],
1629 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1630 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1631 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1632 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1633
1634 REG_VARIABLE( CFG_MWS_COEX_V7_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1635 hdd_config_t, mwsCoexVictimWLANFreq[6],
1636 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1637 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1638 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1639 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1640
1641 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG_NAME , WLAN_PARAM_Integer,
1642 hdd_config_t, mwsCoexVictimConfig[6],
1643 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1644 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1645 CFG_MWS_COEX_VX_CONFIG_MIN,
1646 CFG_MWS_COEX_VX_CONFIG_MAX ),
1647
1648 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG2_NAME , WLAN_PARAM_Integer,
1649 hdd_config_t, mwsCoexVictimConfig2[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_V8_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1656 hdd_config_t, mwsCoexVictimWANFreq[7],
1657 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1658 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1659 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1660 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1661
1662 REG_VARIABLE( CFG_MWS_COEX_V8_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1663 hdd_config_t, mwsCoexVictimWLANFreq[7],
1664 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1665 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1666 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1667 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1668
1669 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG_NAME , WLAN_PARAM_Integer,
1670 hdd_config_t, mwsCoexVictimConfig[7],
1671 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1672 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1673 CFG_MWS_COEX_VX_CONFIG_MIN,
1674 CFG_MWS_COEX_VX_CONFIG_MAX ),
1675
1676 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG2_NAME , WLAN_PARAM_Integer,
1677 hdd_config_t, mwsCoexVictimConfig2[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_V9_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1684 hdd_config_t, mwsCoexVictimWANFreq[8],
1685 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1686 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1687 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1688 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1689
1690 REG_VARIABLE( CFG_MWS_COEX_V9_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1691 hdd_config_t, mwsCoexVictimWLANFreq[8],
1692 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1693 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1694 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1695 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1696
1697 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG_NAME , WLAN_PARAM_Integer,
1698 hdd_config_t, mwsCoexVictimConfig[8],
1699 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1700 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1701 CFG_MWS_COEX_VX_CONFIG_MIN,
1702 CFG_MWS_COEX_VX_CONFIG_MAX ),
1703
1704 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG2_NAME , WLAN_PARAM_Integer,
1705 hdd_config_t, mwsCoexVictimConfig2[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_V10_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1712 hdd_config_t, mwsCoexVictimWANFreq[9],
1713 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1714 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1715 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1716 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1717
1718 REG_VARIABLE( CFG_MWS_COEX_V10_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1719 hdd_config_t, mwsCoexVictimWLANFreq[9],
1720 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1721 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1722 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1723 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1724
1725 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG_NAME , WLAN_PARAM_Integer,
1726 hdd_config_t, mwsCoexVictimConfig[9],
1727 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1728 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1729 CFG_MWS_COEX_VX_CONFIG_MIN,
1730 CFG_MWS_COEX_VX_CONFIG_MAX ),
1731
1732 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG2_NAME , WLAN_PARAM_Integer,
1733 hdd_config_t, mwsCoexVictimConfig2[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_MODEM_BACKOFF_NAME , WLAN_PARAM_Integer,
1740 hdd_config_t, mwsCoexModemBackoff,
1741 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1742 CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT,
1743 CFG_MWS_COEX_MODEM_BACKOFF_MIN,
1744 CFG_MWS_COEX_MODEM_BACKOFF_MAX ),
1745
1746 REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer,
1747 hdd_config_t, mwsCoexConfig[0],
1748 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1749 CFG_MWS_COEX_CONFIGX_DEFAULT,
1750 CFG_MWS_COEX_CONFIGX_MIN,
1751 CFG_MWS_COEX_CONFIGX_MAX ),
1752
1753 REG_VARIABLE( CFG_MWS_COEX_CONFIG2_NAME , WLAN_PARAM_Integer,
1754 hdd_config_t, mwsCoexConfig[1],
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_CONFIG3_NAME , WLAN_PARAM_Integer,
1761 hdd_config_t, mwsCoexConfig[2],
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_CONFIG4_NAME , WLAN_PARAM_Integer,
1768 hdd_config_t, mwsCoexConfig[3],
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_CONFIG5_NAME , WLAN_PARAM_Integer,
1775 hdd_config_t, mwsCoexConfig[4],
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_CONFIG6_NAME , WLAN_PARAM_Integer,
1782 hdd_config_t, mwsCoexConfig[5],
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_SAR_POWER_BACKOFF_NAME , WLAN_PARAM_Integer,
1789 hdd_config_t, SARPowerBackoff,
1790 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1791 CFG_SAR_POWER_BACKOFF_DEFAULT,
1792 CFG_SAR_POWER_BACKOFF_MIN,
1793 CFG_SAR_POWER_BACKOFF_MAX ),
1794
Jeff Johnson295189b2012-06-20 16:38:30 -07001795 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001796 hdd_config_t, nEnableListenMode,
1797 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1798 CFG_AP_LISTEN_MODE_DEFAULT,
1799 CFG_AP_LISTEN_MODE_MIN,
1800 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001801
1802 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1803 hdd_config_t, nAPAutoShutOff,
1804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1805 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1806 CFG_AP_AUTO_SHUT_OFF_MIN,
1807 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001808
1809#if defined WLAN_FEATURE_VOWIFI
1810 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001811 hdd_config_t, fRrmEnable,
1812 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1813 CFG_RRM_ENABLE_DEFAULT,
1814 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001815 CFG_RRM_ENABLE_MAX ),
1816
1817 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001818 hdd_config_t, nInChanMeasMaxDuration,
1819 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1820 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1821 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001822 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1823
1824 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001825 hdd_config_t, nOutChanMeasMaxDuration,
1826 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1827 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1828 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001829 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1830
1831 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001832 hdd_config_t, nRrmRandnIntvl,
1833 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1834 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1835 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001836 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1837#endif
1838
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001839#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001840 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001841 hdd_config_t, fFTResourceReqSupported,
1842 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1843 CFG_FT_RESOURCE_REQ_DEFAULT,
1844 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001845 CFG_FT_RESOURCE_REQ_MAX ),
1846#endif
1847
1848#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001849 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001850 hdd_config_t, nNeighborScanPeriod,
1851 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1852 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1853 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001854 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1855 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001856
1857 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001858 hdd_config_t, nNeighborReassocRssiThreshold,
1859 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1860 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1861 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001862 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1863
Srinivas Girigowdade697412013-02-14 16:31:48 -08001864 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001865 hdd_config_t, nNeighborLookupRssiThreshold,
1866 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1867 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1868 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001869 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1870 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001871
1872 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001873 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001874 VAR_FLAGS_OPTIONAL,
1875 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1876
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001877 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001878 hdd_config_t, nNeighborScanMinChanTime,
1879 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1880 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1881 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001882 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1883 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001884
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001885 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001886 hdd_config_t, nNeighborScanMaxChanTime,
1887 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1888 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1889 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001890 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1891 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001892
1893 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1894 hdd_config_t, nMaxNeighborReqTries,
1895 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1896 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1897 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1898 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1899
Srinivas Girigowdade697412013-02-14 16:31:48 -08001900 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001901 hdd_config_t, nNeighborResultsRefreshPeriod,
1902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1903 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1904 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001905 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1906 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1907
1908 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1909 hdd_config_t, nEmptyScanRefreshPeriod,
1910 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1911 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1912 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1913 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1914 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001915#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1916
1917 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001918 hdd_config_t, burstSizeDefinition,
1919 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1920 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1921 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001922 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1923
1924 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1925 hdd_config_t, mcastBcastFilterSetting,
1926 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1927 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1928 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1929 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1930
1931 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1932 hdd_config_t, fhostArpOffload,
1933 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1934 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1935 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1936 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1937
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301938 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1939 hdd_config_t, fhostNSOffload,
1940 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1941 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1942 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1943 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1944
Jeff Johnson295189b2012-06-20 16:38:30 -07001945 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001946 hdd_config_t, tsInfoAckPolicy,
1947 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1948 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1949 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001950 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1951
1952 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1953 hdd_config_t, bSingleTidRc,
1954 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1955 CFG_SINGLE_TID_RC_DEFAULT,
1956 CFG_SINGLE_TID_RC_MIN,
1957 CFG_SINGLE_TID_RC_MAX),
1958
1959 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1960 hdd_config_t, dynamicPsPollValue,
1961 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1962 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1963 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1964 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1965
1966 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1967 hdd_config_t, teleBcnWakeupEn,
1968 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1969 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1970 CFG_TELE_BCN_WAKEUP_EN_MIN,
1971 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1972
1973 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1974 hdd_config_t, infraStaKeepAlivePeriod,
1975 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1976 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1977 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1978 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1979
1980 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001981 hdd_config_t, AddTSWhenACMIsOff,
1982 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1983 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1984 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001985 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1986
1987
1988 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001989 hdd_config_t, fValidateScanList,
1990 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1991 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1992 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001993 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001994
Jeff Johnson295189b2012-06-20 16:38:30 -07001995 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001996 hdd_config_t, nNullDataApRespTimeout,
1997 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1998 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1999 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002000 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
2001
2002 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002003 hdd_config_t, apDataAvailPollPeriodInMs,
2004 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2005 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2006 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002007 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002008
Jeff Johnson295189b2012-06-20 16:38:30 -07002009 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002010 hdd_config_t, enableBtAmp,
2011 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2012 CFG_ENABLE_BTAMP_DEFAULT,
2013 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002014 CFG_ENABLE_BTAMP_MAX ),
2015
2016#ifdef WLAN_BTAMP_FEATURE
2017 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002018 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07002019 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2020 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
2021 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
2022 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
2023#endif //WLAN_BTAMP_FEATURE
2024 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002025 hdd_config_t, nBandCapability,
2026 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2027 CFG_BAND_CAPABILITY_DEFAULT,
2028 CFG_BAND_CAPABILITY_MIN,
2029 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002030
2031 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002032 hdd_config_t, fEnableBeaconEarlyTermination,
2033 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2034 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
2035 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
2036 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002037/* CFG_VOS_TRACE_ENABLE Parameters */
2038 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
2039 hdd_config_t, vosTraceEnableBAP,
2040 VAR_FLAGS_OPTIONAL,
2041 CFG_VOS_TRACE_ENABLE_DEFAULT,
2042 CFG_VOS_TRACE_ENABLE_MIN,
2043 CFG_VOS_TRACE_ENABLE_MAX ),
2044
2045 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
2046 hdd_config_t, vosTraceEnableTL,
2047 VAR_FLAGS_OPTIONAL,
2048 CFG_VOS_TRACE_ENABLE_DEFAULT,
2049 CFG_VOS_TRACE_ENABLE_MIN,
2050 CFG_VOS_TRACE_ENABLE_MAX ),
2051
2052 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
2053 hdd_config_t, vosTraceEnableWDI,
2054 VAR_FLAGS_OPTIONAL,
2055 CFG_VOS_TRACE_ENABLE_DEFAULT,
2056 CFG_VOS_TRACE_ENABLE_MIN,
2057 CFG_VOS_TRACE_ENABLE_MAX ),
2058
2059 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
2060 hdd_config_t, vosTraceEnableHDD,
2061 VAR_FLAGS_OPTIONAL,
2062 CFG_VOS_TRACE_ENABLE_DEFAULT,
2063 CFG_VOS_TRACE_ENABLE_MIN,
2064 CFG_VOS_TRACE_ENABLE_MAX ),
2065
2066 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
2067 hdd_config_t, vosTraceEnableSME,
2068 VAR_FLAGS_OPTIONAL,
2069 CFG_VOS_TRACE_ENABLE_DEFAULT,
2070 CFG_VOS_TRACE_ENABLE_MIN,
2071 CFG_VOS_TRACE_ENABLE_MAX ),
2072
2073 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
2074 hdd_config_t, vosTraceEnablePE,
2075 VAR_FLAGS_OPTIONAL,
2076 CFG_VOS_TRACE_ENABLE_DEFAULT,
2077 CFG_VOS_TRACE_ENABLE_MIN,
2078 CFG_VOS_TRACE_ENABLE_MAX ),
2079
Katya Nigam70d68332013-09-16 16:49:45 +05302080 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PMC_NAME, WLAN_PARAM_Integer,
2081 hdd_config_t, vosTraceEnablePMC,
2082 VAR_FLAGS_OPTIONAL,
2083 CFG_VOS_TRACE_ENABLE_DEFAULT,
2084 CFG_VOS_TRACE_ENABLE_MIN,
2085 CFG_VOS_TRACE_ENABLE_MAX ),
2086
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002087 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
2088 hdd_config_t, vosTraceEnableWDA,
2089 VAR_FLAGS_OPTIONAL,
2090 CFG_VOS_TRACE_ENABLE_DEFAULT,
2091 CFG_VOS_TRACE_ENABLE_MIN,
2092 CFG_VOS_TRACE_ENABLE_MAX ),
2093
2094 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
2095 hdd_config_t, vosTraceEnableSYS,
2096 VAR_FLAGS_OPTIONAL,
2097 CFG_VOS_TRACE_ENABLE_DEFAULT,
2098 CFG_VOS_TRACE_ENABLE_MIN,
2099 CFG_VOS_TRACE_ENABLE_MAX ),
2100
2101 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
2102 hdd_config_t, vosTraceEnableVOSS,
2103 VAR_FLAGS_OPTIONAL,
2104 CFG_VOS_TRACE_ENABLE_DEFAULT,
2105 CFG_VOS_TRACE_ENABLE_MIN,
2106 CFG_VOS_TRACE_ENABLE_MAX ),
2107
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002108 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
2109 hdd_config_t, vosTraceEnableSAP,
2110 VAR_FLAGS_OPTIONAL,
2111 CFG_VOS_TRACE_ENABLE_DEFAULT,
2112 CFG_VOS_TRACE_ENABLE_MIN,
2113 CFG_VOS_TRACE_ENABLE_MAX ),
2114
2115 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
2116 hdd_config_t, vosTraceEnableHDDSAP,
2117 VAR_FLAGS_OPTIONAL,
2118 CFG_VOS_TRACE_ENABLE_DEFAULT,
2119 CFG_VOS_TRACE_ENABLE_MIN,
2120 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002121
Jeff Johnson295189b2012-06-20 16:38:30 -07002122 /* note that since the default value is out of range we cannot
2123 enable range check, otherwise we get a system log message */
2124 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
2125 hdd_config_t, wdiTraceEnableDAL,
2126 VAR_FLAGS_OPTIONAL,
2127 CFG_WDI_TRACE_ENABLE_DEFAULT,
2128 CFG_WDI_TRACE_ENABLE_MIN,
2129 CFG_WDI_TRACE_ENABLE_MAX ),
2130
2131 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
2132 hdd_config_t, wdiTraceEnableCTL,
2133 VAR_FLAGS_OPTIONAL,
2134 CFG_WDI_TRACE_ENABLE_DEFAULT,
2135 CFG_WDI_TRACE_ENABLE_MIN,
2136 CFG_WDI_TRACE_ENABLE_MAX ),
2137
2138 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
2139 hdd_config_t, wdiTraceEnableDAT,
2140 VAR_FLAGS_OPTIONAL,
2141 CFG_WDI_TRACE_ENABLE_DEFAULT,
2142 CFG_WDI_TRACE_ENABLE_MIN,
2143 CFG_WDI_TRACE_ENABLE_MAX ),
2144
2145 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
2146 hdd_config_t, wdiTraceEnablePAL,
2147 VAR_FLAGS_OPTIONAL,
2148 CFG_WDI_TRACE_ENABLE_DEFAULT,
2149 CFG_WDI_TRACE_ENABLE_MIN,
2150 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002151
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002152 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002153 hdd_config_t, nTeleBcnTransListenInterval,
2154 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2155 CFG_TELE_BCN_TRANS_LI_DEFAULT,
2156 CFG_TELE_BCN_TRANS_LI_MIN,
2157 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002158
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002159 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002160 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
2161 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2162 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
2163 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
2164 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002165
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002166 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002167 hdd_config_t, nTeleBcnMaxListenInterval,
2168 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2169 CFG_TELE_BCN_MAX_LI_DEFAULT,
2170 CFG_TELE_BCN_MAX_LI_MIN,
2171 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002172
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002173 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002174 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
2175 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2176 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
2177 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
2178 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002179
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002180 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002181 hdd_config_t, bcnEarlyTermWakeInterval,
2182 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2183 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
2184 CFG_BCN_EARLY_TERM_WAKE_MIN,
2185 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002186
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002187 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002188 hdd_config_t, apDataAvailPollPeriodInMs,
2189 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2190 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2191 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002192 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
2193
2194 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002195 hdd_config_t, enableCloseLoop,
2196 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2197 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
2198 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002199 CFG_ENABLE_CLOSE_LOOP_MAX ),
2200
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002201 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002202 hdd_config_t, enableBypass11d,
2203 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2204 CFG_ENABLE_BYPASS_11D_DEFAULT,
2205 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002206 CFG_ENABLE_BYPASS_11D_MAX ),
2207
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002208 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002209 hdd_config_t, enableDFSChnlScan,
2210 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2211 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
2212 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002213 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
2214
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002215 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002216 hdd_config_t, enableDynamicDTIM,
2217 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2218 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
2219 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002220 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
2221
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002222 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002223 hdd_config_t, enableAutomaticTxPowerControl,
2224 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2225 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
2226 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002227 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
2228
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002229 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002230 hdd_config_t, ShortGI40MhzEnable,
2231 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2232 CFG_SHORT_GI_40MHZ_DEFAULT,
2233 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002234 CFG_SHORT_GI_40MHZ_MAX ),
2235
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002236 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002237 hdd_config_t, reportMaxLinkSpeed,
2238 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2239 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
2240 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002241 CFG_REPORT_MAX_LINK_SPEED_MAX,
2242 NULL, 0 ),
2243
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002244 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002245 hdd_config_t, linkSpeedRssiHigh,
2246 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2247 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
2248 CFG_LINK_SPEED_RSSI_HIGH_MIN,
2249 CFG_LINK_SPEED_RSSI_HIGH_MAX,
2250 NULL, 0 ),
2251
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002252 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07002253 hdd_config_t, linkSpeedRssiMid,
2254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2255 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
2256 CFG_LINK_SPEED_RSSI_MID_MIN,
2257 CFG_LINK_SPEED_RSSI_MID_MAX,
2258 NULL, 0 ),
2259
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002260 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002261 hdd_config_t, linkSpeedRssiLow,
2262 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2263 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
2264 CFG_LINK_SPEED_RSSI_LOW_MIN,
2265 CFG_LINK_SPEED_RSSI_LOW_MAX,
2266 NULL, 0 ),
2267
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002268#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002269 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002270 hdd_config_t, nRoamPrefer5GHz,
2271 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2272 CFG_ROAM_PREFER_5GHZ_DEFAULT,
2273 CFG_ROAM_PREFER_5GHZ_MIN,
2274 CFG_ROAM_PREFER_5GHZ_MAX,
2275 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002276
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002277 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002278 hdd_config_t, nRoamIntraBand,
2279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2280 CFG_ROAM_INTRA_BAND_DEFAULT,
2281 CFG_ROAM_INTRA_BAND_MIN,
2282 CFG_ROAM_INTRA_BAND_MAX,
2283 cbNotifySetRoamIntraBand, 0 ),
2284
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002285 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
2286 hdd_config_t, nProbes,
2287 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2288 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
2289 CFG_ROAM_SCAN_N_PROBES_MIN,
2290 CFG_ROAM_SCAN_N_PROBES_MAX,
2291 cbNotifySetRoamScanNProbes, 0 ),
2292
2293 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
2294 hdd_config_t, nRoamScanHomeAwayTime,
2295 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2296 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
2297 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
2298 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
2299 cbNotifySetRoamScanHomeAwayTime, 0 ),
2300
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002301#endif
2302
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002303 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07002304 hdd_config_t, isP2pDeviceAddrAdministrated,
2305 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2306 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
2307 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
2308 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002309
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002310 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002311 hdd_config_t, enableMCC,
2312 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2313 CFG_ENABLE_MCC_ENABLED_DEFAULT,
2314 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002315 CFG_ENABLE_MCC_ENABLED_MAX ),
2316
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002317 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002318 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002319 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2320 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
2321 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
2322 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002323
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002324 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002325 hdd_config_t, thermalMitigationEnable,
2326 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2327 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
2328 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002329 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002330
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002331 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002332 hdd_config_t, enableModulatedDTIM,
2333 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2334 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
2335 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002336 CFG_ENABLE_MODULATED_DTIM_MAX ),
2337
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002338 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002339 hdd_config_t, fEnableMCAddrList,
2340 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2341 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2342 CFG_MC_ADDR_LIST_ENABLE_MIN,
2343 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2344
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002345#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002346 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002347 hdd_config_t, vhtChannelWidth,
2348 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2349 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2350 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002351 CFG_VHT_CHANNEL_WIDTH_MAX),
2352
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002353 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002354 hdd_config_t, vhtRxMCS,
2355 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2356 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2357 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002358 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2359
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002360 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002361 hdd_config_t, vhtTxMCS,
2362 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2363 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2364 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002365 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2366#endif
2367
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002368 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002369 hdd_config_t, enableFirstScan2GOnly,
2370 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2371 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2372 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002373 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2374
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002375 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002376 hdd_config_t, skipDfsChnlInP2pSearch,
2377 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2378 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2379 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002380 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2381
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002382 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002383 hdd_config_t, ignoreDynamicDtimInP2pMode,
2384 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2385 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2386 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002387 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2388
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002389 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002390 hdd_config_t,numBuffAdvert ,
2391 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2392 CFG_NUM_BUFF_ADVERT_DEFAULT,
2393 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002394 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002395
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002396 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002397 hdd_config_t, configMccParam,
2398 VAR_FLAGS_OPTIONAL,
2399 CFG_MCC_CONFIG_PARAM_DEFAULT,
2400 CFG_MCC_CONFIG_PARAM_MIN,
2401 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002402 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002403 hdd_config_t, enableRxSTBC,
2404 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2405 CFG_ENABLE_RX_STBC_DEFAULT,
2406 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302407 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002408#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002409 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002410 hdd_config_t, fEnableTDLSSupport,
2411 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2412 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2413 CFG_TDLS_SUPPORT_ENABLE_MIN,
2414 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302415
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002416 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302417 hdd_config_t, fEnableTDLSImplicitTrigger,
2418 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2419 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2420 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2421 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2422
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002423 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302424 hdd_config_t, fTDLSTxStatsPeriod,
2425 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2426 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2427 CFG_TDLS_TX_STATS_PERIOD_MIN,
2428 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2429
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002430 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302431 hdd_config_t, fTDLSTxPacketThreshold,
2432 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2433 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2434 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2435 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2436
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002437 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302438 hdd_config_t, fTDLSDiscoveryPeriod,
2439 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2440 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2441 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2442 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2443
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002444 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302445 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2446 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2447 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2448 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2449 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2450
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002451 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002452 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302453 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002454 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2455 CFG_TDLS_IDLE_TIMEOUT_MIN,
2456 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2457
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002458 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002459 hdd_config_t, fTDLSIdlePacketThreshold,
2460 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2461 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2462 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2463 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302464
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002465 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002466 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302467 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2468 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2469 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2470 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002471
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002472 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002473 hdd_config_t, fTDLSRSSITriggerThreshold,
2474 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2475 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2476 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2477 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2478
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002479 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002480 hdd_config_t, fTDLSRSSITeardownThreshold,
2481 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2482 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2483 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2484 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302485
2486REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2487 hdd_config_t, fTDLSUapsdMask,
2488 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2489 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2490 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2491 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2492
2493REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2494 hdd_config_t, fEnableTDLSBufferSta,
2495 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2496 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2497 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2498 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2499
Naresh Jayaramf73f3762014-02-04 16:13:20 +05302500REG_VARIABLE( CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2501 hdd_config_t, fEnableTDLSOffChannel,
2502 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2503 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_DEFAULT,
2504 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MIN,
2505 CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MAX ),
2506
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302507REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2508 hdd_config_t, fTDLSPuapsdInactivityTimer,
2509 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2510 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2511 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2512 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2513
2514REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2515 hdd_config_t, fTDLSRxFrameThreshold,
2516 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2517 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2518 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2519 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Sunil Dutt41de4e22013-11-14 18:09:02 +05302520
2521REG_VARIABLE( CFG_TDLS_EXTERNAL_CONTROL, WLAN_PARAM_Integer,
2522 hdd_config_t, fTDLSExternalControl,
2523 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2524 CFG_TDLS_EXTERNAL_CONTROL_DEFAULT,
2525 CFG_TDLS_EXTERNAL_CONTROL_MIN,
2526 CFG_TDLS_EXTERNAL_CONTROL_MAX ),
Pradeep Reddy POTTETIa9c80d52014-05-09 18:05:29 +05302527
2528REG_VARIABLE( CFG_TDLS_WMM_MODE_ENABLE, WLAN_PARAM_Integer,
2529 hdd_config_t, fEnableTDLSWmmMode,
2530 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2531 CFG_TDLS_WMM_MODE_ENABLE_DEFAULT,
2532 CFG_TDLS_WMM_MODE_ENABLE_MIN,
2533 CFG_TDLS_WMM_MODE_ENABLE_MAX ),
Pradeep Reddy POTTETIedaeb5f2014-05-22 23:34:41 +05302534
2535REG_VARIABLE( CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2536 hdd_config_t, fEnableTDLSScanCoexSupport,
2537 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2538 CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE_DEFAULT,
2539 CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE_MIN,
2540 CFG_TDLS_SCAN_COEX_SUPPORT_ENABLE_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002541#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002542
Dino Mycledf0a5d92014-07-04 09:41:55 +05302543#ifdef WLAN_FEATURE_LINK_LAYER_STATS
2544REG_VARIABLE( CFG_LINK_LAYER_STATS_ENABLE, WLAN_PARAM_Integer,
2545 hdd_config_t, fEnableLLStats,
2546 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2547 CFG_LINK_LAYER_STATS_ENABLE_DEFAULT,
2548 CFG_LINK_LAYER_STATS_ENABLE_MIN,
2549 CFG_LINK_LAYER_STATS_ENABLE_MAX ),
2550#endif
Dino Myclee8843b32014-07-04 14:21:45 +05302551#ifdef WLAN_FEATURE_EXTSCAN
2552REG_VARIABLE( CFG_EXTSCAN_ENABLE, WLAN_PARAM_Integer,
2553 hdd_config_t, fEnableEXTScan,
2554 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2555 CFG_EXTSCAN_ENABLE_DEFAULT,
2556 CFG_EXTSCAN_ENABLE_MIN,
2557 CFG_EXTSCAN_ENABLE_MAX ),
2558#endif
Dino Mycledf0a5d92014-07-04 09:41:55 +05302559
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002560#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002561 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002562 hdd_config_t, fEnableVSTASupport,
2563 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2564 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2565 CFG_VSTA_SUPPORT_ENABLE_MIN,
2566 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2567#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002568 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002569 hdd_config_t, enableLpwrImgTransition,
2570 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2571 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2572 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002573 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2574
Yathish9f22e662012-12-10 14:21:35 -08002575#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002576 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002577 hdd_config_t, fEnableActiveModeOffload,
2578 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2579 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2580 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2581 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2582#endif
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002583
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002584 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002585 hdd_config_t, scanAgingTimeout,
2586 VAR_FLAGS_OPTIONAL,
2587 CFG_SCAN_AGING_PARAM_DEFAULT,
2588 CFG_SCAN_AGING_PARAM_MIN,
2589 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002590
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002591 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002592 hdd_config_t, enableTxLdpc,
2593 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2594 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2595 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2596 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2597
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002598 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302599 hdd_config_t, enableMCCAdaptiveScheduler,
2600 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2601 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2602 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2603 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2604
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002605 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302606 hdd_config_t, isAndroidPsEn,
2607 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2608 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2609 CFG_ANDRIOD_POWER_SAVE_MIN,
2610 CFG_ANDRIOD_POWER_SAVE_MAX),
2611
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002612 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002613 hdd_config_t, AdHocChannel5G,
2614 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2615 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2616 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2617 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2618
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002619 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002620 hdd_config_t, AdHocChannel24G,
2621 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2622 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2623 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2624 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2625
2626
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002627#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002628 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002629 hdd_config_t, enableTxBF,
2630 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2631 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2632 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2633 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002634
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002635 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002636 hdd_config_t, txBFCsnValue,
2637 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2638 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2639 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2640 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2641
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002642#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302643
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002644 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302645 hdd_config_t, sapAllowAllChannel,
2646 VAR_FLAGS_OPTIONAL,
2647 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2648 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2649 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002650
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002651#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002652 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002653 hdd_config_t, disableLDPCWithTxbfAP,
2654 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2655 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2656 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2657 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2658#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002659
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002660 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002661 hdd_config_t, listOfNonDfsCountryCode,
2662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2663 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2664
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002665 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2666 hdd_config_t, enableSSR,
2667 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2668 CFG_ENABLE_SSR_DEFAULT,
2669 CFG_ENABLE_SSR_MIN,
2670 CFG_ENABLE_SSR_MAX,
2671 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302672
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002673 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302674 hdd_config_t, listOfNon11acCountryCode,
2675 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2676 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2677
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002678 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302679 hdd_config_t, cfgMaxMediumTime,
2680 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2681 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2682 CFG_MAX_MEDIUM_TIME_STAMIN,
2683 CFG_MAX_MEDIUM_TIME_STAMAX ),
2684
Leo Chang64d68bc2013-06-04 15:40:52 -07002685 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2686 hdd_config_t, enableTrafficMonitor,
2687 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2688 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2689 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2690 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2691
2692 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2693 hdd_config_t, trafficIdleTimeout,
2694 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2695 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2696 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2697 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002698
2699#ifdef WLAN_FEATURE_11AC
2700 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2701 hdd_config_t, enableVhtFor24GHzBand,
2702 VAR_FLAGS_OPTIONAL,
2703 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2704 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2705 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2706#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302707
2708 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2709 hdd_config_t, fScanOffload,
2710 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2711 CFG_SCAN_OFFLOAD_DEFAULT,
2712 CFG_SCAN_OFFLOAD_DISABLE,
2713 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002714
2715#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2716 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2717 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2719 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2720 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2721 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2722 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2723#endif
2724
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07002725 REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
2726 hdd_config_t, fEnableAdaptRxDrain,
2727 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2728 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
2729 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
2730 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
2731
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002732 REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer,
2733 hdd_config_t, dynSplitscan,
2734 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2735 CFG_DYNAMIC_SPLIT_SCAN_DEFAULT,
2736 CFG_DYNAMIC_SPLIT_SCAN_MIN,
2737 CFG_DYNAMIC_SPLIT_SCAN_MAX ),
2738
2739 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer,
2740 hdd_config_t, txRxThresholdForSplitScan,
2741 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2742 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT,
2743 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN,
2744 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ),
2745
2746 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer,
2747 hdd_config_t, trafficMntrTmrForSplitScan,
2748 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2749 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT,
2750 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN,
2751 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ),
2752
Yue Ma0fd23872013-08-01 15:56:47 -07002753 REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer,
2754 hdd_config_t, flexConnectPowerFactor,
2755 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX,
2756 CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT,
2757 CFG_FLEX_CONNECT_POWER_FACTOR_MIN,
2758 CFG_FLEX_CONNECT_POWER_FACTOR_MAX ),
2759
Ravi Joshid2ca7c42013-07-23 08:37:49 -07002760 REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer,
2761 hdd_config_t, enableIbssHeartBeatOffload,
2762 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2763 CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT,
2764 CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN,
2765 CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX),
2766
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05302767 REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer,
2768 hdd_config_t, antennaDiversity,
2769 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2770 CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT,
2771 CFG_ANTENNA_DIVERSITY_PARAM_MIN,
2772 CFG_ANTENNA_DIVERSITY_PARAM_MAX),
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05302773
2774 REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2775 hdd_config_t, fEnableSNRMonitoring,
2776 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2777 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2778 CFG_ENABLE_SNR_MONITORING_MIN,
2779 CFG_ENABLE_SNR_MONITORING_MAX),
2780
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302781#ifdef FEATURE_WLAN_SCAN_PNO
Hardik Kantilal Patel3dfd8792013-11-13 20:34:57 +05302782 REG_VARIABLE( CFG_PNO_SCAN_SUPPORT, WLAN_PARAM_Integer,
2783 hdd_config_t, configPNOScanSupport,
2784 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2785 CFG_PNO_SCAN_SUPPORT_DEFAULT,
2786 CFG_PNO_SCAN_SUPPORT_DISABLE,
2787 CFG_PNO_SCAN_SUPPORT_ENABLE),
2788
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302789 REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2790 hdd_config_t, configPNOScanTimerRepeatValue,
2791 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2792 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2793 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2794 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
2795#endif
krunal soni5afa96c2013-09-06 22:19:02 -07002796 REG_VARIABLE( CFG_AMSDU_SUPPORT_IN_AMPDU_NAME , WLAN_PARAM_Integer,
2797 hdd_config_t, isAmsduSupportInAMPDU,
2798 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2799 CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT,
2800 CFG_AMSDU_SUPPORT_IN_AMPDU_MIN,
2801 CFG_AMSDU_SUPPORT_IN_AMPDU_MAX ),
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302802
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07002803 REG_VARIABLE( CFG_STRICT_5GHZ_PREF_BY_MARGIN , WLAN_PARAM_Integer,
2804 hdd_config_t, nSelect5GHzMargin,
2805 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2806 CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT,
2807 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN,
2808 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX ),
2809
krunal sonie9002db2013-11-25 14:24:17 -08002810 REG_VARIABLE( CFG_COALESING_IN_IBSS_NAME , WLAN_PARAM_Integer,
2811 hdd_config_t, isCoalesingInIBSSAllowed,
2812 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2813 CFG_COALESING_IN_IBSS_DEFAULT,
2814 CFG_COALESING_IN_IBSS_MIN,
2815 CFG_COALESING_IN_IBSS_MAX ),
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05302816
2817 REG_VARIABLE( CFG_DISABLE_ATH_NAME , WLAN_PARAM_Integer,
2818 hdd_config_t, cfgAthDisable,
2819 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2820 CFG_DISABLE_ATH_DEFAULT,
2821 CFG_DISABLE_ATH_MIN,
2822 CFG_DISABLE_ATH_MAX ),
c_hpothu6d7dc922013-12-02 12:36:41 +05302823 REG_VARIABLE(CFG_BTC_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2824 hdd_config_t, cfgBtcActiveWlanLen,
2825 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2826 CFG_BTC_ACTIVE_WLAN_LEN_DEFAULT,
2827 CFG_BTC_ACTIVE_WLAN_LEN_MIN,
2828 CFG_BTC_ACTIVE_WLAN_LEN_MAX ),
2829
2830 REG_VARIABLE(CFG_BTC_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2831 hdd_config_t, cfgBtcActiveBtLen,
2832 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2833 CFG_BTC_ACTIVE_BT_LEN_DEFAULT,
2834 CFG_BTC_ACTIVE_BT_LEN_MIN,
2835 CFG_BTC_ACTIVE_BT_LEN_MAX ),
2836
2837 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2838 hdd_config_t, cfgBtcSapActiveWlanLen,
2839 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2840 CFG_BTC_SAP_ACTIVE_WLAN_LEN_DEFAULT,
2841 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MIN,
2842 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MAX ),
2843
2844 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2845 hdd_config_t, cfgBtcSapActiveBtLen,
2846 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2847 CFG_BTC_SAP_ACTIVE_BT_LEN_DEFAULT,
2848 CFG_BTC_SAP_ACTIVE_BT_LEN_MIN,
2849 CFG_BTC_SAP_ACTIVE_BT_LEN_MAX ),
Arif Hussaind5218912013-12-05 01:10:55 -08002850
2851#ifdef MEMORY_DEBUG
2852 REG_VARIABLE(CFG_ENABLE_MEMORY_DEBUG_NAME, WLAN_PARAM_Integer,
2853 hdd_config_t, IsMemoryDebugSupportEnabled,
2854 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2855 CFG_ENABLE_MEMORY_DEBUG_DEFAULT,
2856 CFG_ENABLE_MEMORY_DEBUG_MIN,
2857 CFG_ENABLE_MEMORY_DEBUG_MAX ),
2858#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002859
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08002860 REG_VARIABLE_STRING( CFG_OVERRIDE_COUNTRY_CODE, WLAN_PARAM_String,
2861 hdd_config_t, overrideCountryCode,
2862 VAR_FLAGS_OPTIONAL,
Kiet Lamaa8e15a2014-02-11 23:30:06 -08002863 (void *)CFG_OVERRIDE_COUNTRY_CODE_DEFAULT),
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05302864
2865 REG_VARIABLE( CFG_ASD_PROBE_INTERVAL_NAME, WLAN_PARAM_Integer,
2866 hdd_config_t, gAsdProbeInterval,
2867 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2868 CFG_ASD_PROBE_INTERVAL_DEFAULT,
2869 CFG_ASD_PROBE_INTERVAL_MIN,
2870 CFG_ASD_PROBE_INTERVAL_MAX),
2871
2872 REG_VARIABLE( CFG_ASD_TRIGGER_THRESHOLD_NAME, WLAN_PARAM_Integer,
2873 hdd_config_t, gAsdTriggerThreshold,
2874 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2875 CFG_ASD_TRIGGER_THRESHOLD_DEFAULT,
2876 CFG_ASD_TRIGGER_THRESHOLD_MIN,
2877 CFG_ASD_TRIGGER_THRESHOLD_MAX),
2878
2879 REG_VARIABLE( CFG_ASD_RTT_RSSI_HYST_THRESHOLD_NAME, WLAN_PARAM_Integer,
2880 hdd_config_t, gAsdRTTRssiHystThreshold,
2881 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2882 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_DEFAULT,
2883 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MIN,
2884 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MAX),
Leela Venkata Kiran Kumar Reddy Chirala22c159b2013-12-23 18:19:13 -08002885
2886 REG_VARIABLE( CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_NAME, WLAN_PARAM_Integer,
2887 hdd_config_t, debugP2pRemainOnChannel,
2888 VAR_FLAGS_OPTIONAL,
2889 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_DEFAULT,
2890 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MIN,
2891 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MAX ),
2892
2893 REG_VARIABLE(CFG_CTS2S_DURING_BTC_SCO_NAME, WLAN_PARAM_Integer,
2894 hdd_config_t, cfgBtcCTS2SduringSCO,
2895 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2896 CFG_CTS2S_DURING_BTC_SCO_DEFAULT,
2897 CFG_CTS2S_DURING_BTC_SCO_MIN,
2898 CFG_CTS2S_DURING_BTC_SCO_MAX ),
Tushnim Bhattacharyyaa3ba5a52014-01-30 11:37:33 -08002899
2900 REG_VARIABLE( CFG_ENABLE_DEBUG_CONNECT_ISSUE, WLAN_PARAM_Integer,
2901 hdd_config_t, gEnableDebugLog,
2902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2903 CFG_ENABLE_DEBUG_CONNECT_ISSUE_DEFAULT,
2904 CFG_ENABLE_DEBUG_CONNECT_ISSUE_MIN ,
2905 CFG_ENABLE_DEBUG_CONNECT_ISSUE_MAX),
Sandeep Puligilla04bb8fd2014-02-03 23:21:47 +05302906
2907 REG_VARIABLE(CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_NAME, WLAN_PARAM_Integer,
2908 hdd_config_t, nOBSSScanActiveDwellTime,
2909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2910 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_DEFAULT,
2911 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MIN,
2912 CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MAX ),
2913
2914 REG_VARIABLE(CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_NAME, WLAN_PARAM_Integer,
2915 hdd_config_t, nOBSSScanPassiveDwellTime,
2916 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2917 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_DEFAULT,
2918 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MIN,
2919 CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MAX ),
2920
2921 REG_VARIABLE(CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_NAME,
2922 WLAN_PARAM_Integer,
2923 hdd_config_t, nOBSSScanWidthTriggerInterval,
2924 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2925 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_DEFAULT,
2926 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MIN,
2927 CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MAX ),
Kalikinkar dharad73a9bd2014-01-28 22:42:34 -08002928
2929 REG_VARIABLE( CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_NAME, WLAN_PARAM_Integer,
2930 hdd_config_t, gEnableStrictRegulatoryForFCC,
2931 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2932 CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_DEFAULT,
2933 CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_MIN,
2934 CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_MAX ),
2935
Rashmi Ramannabd3feb72014-02-25 16:14:48 +05302936 REG_VARIABLE( CFG_ADVERTISE_CONCURRENT_OPERATION_NAME , WLAN_PARAM_Integer,
2937 hdd_config_t, advertiseConcurrentOperation,
2938 VAR_FLAGS_OPTIONAL,
2939 CFG_ADVERTISE_CONCURRENT_OPERATION_DEFAULT,
2940 CFG_ADVERTISE_CONCURRENT_OPERATION_MIN,
2941 CFG_ADVERTISE_CONCURRENT_OPERATION_MAX ),
2942
Abhishek Singh8280c4e2014-02-18 13:26:34 +05302943 REG_VARIABLE( CFG_DEFAULT_RATE_INDEX_24GH, WLAN_PARAM_Integer,
2944 hdd_config_t, defaultRateIndex24Ghz,
2945 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2946 CFG_DEFAULT_RATE_INDEX_24GH_DEFAULT,
2947 CFG_DEFAULT_RATE_INDEX_24GH_MIN,
2948 CFG_DEFAULT_RATE_INDEX_24GH_MAX ),
2949
Abhishek Singhf0ac1752014-03-05 17:47:09 +05302950 REG_VARIABLE( CFG_SAP_DOT11_MODE_NAME, WLAN_PARAM_Integer,
2951 hdd_config_t, sapDot11Mode,
2952 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2953 CFG_SAP_DOT11_MODE_DEFAULT,
2954 CFG_SAP_DOT11_MODE_MIN,
2955 CFG_SAP_DOT11_MODE_MAX ),
2956
c_hpothu5bd1ae42014-03-07 20:28:22 +05302957 REG_VARIABLE(CFG_RA_FILTER_ENABLE_NAME, WLAN_PARAM_Integer,
2958 hdd_config_t, cfgRAFilterEnable,
2959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2960 CFG_RA_FILTER_ENABLE_DEFAULT,
2961 CFG_RA_FILTER_ENABLE_MIN,
2962 CFG_RA_FILTER_ENABLE_MAX ),
2963
2964 REG_VARIABLE(CFG_RA_RATE_LIMIT_INTERVAL_NAME, WLAN_PARAM_Integer,
2965 hdd_config_t, cfgRARateLimitInterval,
2966 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2967 CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT,
2968 CFG_RA_RATE_LIMIT_INTERVAL_MIN,
2969 CFG_RA_RATE_LIMIT_INTERVAL_MAX ),
Sandeep Puligillac80f26e2014-03-11 18:36:10 +05302970
2971 REG_VARIABLE( CFG_ROAMING_DFS_CHANNEL_NAME , WLAN_PARAM_Integer,
2972 hdd_config_t, allowDFSChannelRoam,
2973 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2974 CFG_ROAMING_DFS_CHANNEL_DEFAULT,
2975 CFG_ROAMING_DFS_CHANNEL_MIN,
2976 CFG_ROAMING_DFS_CHANNEL_MAX ),
Vinay Krishna Erannad938c422014-03-10 17:14:21 +05302977
2978#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
2979 REG_VARIABLE( CFG_WLAN_LOGGING_SUPPORT_NAME, WLAN_PARAM_Integer,
2980 hdd_config_t, wlanLoggingEnable,
2981 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2982 CFG_WLAN_LOGGING_SUPPORT_DEFAULT,
2983 CFG_WLAN_LOGGING_SUPPORT_DISABLE,
2984 CFG_WLAN_LOGGING_SUPPORT_ENABLE ),
2985
2986 REG_VARIABLE( CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_NAME, WLAN_PARAM_Integer,
2987 hdd_config_t, wlanLoggingFEToConsole,
2988 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2989 CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_DEFAULT,
2990 CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_DISABLE,
2991 CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_ENABLE ),
2992
2993 REG_VARIABLE( CFG_WLAN_LOGGING_NUM_BUF_NAME, WLAN_PARAM_Integer,
2994 hdd_config_t, wlanLoggingNumBuf,
2995 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2996 CFG_WLAN_LOGGING_NUM_BUF_DEFAULT,
2997 CFG_WLAN_LOGGING_NUM_BUF_MIN,
2998 CFG_WLAN_LOGGING_NUM_BUF_MAX ),
2999#endif //WLAN_LOGGING_SOCK_SVC_ENABLE
3000
c_hpothu059edb02014-03-12 21:44:28 +05303001 REG_VARIABLE(CFG_INITIAL_DWELL_TIME_NAME, WLAN_PARAM_Integer,
3002 hdd_config_t, nInitialDwellTime,
3003 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3004 CFG_INITIAL_DWELL_TIME_DEFAULT,
3005 CFG_INITIAL_DWELL_TIME_MIN,
3006 CFG_INITIAL_DWELL_TIME_MAX ),
c_hpothu0d5a7352014-03-22 12:30:25 +05303007
3008 REG_VARIABLE(CFG_INITIAL_SCAN_SKIP_DFS_CH_NAME, WLAN_PARAM_Integer,
3009 hdd_config_t, initialScanSkipDFSCh,
3010 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3011 CFG_INITIAL_SCAN_SKIP_DFS_CH_DEFAULT,
3012 CFG_INITIAL_SCAN_SKIP_DFS_CH_MIN,
3013 CFG_INITIAL_SCAN_SKIP_DFS_CH_MAX),
c_hpothu2d0f1c42014-04-01 18:38:51 +05303014
3015 REG_VARIABLE(CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_NAME, WLAN_PARAM_Integer,
3016 hdd_config_t, cfgBtcFatalHidnSniffBlkGuidance,
3017 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3018 CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_DEFAULT,
3019 CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_MIN,
3020 CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE_MAX ),
3021
3022 REG_VARIABLE(CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_NAME, WLAN_PARAM_Integer,
3023 hdd_config_t, cfgBtcCriticalHidnSniffBlkGuidance,
3024 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3025 CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_DEFAULT,
3026 CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_MIN,
3027 CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE_MAX ),
3028
3029 REG_VARIABLE(CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_NAME, WLAN_PARAM_Integer,
3030 hdd_config_t, cfgBtcA2dpTxQueueThold,
3031 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3032 CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_DEFAULT,
3033 CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_MIN,
3034 CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD_MAX ),
3035
3036 REG_VARIABLE(CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_NAME, WLAN_PARAM_Integer,
3037 hdd_config_t, cfgBtcOppTxQueueThold,
3038 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3039 CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_DEFAULT,
3040 CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_MIN,
3041 CFG_BTC_DYN_OPP_TX_QUEUE_THOLD_MAX ),
Chet Lanctotfadc8e32014-04-24 14:50:52 -07003042
3043#ifdef WLAN_FEATURE_11W
3044 REG_VARIABLE(CFG_PMF_SA_QUERY_MAX_RETRIES_NAME, WLAN_PARAM_Integer,
3045 hdd_config_t, pmfSaQueryMaxRetries,
3046 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3047 CFG_PMF_SA_QUERY_MAX_RETRIES_DEFAULT,
3048 CFG_PMF_SA_QUERY_MAX_RETRIES_MIN,
3049 CFG_PMF_SA_QUERY_MAX_RETRIES_MAX ),
3050
3051 REG_VARIABLE(CFG_PMF_SA_QUERY_RETRY_INTERVAL_NAME, WLAN_PARAM_Integer,
3052 hdd_config_t, pmfSaQueryRetryInterval,
3053 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3054 CFG_PMF_SA_QUERY_RETRY_INTERVAL_DEFAULT,
3055 CFG_PMF_SA_QUERY_RETRY_INTERVAL_MIN,
3056 CFG_PMF_SA_QUERY_RETRY_INTERVAL_MAX ),
3057#endif
Rashmi Ramanna68b309c2014-05-20 11:52:22 +05303058
3059 REG_VARIABLE(CFG_DEFER_IMPS_FOR_TIME_NAME, WLAN_PARAM_Integer,
3060 hdd_config_t, deferImpsTime,
3061 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3062 CFG_DEFER_IMPS_FOR_TIME_DEFAULT,
3063 CFG_DEFER_IMPS_FOR_TIME_MIN,
3064 CFG_DEFER_IMPS_FOR_TIME_MAX),
3065
Abhishek Singhde51a412014-05-20 19:17:26 +05303066 REG_VARIABLE(CFG_ENABLE_DEAUTH_BEFORE_CONNECTION, WLAN_PARAM_Integer,
3067 hdd_config_t, sendDeauthBeforeCon,
3068 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3069 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_DEFAULT,
3070 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MIN,
3071 CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MAX),
Pradeep Reddy POTTETI5c2e16d2014-06-27 16:47:38 +05303072
3073 REG_VARIABLE(CFG_ENABLE_CH_AVOID, WLAN_PARAM_Integer,
3074 hdd_config_t, fenableCHAvoidance,
3075 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
3076 CFG_ENABLE_CH_AVOID_DEFAULT,
3077 CFG_ENABLE_CH_AVOID_MIN,
3078 CFG_ENABLE_CH_AVOID_MAX ),
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08003079};
3080
Jeff Johnson295189b2012-06-20 16:38:30 -07003081/*
3082 * This function returns a pointer to the character after the occurence
3083 * of a new line character. It also modifies the original string by replacing
3084 * the '\n' character with the null character.
3085 * Function returns NULL if no new line character was found before end of
3086 * string was reached
3087 */
3088static char* get_next_line(char* str)
3089{
3090 char c;
3091
3092 if( str == NULL || *str == '\0') {
3093 return NULL;
3094 }
3095
3096 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003097 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07003098 str = str + 1;
3099 c = *str;
3100 }
3101
3102 if (c == '\0' ) {
3103 return NULL;
3104 }
3105 else
3106 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003107 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003108 return (str+1);
3109 }
3110
3111 return NULL;
3112}
3113
3114// look for space. Ascii values to look are -
3115// 0x09 == horizontal tab
3116// 0x0a == Newline ("\n")
3117// 0x0b == vertical tab
3118// 0x0c == Newpage or feed form.
3119// 0x0d == carriage return (CR or "\r")
3120// Null ('\0') should not considered as space.
3121#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
3122
3123/*
3124 * This function trims any leading and trailing white spaces
3125 */
3126static char *i_trim(char *str)
3127
3128{
3129 char *ptr;
3130
3131 if(*str == '\0') return str;
3132
3133 /* Find the first non white-space*/
3134 for (ptr = str; i_isspace(*ptr); ptr++);
3135 if (*ptr == '\0')
3136 return str;
3137
3138 /* This is the new start of the string*/
3139 str = ptr;
3140
3141 /* Find the last non white-space */
3142 ptr += strlen(ptr) - 1;
3143 for (; ptr != str && i_isspace(*ptr); ptr--);
3144 /* Null terminate the following character */
3145 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003146
Jeff Johnson295189b2012-06-20 16:38:30 -07003147 return str;
3148}
3149
3150
3151//Structure to store each entry in qcom_cfg.ini file
3152typedef struct
3153{
3154 char *name;
3155 char *value;
3156}tCfgIniEntry;
3157
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003158static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07003159 tCfgIniEntry* iniTable, unsigned long entries);
3160
3161#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003162void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07003163{
3164 unsigned long i;
3165
3166 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003167 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07003168 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
3169 }
3170}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003171#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003172
3173/*
3174 * This function reads the qcom_cfg.ini file and
3175 * parses each 'Name=Value' pair in the ini file
3176 */
3177VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
3178{
3179 int status, i=0;
3180 /** Pointer for firmware image data */
3181 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07003182 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07003183 size_t size;
3184 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07003185 /* cfgIniTable is static to avoid excess stack usage */
3186 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07003187 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
3188
3189 memset(cfgIniTable, 0, sizeof(cfgIniTable));
3190
3191 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003192
Jeff Johnson295189b2012-06-20 16:38:30 -07003193 if(status)
3194 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003195 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07003196 vos_status = VOS_STATUS_E_FAILURE;
3197 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07003198 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003199 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07003200 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003201 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003202 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07003203 vos_status = VOS_STATUS_E_FAILURE;
3204 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003205 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003206
Jeff Johnson59a121e2013-11-30 09:46:08 -08003207 hddLog(LOG1, "%s: qcom_cfg.ini Size %zu", __func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07003208
3209 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003210
Jeff Johnson295189b2012-06-20 16:38:30 -07003211 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003212 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07003213 release_firmware(fw);
3214 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003215 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003216 pTemp = buffer;
3217
3218 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
3219 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003220
Jeff Johnson295189b2012-06-20 16:38:30 -07003221 while (buffer != NULL)
3222 {
3223 line = get_next_line(buffer);
3224 buffer = i_trim(buffer);
3225
3226 hddLog(LOG1, "%s: item", buffer);
3227
3228 if(strlen((char*)buffer) == 0 || *buffer == '#') {
3229 buffer = line;
3230 continue;
3231 }
3232 else if(strncmp(buffer, "END", 3) == 0 ) {
3233 break;
3234 }
3235 else
3236 {
3237 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003238 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003239 buffer++;
3240 if(*buffer != '\0') {
3241 *buffer++ = '\0';
3242 i_trim(name);
3243 if(strlen (name) != 0) {
3244 buffer = i_trim(buffer);
3245 if(strlen(buffer)>0) {
3246 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003247 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003248 buffer++;
3249 *buffer = '\0';
3250 cfgIniTable[i].name= name;
3251 cfgIniTable[i++].value= value;
3252 if(i >= MAX_CFG_INI_ITEMS) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003253 hddLog(LOGE,"%s: Number of items in %s > %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003254 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07003255 break;
3256 }
3257 }
3258 }
3259 }
3260 }
3261 buffer = line;
3262 }
3263
3264 //Loop through the registry table and apply all these configs
3265 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
3266
Jeff Johnson4416a782013-03-25 14:17:50 -07003267config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07003268 release_firmware(fw);
3269 vos_mem_free(pTemp);
3270 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003271}
Jeff Johnson295189b2012-06-20 16:38:30 -07003272
3273
3274static void print_hdd_cfg(hdd_context_t *pHddCtx)
3275{
3276 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003277 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 -07003278 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
3279 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
3280 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
3281 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 -07003282 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 -07003283 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 -08003284 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
3285 "Name = [gIbssBssid] Value =["MAC_ADDRESS_STR"]",
3286 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->IbssBssid.bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003287
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003288 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003289 "Name = [Intf0MacAddress] Value =["MAC_ADDRESS_STR"]",
3290 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[0].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003291
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003292 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003293 "Name = [Intf1MacAddress] Value =["MAC_ADDRESS_STR"]",
3294 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[1].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003295
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003296 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003297 "Name = [Intf2MacAddress] Value =["MAC_ADDRESS_STR"]",
3298 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[2].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003299
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003300 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003301 "Name = [Intf3MacAddress] Value =["MAC_ADDRESS_STR"]",
3302 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[3].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003303
Arif Hussain6d2a3322013-11-17 19:50:10 -08003304 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 -07003305
Arif Hussain6d2a3322013-11-17 19:50:10 -08003306 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]",
Jeff Johnson295189b2012-06-20 16:38:30 -07003307 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
3308 pHddCtx->cfg_ini->apCntryCode[2]);
3309 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 -08003310 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 -07003311
Arif Hussain6d2a3322013-11-17 19:50:10 -08003312 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableListenMode] Value = [%u]", pHddCtx->cfg_ini->nEnableListenMode);
3313 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]",pHddCtx->cfg_ini->apProtection);
3314 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]",pHddCtx->cfg_ini->apOBSSProtEnabled);
3315 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 -08003316
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003317 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
3318 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
3319 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 -07003320 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
3321 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
3322 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
3323 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
3324
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003325 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
3326 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 -07003327
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003328 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
3329 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 -07003330
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003331 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
3332 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 -07003333
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003334 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
3335 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 -08003336#ifdef FEATURE_WLAN_ESE
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003337 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 -08003338 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 -07003339 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
3340 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 -08003341#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003342#ifdef FEATURE_WLAN_LFR
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003343 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 -08003344 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 -08003345#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003346#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003347 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->RoamRssiDiff);
3348 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
3349 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 -07003350#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003351#ifdef FEATURE_WLAN_OKC
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003352 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 -07003353#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003354 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
3355 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 -07003356 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
3357 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 -07003358 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
3359
3360 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
3361 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 -07003362 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
3363 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 -07003364 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
3365
3366 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
3367 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 -07003368 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
3369 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 -07003370 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
3371
3372 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
3373 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 -07003374 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
3375 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 -07003376 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
3377
3378 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
3379 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
3380 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
3381 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 -07003382 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 -08003383 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BkReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->BkReorderAgingTime);
3384 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BeReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->BeReorderAgingTime);
3385 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ViReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->ViReorderAgingTime);
3386 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 -07003387 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
3388 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 -08003389#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003390 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 -07003391#endif
3392
3393#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003394 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
3395 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
3396 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
3397 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
3398 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%u] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
3399 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
3400 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanResultsRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod);
3401 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nEmptyScanRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
Jeff Johnson295189b2012-06-20 16:38:30 -07003402#endif
3403 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
3404 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
3405 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
3406 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
3407 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
3408 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
3409 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
3410
3411 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
3412 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3413 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
3414#ifdef WLAN_BTAMP_FEATURE
3415 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
3416#endif //WLAN_BTAMP_FEATURE
3417 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
3418 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
3419 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
3420 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
3421 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
3422 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
3423 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
3424 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
3425 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3426 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
3427 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
3428 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
3429 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 -07003430#ifdef WLAN_FEATURE_11AC
Arif Hussain6d2a3322013-11-17 19:50:10 -08003431 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 -07003432#endif
3433 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
3434 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
3435 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 +05303436 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 -08003437 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 -07003438 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 -07003439 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 -07003440
Leo Chang64d68bc2013-06-04 15:40:52 -07003441 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
3442 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 -07003443 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 -07003444 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 +05303445 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 +05303446 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
3447 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
3448 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
3449 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 -07003450 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAmsduSupportInAMPDU] Value = [%u] ",pHddCtx->cfg_ini->isAmsduSupportInAMPDU);
3451 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 -08003452 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 +05303453
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08003454 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 +05303455
3456 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdProbeInterval] Value = [%u]",pHddCtx->cfg_ini->gAsdProbeInterval);
3457 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdTriggerThreshold] Value = [%u]",pHddCtx->cfg_ini->gAsdTriggerThreshold);
3458 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 +05303459 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gRoamtoDFSChannel] Value = [%u] ",pHddCtx->cfg_ini->allowDFSChannelRoam);
Jeff Johnson295189b2012-06-20 16:38:30 -07003460}
3461
3462
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003463
Jeff Johnson295189b2012-06-20 16:38:30 -07003464#define CFG_VALUE_MAX_LEN 256
3465#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
3466VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
3467{
3468 unsigned int idx;
3469 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3470 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3471 v_U32_t value;
3472 char valueStr[CFG_VALUE_MAX_LEN];
3473 char configStr[CFG_ENTRY_MAX_LEN];
3474 char *fmt;
3475 void *pField;
3476 v_MACADDR_t *pMacAddr;
3477 char *pCur = pBuf;
3478 int curlen;
3479
3480 // start with an empty string
3481 *pCur = '\0';
3482
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003483 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07003484 {
3485 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
3486
3487 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3488 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003489 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07003490 {
3491 value = 0;
3492 memcpy( &value, pField, pRegEntry->VarSize );
3493 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
3494 {
3495 fmt = "%x";
3496 }
3497 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3498 {
3499 fmt = "%d";
3500 }
3501 else
3502 {
3503 fmt = "%u";
3504 }
3505 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
3506 }
3507 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3508 {
3509 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
3510 }
3511 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3512 {
3513 pMacAddr = (v_MACADDR_t *) pField;
3514 snprintf(valueStr, CFG_VALUE_MAX_LEN,
3515 "%02x:%02x:%02x:%02x:%02x:%02x",
3516 pMacAddr->bytes[0],
3517 pMacAddr->bytes[1],
3518 pMacAddr->bytes[2],
3519 pMacAddr->bytes[3],
3520 pMacAddr->bytes[4],
3521 pMacAddr->bytes[5]);
3522 }
3523 else
3524 {
3525 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
3526 }
Sameer Thalappilb0a30232013-09-27 15:37:48 -07003527 curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN,
Jeff Johnson295189b2012-06-20 16:38:30 -07003528 "%s=[%s]%s\n",
3529 pRegEntry->RegName,
3530 valueStr,
3531 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
3532 "*" : "");
3533
3534 // ideally we want to return the config to the application
3535 // however the config is too big so we just printk() for now
3536#ifdef RETURN_IN_BUFFER
3537 if (curlen <= buflen)
3538 {
3539 // copy string + '\0'
3540 memcpy(pCur, configStr, curlen+1);
3541
3542 // account for addition;
3543 pCur += curlen;
3544 buflen -= curlen;
3545 }
3546 else
3547 {
3548 // buffer space exhausted, return what we have
3549 return VOS_STATUS_E_RESOURCES;
3550 }
3551#else
3552 printk(KERN_CRIT "%s", configStr);
3553#endif // RETURN_IN_BUFFER
3554
3555}
3556
3557#ifndef RETURN_IN_BUFFER
3558 // notify application that output is in system log
3559 snprintf(pCur, buflen, "WLAN configuration written to system log");
3560#endif // RETURN_IN_BUFFER
3561
3562 return VOS_STATUS_SUCCESS;
3563}
3564
3565static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003566 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07003567{
3568 VOS_STATUS status = VOS_STATUS_E_FAILURE;
3569 unsigned long i;
3570
3571 for (i = 0; i < entries; i++) {
3572 if (strcmp(iniTable[i].name, name) == 0) {
3573 *value = iniTable[i].value;
3574 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
3575 WLAN_INI_FILE, name, *value);
3576 return VOS_STATUS_SUCCESS;
3577 }
3578 }
3579
3580 return status;
3581}
3582
3583static int parseHexDigit(char c)
3584{
3585 if (c >= '0' && c <= '9')
3586 return c-'0';
3587 if (c >= 'a' && c <= 'f')
3588 return c-'a'+10;
3589 if (c >= 'A' && c <= 'F')
3590 return c-'A'+10;
3591
3592 return 0;
3593}
3594
3595
3596static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
3597{
3598 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
3599 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
3600 unsigned int idx;
3601 void *pField;
3602 char *value_str = NULL;
3603 unsigned long len_value_str;
3604 char *candidate;
3605 v_U32_t value;
3606 v_S31_t svalue;
3607 void *pStructBase = pHddCtx->cfg_ini;
3608 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3609 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3610 v_U32_t cbOutString;
3611 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003612 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003613
3614 // sanity test
3615 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
3616 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003617 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003618 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07003619 }
3620
3621 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
3622 {
3623 //Calculate the address of the destination field in the structure.
3624 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
3625
3626 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
3627
3628 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
3629 {
3630 // If we could not read the cfg item and it is required, this is an error.
3631 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003632 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003633 ret_status = VOS_STATUS_E_FAILURE;
3634 break;
3635 }
3636
3637 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3638 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
3639 {
3640 // If successfully read from the registry, use the value read.
3641 // If not, use the default value.
3642 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003643 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003644 if (rv < 0) {
3645 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
3646 __func__, pRegEntry->RegName);
3647 value = pRegEntry->VarDefault;
3648 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003649 }
3650 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003651 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003652 if (rv < 0) {
3653 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
3654 __func__, pRegEntry->RegName);
3655 value = pRegEntry->VarDefault;
3656 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003657 }
3658 else {
3659 value = pRegEntry->VarDefault;
3660 }
3661
3662 // If this parameter needs range checking, do it here.
3663 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3664 {
3665 if ( value > pRegEntry->VarMax )
3666 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003667 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003668 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07003669 value = pRegEntry->VarMax;
3670 }
3671
3672 if ( value < pRegEntry->VarMin )
3673 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003674 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003675 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003676 value = pRegEntry->VarMin;
3677 }
3678 }
3679 // If this parameter needs range checking, do it here.
3680 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3681 {
3682 if ( value > pRegEntry->VarMax )
3683 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003684 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003685 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003686 value = pRegEntry->VarDefault;
3687 }
3688
3689 if ( value < pRegEntry->VarMin )
3690 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003691 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003692 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003693 value = pRegEntry->VarDefault;
3694 }
3695 }
3696
3697 // Move the variable into the output field.
3698 memcpy( pField, &value, pRegEntry->VarSize );
3699 }
3700 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3701 {
3702 // If successfully read from the registry, use the value read.
3703 // If not, use the default value.
3704 if (VOS_STATUS_SUCCESS == match_status)
3705 {
Jeff Johnson02797792013-10-26 19:17:13 -07003706 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003707 if (rv < 0) {
3708 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3709 __func__, pRegEntry->RegName);
3710 svalue = (v_S31_t)pRegEntry->VarDefault;
3711 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003712 }
3713 else
3714 {
3715 svalue = (v_S31_t)pRegEntry->VarDefault;
3716 }
3717
3718 // If this parameter needs range checking, do it here.
3719 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3720 {
3721 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3722 {
3723 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003724 "[%d > %d]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003725 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3726 svalue = (v_S31_t)pRegEntry->VarMax;
3727 }
3728
3729 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3730 {
3731 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003732 "[%d < %d]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003733 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3734 svalue = (v_S31_t)pRegEntry->VarMin;
3735 }
3736 }
3737 // If this parameter needs range checking, do it here.
3738 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3739 {
3740 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3741 {
3742 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003743 "[%d > %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003744 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003745 (int)pRegEntry->VarMax,
3746 (int)pRegEntry->VarDefault );
3747 svalue = (v_S31_t)pRegEntry->VarDefault;
3748 }
3749
3750 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3751 {
3752 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003753 "[%d < %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003754 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003755 (int)pRegEntry->VarMin,
3756 (int)pRegEntry->VarDefault);
3757 svalue = pRegEntry->VarDefault;
3758 }
3759 }
3760
3761 // Move the variable into the output field.
3762 memcpy( pField, &svalue, pRegEntry->VarSize );
3763 }
3764 // Handle string parameters
3765 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3766 {
3767#ifdef WLAN_CFG_DEBUG
Arif Hussain6d2a3322013-11-17 19:50:10 -08003768 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 -08003769 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003770#endif
3771
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003772 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003773 {
3774 len_value_str = strlen(value_str);
3775
3776 if(len_value_str > (pRegEntry->VarSize - 1)) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003777 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003778 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003779 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3780 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3781 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3782 }
3783 else
3784 {
3785 memcpy( pField, (void *)(value_str), len_value_str);
3786 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3787 }
3788 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003789 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003790 {
3791 // Failed to read the string parameter from the registry. Use the default.
3792 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3793 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003794 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003795 }
3796 }
3797 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3798 {
3799 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003800 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003801 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003802 continue;
3803 }
3804 candidate = (char*)pRegEntry->VarDefault;
3805 if ( match_status == VOS_STATUS_SUCCESS) {
3806 len_value_str = strlen(value_str);
3807 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003808 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003809 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003810 }
3811 else
3812 candidate = value_str;
3813 }
3814 //parse the string and store it in the byte array
3815 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3816 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003817 ((char*)pField)[i] =
3818 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003819 }
3820 }
3821 else
3822 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003823 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003824 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003825 }
3826
3827 // did we successfully parse a cfg item for this parameter?
3828 if( (match_status == VOS_STATUS_SUCCESS) &&
3829 (idx < MAX_CFG_INI_ITEMS) )
3830 {
3831 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3832 }
3833 }
3834
3835 print_hdd_cfg(pHddCtx);
3836
3837 return( ret_status );
3838}
3839
3840eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3841{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003842 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003843 {
3844 case (eHDD_DOT11_MODE_abg):
3845 return eCSR_DOT11_MODE_abg;
3846 case (eHDD_DOT11_MODE_11b):
3847 return eCSR_DOT11_MODE_11b;
3848 case (eHDD_DOT11_MODE_11g):
3849 return eCSR_DOT11_MODE_11g;
3850 default:
3851 case (eHDD_DOT11_MODE_11n):
3852 return eCSR_DOT11_MODE_11n;
3853 case (eHDD_DOT11_MODE_11g_ONLY):
3854 return eCSR_DOT11_MODE_11g_ONLY;
3855 case (eHDD_DOT11_MODE_11n_ONLY):
3856 return eCSR_DOT11_MODE_11n_ONLY;
3857 case (eHDD_DOT11_MODE_11b_ONLY):
3858 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003859#ifdef WLAN_FEATURE_11AC
3860 case (eHDD_DOT11_MODE_11ac_ONLY):
3861 return eCSR_DOT11_MODE_11ac_ONLY;
3862 case (eHDD_DOT11_MODE_11ac):
3863 return eCSR_DOT11_MODE_11ac;
3864#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003865 case (eHDD_DOT11_MODE_AUTO):
3866 return eCSR_DOT11_MODE_AUTO;
3867 }
3868
3869}
3870
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003871static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003872{
3873 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3874 tSmeBtcConfig btcParams;
Wilson Tsaof8b37942013-09-06 10:49:00 -07003875 int i;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003876
Jeff Johnson295189b2012-06-20 16:38:30 -07003877 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3878
3879 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003880 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003881 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3882
Jeff Johnson32d95a32012-09-10 13:15:23 -07003883 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3884 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3885 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3886 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3887 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3888 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3889 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3890 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3891 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3892 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3893 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3894 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3895 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3896
Wilson Tsaof8b37942013-09-06 10:49:00 -07003897 for (i = 0; i < 10; i++)
3898 {
3899 btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i];
3900 btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i];
3901 btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i];
3902 btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i];
3903 }
3904 for (i = 0; i < 6; i++)
3905 {
3906 btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i];
3907 }
3908 btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff;
3909 btcParams.SARPowerBackoff = pConfig->SARPowerBackoff;
3910
Jeff Johnson295189b2012-06-20 16:38:30 -07003911 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3912}
3913
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003914static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003915{
3916 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3917
3918 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003919
Jeff Johnson295189b2012-06-20 16:38:30 -07003920 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003921
Jeff Johnson295189b2012-06-20 16:38:30 -07003922 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3923 {
3924 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3925 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3926 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3927 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3928 }
3929 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3930 {
3931 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3932 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3933 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3934 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3935 }
3936 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3937 {
3938 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3939 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3940 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3941 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3942 }
3943
3944 if (pConfig->fIsImpsEnabled)
3945 {
3946 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3947 }
3948 else
3949 {
3950 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3951 }
3952
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303953 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3954 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3955 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3956
Jeff Johnson295189b2012-06-20 16:38:30 -07003957 if (pConfig->fIsBmpsEnabled)
3958 {
3959 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3960 }
3961 else
3962 {
3963 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3964 }
3965
3966 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3967
3968 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3969 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003970 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params");
Jeff Johnson295189b2012-06-20 16:38:30 -07003971 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003972
Jeff Johnson295189b2012-06-20 16:38:30 -07003973 if(pConfig->fIsAutoBmpsTimerEnabled)
3974 {
3975 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3976 }
3977
3978}
3979
3980#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3981static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3982{
3983 char *s = str;
3984
3985 if( str == NULL || intArray == NULL || len == NULL )
3986 {
3987 return VOS_STATUS_E_INVAL;
3988 }
3989 *len = 0;
3990
Jeff Johnson295189b2012-06-20 16:38:30 -07003991 while ( (s != NULL) && (*len < intArrayMaxLen) )
3992 {
3993 int val;
3994 //Increment length only if sscanf succesfully extracted one element.
3995 //Any other return value means error. Ignore it.
3996 if( sscanf(s, "%d", &val ) == 1 )
3997 {
3998 intArray[*len] = (tANI_U8) val;
3999 *len += 1;
4000 }
4001 s = strpbrk( s, "," );
4002 if( s )
4003 s++;
4004 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004005
4006 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004007
Jeff Johnson295189b2012-06-20 16:38:30 -07004008}
4009#endif
4010
4011
4012v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
4013{
4014 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004015#ifdef WLAN_SOFTAP_VSTA_FEATURE
4016 tANI_U32 val;
4017#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004018
4019 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Yue Maed390e72014-04-23 15:46:45 -07004020 tSirMacHTCapabilityInfo *htCapInfo;
4021 tANI_U32 temp32;
4022 tANI_U16 temp16;
Jeff Johnson295189b2012-06-20 16:38:30 -07004023
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004024 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004025 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4026 {
4027 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004028 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004029 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004030
4031 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004032 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4033 {
4034 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004035 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004036 }
4037
4038 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
4039 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4040 {
4041 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004042 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004043 }
4044
4045 if ( 0 != pConfig->Cfg1Id )
4046 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004047 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07004048 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4049 {
4050 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004051 hddLog(LOGE, "Could not pass on Cfg1Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004052 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004053
Jeff Johnson295189b2012-06-20 16:38:30 -07004054 }
4055
4056 if ( 0 != pConfig->Cfg2Id )
4057 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004058 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004059 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4060 {
4061 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004062 hddLog(LOGE, "Could not pass on Cfg2Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004063 }
4064 }
4065
4066 if ( 0 != pConfig->Cfg3Id )
4067 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004068 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004069 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4070 {
4071 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004072 hddLog(LOGE, "Could not pass on Cfg3Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004073 }
4074 }
4075
4076 if ( 0 != pConfig->Cfg4Id )
4077 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004078 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004079 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4080 {
4081 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004082 hddLog(LOGE, "Could not pass on Cfg4Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004083 }
4084 }
4085
4086 if ( 0 != pConfig->Cfg5Id )
4087 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004088 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07004089 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4090 {
4091 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004092 hddLog(LOGE, "Could not pass on Cfg5Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004093 }
4094 }
4095
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004096 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07004097 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4098 {
4099 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004100 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004101 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004102
4103 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07004104 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4105 {
4106 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004107 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004108 }
4109
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004110 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07004111 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4112 {
4113 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004114 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004115 }
4116
4117 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
4118 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4119 {
4120 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004121 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004122 }
4123
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004124 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07004125 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004126 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07004127 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4128 {
4129 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004130 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004131 }
4132 }
4133 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004134 {
Jeff Johnson295189b2012-06-20 16:38:30 -07004135 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
4136 {
4137 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
Arif Hussain24bafea2013-11-15 15:10:03 -08004138 "MAC Addr (IBSS BSSID) read from Registry is: " MAC_ADDRESS_STR,
4139 MAC_ADDR_ARRAY(pConfig->IbssBssid.bytes));
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004140 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07004141 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4142 {
4143 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004144 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004145 }
4146 }
4147 else
4148 {
4149 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004150 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004151 }
4152 }
4153
Naresh Jayaram3df09eb2013-12-18 17:39:04 +05304154 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME,
4155 pConfig->nPassiveMinChnTime, NULL,
4156 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4157 {
4158 fStatus = FALSE;
4159 hddLog(LOGE, "Could not pass on WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME"
4160 " to CCM\n");
4161 }
4162
4163 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME,
4164 pConfig->nPassiveMaxChnTime, NULL,
4165 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4166 {
4167 fStatus = FALSE;
4168 hddLog(LOGE, "Could not pass on WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME"
4169 " to CCM\n");
4170 }
4171
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004172 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004173 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4174 {
4175 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004176 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004177 }
4178
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004179 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07004180 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4181 {
4182 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004183 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004184 }
4185
4186 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4187 {
4188 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004189 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004190 }
4191
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004192 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07004193 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4194 {
4195 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004196 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL");
Jeff Johnson295189b2012-06-20 16:38:30 -07004197 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004198
Jeff Johnson295189b2012-06-20 16:38:30 -07004199 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
4200 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4201 {
4202 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004203 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004204 }
4205
Jeff Johnson295189b2012-06-20 16:38:30 -07004206 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
4207 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4208 {
4209 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004210 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004211 }
4212
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004213 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07004214 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4215 {
4216 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004217 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004218 }
4219
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004220 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07004221 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4222 {
4223 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004224 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004225 }
4226
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004227 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
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, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004232 }
4233
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004234 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07004235 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4236 {
4237 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004238 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004239 }
4240
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004241 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07004242 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4243 {
4244 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004245 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004246 }
4247
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004248 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07004249 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4250 {
4251 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004252 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004253 }
4254
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004255 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07004256 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4257 {
4258 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004259 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004260 }
4261
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004262 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004263 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4264 {
4265 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004266 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004267 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004268
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004269 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004270 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4271 {
4272 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004273 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004274 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004275
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304276 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
4277 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4278 {
4279 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004280 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM");
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304281 }
4282
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304283 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
4284 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4285 {
4286 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004287 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM");
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304288 }
4289
4290
Jeff Johnson295189b2012-06-20 16:38:30 -07004291#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004292 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07004293 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4294 {
4295 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004296 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004297 }
4298
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004299 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004300 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4301 {
4302 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004303 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004304 }
4305
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004306 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004307 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4308 {
4309 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004310 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004311 }
4312
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004313 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07004314 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4315#endif
4316
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004317 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07004318 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4319 {
4320 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004321 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004322 }
4323
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004324 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07004325 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4326 {
4327 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004328 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004329 }
4330
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004331 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004332 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4333 {
4334 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004335 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004336 }
4337
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004338 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004339 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4340 {
4341 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004342 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004343 }
4344
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004345 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004346 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4347 {
4348 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004349 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 -07004350 }
4351
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004352 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004353 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4354 {
4355 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004356 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 -07004357 }
4358
4359 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
4360 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4361 {
4362 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004363 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004364 }
4365
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004366 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004367 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4368 {
4369 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004370 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 -07004371 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004372 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07004373 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4374 {
4375 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004376 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004377 }
4378
4379 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
4380 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4381 {
4382 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004383 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 -08004384 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004385
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004386 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07004387 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004388 {
4389 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004390 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 -08004391 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004392 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004393 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4394 {
4395 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004396 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004397 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004398 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004399 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4400 {
4401 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004402 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004403 }
4404
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004405 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07004406 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4407 {
4408 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004409 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004410 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004411 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
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,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004416 }
4417
Jeff Johnson295189b2012-06-20 16:38:30 -07004418 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
4419 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4420 {
4421 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004422 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 -07004423 }
4424
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004425 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07004426 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
4427 ==eHAL_STATUS_FAILURE)
4428 {
4429 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004430 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004431 }
4432
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004433 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07004434 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
4435 ==eHAL_STATUS_FAILURE)
4436 {
4437 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004438 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004439 }
4440
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004441 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004442 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4443 {
4444 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004445 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004446 }
4447
Jeff Johnsond13512a2012-07-17 11:42:19 -07004448
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004449 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07004450 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4451 {
4452 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004453 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM");
Jeff Johnsond13512a2012-07-17 11:42:19 -07004454 }
4455
Jeff Johnsone7245742012-09-05 17:12:55 -07004456#ifdef WLAN_FEATURE_11AC
4457 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
4458 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
4459 /* we update only the least significant 2 bits in the corresponding fields */
4460 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
4461 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
4462 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
4463 {
4464 {
4465 tANI_U32 temp = 0;
4466
4467 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004468 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004469
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004470 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07004471 temp, NULL, eANI_BOOLEAN_FALSE)
4472 ==eHAL_STATUS_FAILURE)
4473 {
4474 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004475 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004476 }
4477
4478 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004479 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004480
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004481 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004482 temp, NULL, eANI_BOOLEAN_FALSE)
4483 ==eHAL_STATUS_FAILURE)
4484 {
4485 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004486 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004487 }
4488
4489 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004490 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004491
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004492 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004493 temp, NULL, eANI_BOOLEAN_FALSE)
4494 ==eHAL_STATUS_FAILURE)
4495 {
4496 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004497 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004498 }
Praveen Kumar Sirisilla4cf7d262013-12-04 17:22:53 -08004499 /* Currently shortGI40Mhz is used for shortGI80Mhz */
4500 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_SHORT_GI_80MHZ,
4501 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)
4502 == eHAL_STATUS_FAILURE)
4503 {
4504 fStatus = FALSE;
4505 hddLog(LOGE, "Could not pass WNI_VHT_SHORT_GI_80MHZ to CCM\n");
4506 }
Jeff Johnsone7245742012-09-05 17:12:55 -07004507 }
4508 }
4509#endif
4510
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004511 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004512 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4513 {
4514 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004515 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM");
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004516 }
4517
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004518 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304519 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4520 ==eHAL_STATUS_FAILURE)
4521 {
4522 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004523 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304524 }
4525
Yue Maed390e72014-04-23 15:46:45 -07004526 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, &temp32);
4527 temp16 = temp32 & 0xffff;
4528 htCapInfo = (tSirMacHTCapabilityInfo *)&temp16;
4529 htCapInfo->rxSTBC = pConfig->enableRxSTBC;
4530 temp32 = temp16;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304531
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004532 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Yue Maed390e72014-04-23 15:46:45 -07004533 temp32, NULL, eANI_BOOLEAN_FALSE)
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304534 ==eHAL_STATUS_FAILURE)
4535 {
4536 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004537 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304538 }
4539
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004540 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304541 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4542 ==eHAL_STATUS_FAILURE)
4543 {
4544 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004545 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304546 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004547
4548#ifdef WLAN_SOFTAP_VSTA_FEATURE
4549 if(pConfig->fEnableVSTASupport)
4550 {
4551 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
4552 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
4553 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
4554 }
4555 else
4556 {
4557 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
4558 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004559 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004560 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4561 {
4562 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004563 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM" );
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004564 }
4565#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004566 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004567 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
4568 ==eHAL_STATUS_FAILURE)
4569 {
4570 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004571 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM");
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004572 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304573
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004574 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
4575 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4576 {
4577 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004578 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM");
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004579 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004580 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
4581 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4582 {
4583 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004584 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 -08004585 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004586
4587 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
4588 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4589 {
4590 fStatus = FALSE;
4591 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
4592 }
4593
4594 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
4595 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4596 {
4597 fStatus = FALSE;
4598 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
4599 }
4600
4601 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
4602 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4603 {
4604 fStatus = FALSE;
4605 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
4606 }
4607
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05304608 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
4609 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4610 {
4611 fStatus = FALSE;
4612 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
4613 }
4614
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304615#ifdef FEATURE_WLAN_TDLS
4616
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004617 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
4618 pConfig->fTDLSUapsdMask, NULL,
4619 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304620 {
4621 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004622 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304623 }
Pradeep Reddy POTTETIedaeb5f2014-05-22 23:34:41 +05304624
4625 if (TRUE == pConfig->fEnableTDLSScanCoexSupport)
4626 {
4627 /* TDLSScanCoexistance feature is supported when the DUT acts as only
4628 * the Sleep STA and hence explicitly disable the BufferSta capability
4629 * on the DUT. DUT's Buffer STA capability is explicitly disabled to
4630 * ensure that the TDLS peer shall not go to TDLS power save mode.
4631 */
4632 pConfig->fEnableTDLSBufferSta = FALSE;
4633 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004634 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
4635 pConfig->fEnableTDLSBufferSta, NULL,
4636 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304637 {
4638 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004639 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304640 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004641 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
4642 pConfig->fTDLSPuapsdInactivityTimer, NULL,
4643 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304644 {
4645 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004646 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304647 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004648 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
4649 pConfig->fTDLSRxFrameThreshold, NULL,
4650 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304651 {
4652 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004653 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304654 }
Naresh Jayaramf73f3762014-02-04 16:13:20 +05304655
4656 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_OFF_CHANNEL_ENABLED,
4657 pConfig->fEnableTDLSOffChannel, NULL,
4658 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4659 {
4660 fStatus = FALSE;
4661 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM\n");
4662 }
4663
Pradeep Reddy POTTETIa9c80d52014-05-09 18:05:29 +05304664 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_WMM_MODE_ENABLED,
4665 pConfig->fEnableTDLSWmmMode, NULL,
4666 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4667 {
4668 fStatus = FALSE;
4669 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_WMM_MODE_ENABLED to CCM\n");
4670 }
4671
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304672#endif
4673
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004674 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
4675 pConfig->fEnableAdaptRxDrain, NULL,
4676 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4677 {
4678 fStatus = FALSE;
4679 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
4680 }
Yue Ma0fd23872013-08-01 15:56:47 -07004681
4682 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
4683 pConfig->flexConnectPowerFactor, NULL,
4684 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4685 {
4686 fStatus = FALSE;
4687 hddLog(LOGE, "Failure: Could not pass on "
4688 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
4689 }
4690
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05304691 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
4692 pConfig->antennaDiversity, NULL,
4693 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4694 {
4695 fStatus = FALSE;
4696 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
4697 }
4698
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05304699 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ATH_DISABLE,
4700 pConfig->cfgAthDisable, NULL,
4701 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4702 {
4703 fStatus = FALSE;
4704 hddLog(LOGE, "Could not pass on WNI_CFG_ATH_DISABLE to CCM");
4705 }
c_hpothu6d7dc922013-12-02 12:36:41 +05304706
4707 if (ccmCfgSetInt(pHddCtx->hHal,
4708 WNI_CFG_BTC_ACTIVE_WLAN_LEN,
4709 pConfig->cfgBtcActiveWlanLen,
4710 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4711 {
4712 fStatus = FALSE;
4713 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4714 }
4715
4716 if (ccmCfgSetInt(pHddCtx->hHal,
4717 WNI_CFG_BTC_ACTIVE_BT_LEN,
4718 pConfig->cfgBtcActiveBtLen,
4719 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4720 {
4721 fStatus = FALSE;
4722 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4723 }
4724
4725 if (ccmCfgSetInt(pHddCtx->hHal,
4726 WNI_CFG_BTC_SAP_ACTIVE_WLAN_LEN,
4727 pConfig->cfgBtcSapActiveWlanLen,
4728 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4729 {
4730 fStatus = FALSE;
4731 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4732 }
4733
4734 if (ccmCfgSetInt(pHddCtx->hHal,
4735 WNI_CFG_BTC_SAP_ACTIVE_BT_LEN,
4736 pConfig->cfgBtcSapActiveBtLen,
4737 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4738 {
4739 fStatus = FALSE;
4740 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4741 }
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05304742
4743 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_PROBE_INTERVAL,
4744 pConfig->gAsdProbeInterval, NULL,
4745 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4746 {
4747 fStatus = FALSE;
4748 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_PROBE_INTERVAL to CCM");
4749 }
4750
4751 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_TRIGGER_THRESHOLD,
4752 pConfig->gAsdTriggerThreshold, NULL,
4753 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4754 {
4755 fStatus = FALSE;
4756 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_TRIGGER_THRESHOLD to CCM");
4757 }
4758
4759 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD,
4760 pConfig->gAsdRTTRssiHystThreshold, NULL,
4761 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4762 {
4763 fStatus = FALSE;
4764 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_RSSI_HYST_THRESHOLD to CCM");
4765 }
Leela Venkata Kiran Kumar Reddy Chirala22c159b2013-12-23 18:19:13 -08004766
4767 if (ccmCfgSetInt(pHddCtx->hHal,
4768 WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL,
4769 pConfig->debugP2pRemainOnChannel,
4770 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4771 {
4772 fStatus = FALSE;
4773 hddLog(LOGE,
4774 "Could not pass on WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL to CCM");
4775 }
4776
4777 if (ccmCfgSetInt(pHddCtx->hHal,
4778 WNI_CFG_BTC_CTS2S_DURING_SCO,
4779 pConfig->cfgBtcCTS2SduringSCO,
4780 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4781 {
4782 fStatus = FALSE;
4783 hddLog(LOGE, "Could not pass on WNI_CFG_BTC_CTS2S_DURING_SCO to CCM");
4784 }
Abhishek Singh8280c4e2014-02-18 13:26:34 +05304785
4786 if(ccmCfgSetInt(pHddCtx->hHal,
4787 WNI_CFG_DEFAULT_RATE_INDEX_24GHZ,
4788 defHddRateToDefCfgRate(pConfig->defaultRateIndex24Ghz),
4789 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4790 {
4791 fStatus = FALSE;
4792 hddLog(LOGE, "Could not pass on WNI_CFG_DEFAULT_RATE_INDEX_24GHZ to"
4793 " CCM\n");
4794 }
c_hpothu5bd1ae42014-03-07 20:28:22 +05304795
4796 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RA_FILTER_ENABLE, pConfig->cfgRAFilterEnable,
4797 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4798 {
4799 fStatus = FALSE;
4800 hddLog(LOGE, "Could not pass on WNI_CFG_RA_FILTER_ENABLE to CCM");
4801 }
4802
4803 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RA_RATE_LIMIT_INTERVAL, pConfig->cfgRARateLimitInterval,
4804 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4805 {
4806 fStatus = FALSE;
4807 hddLog(LOGE, "Could not pass on WNI_CFG_RA_FILTER_ENABLE to CCM");
4808 }
4809
c_hpothu2d0f1c42014-04-01 18:38:51 +05304810 if (ccmCfgSetInt(pHddCtx->hHal,
4811 WNI_CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE,
4812 pConfig->cfgBtcFatalHidnSniffBlkGuidance,
4813 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4814 {
4815 fStatus = FALSE;
4816 hddLog(LOGE, "Could not pass on"
4817 "WNI_CFG_BTC_FATAL_HID_NSNIFF_BLK_GUIDANCE to CCM");
4818 }
4819
4820 if (ccmCfgSetInt(pHddCtx->hHal,
4821 WNI_CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE,
4822 pConfig->cfgBtcCriticalHidnSniffBlkGuidance,
4823 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4824 {
4825 fStatus = FALSE;
4826 hddLog(LOGE, "Could not pass on"
4827 "WNI_CFG_BTC_CRITICAL_HID_NSNIFF_BLK_GUIDANCE to CCM");
4828 }
4829
4830 if (ccmCfgSetInt(pHddCtx->hHal,
4831 WNI_CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD,
4832 pConfig->cfgBtcA2dpTxQueueThold,
4833 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4834 {
4835 fStatus = FALSE;
4836 hddLog(LOGE, "Could not pass on"
4837 "WNI_CFG_BTC_DYN_A2DP_TX_QUEUE_THOLD to CCM");
4838 }
4839
4840 if (ccmCfgSetInt(pHddCtx->hHal,
4841 WNI_CFG_BTC_DYN_OPP_TX_QUEUE_THOLD,
4842 pConfig->cfgBtcOppTxQueueThold,
4843 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4844 {
4845 fStatus = FALSE;
4846 hddLog(LOGE, "Could not pass on"
4847 "WNI_CFG_BTC_DYN_OPP_TX_QUEUE_THOLD to CCM");
4848 }
4849
Chet Lanctotfadc8e32014-04-24 14:50:52 -07004850#ifdef WLAN_FEATURE_11W
4851 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PMF_SA_QUERY_MAX_RETRIES,
4852 pConfig->pmfSaQueryMaxRetries, NULL,
4853 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4854 {
4855 fStatus = FALSE;
4856 hddLog(LOGE, "Could not pass on WNI_CFG_SA_QUERY_MAX_RETRIES to CCM");
4857 }
4858
4859 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PMF_SA_QUERY_RETRY_INTERVAL,
4860 pConfig->pmfSaQueryRetryInterval, NULL,
4861 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4862 {
4863 fStatus = FALSE;
4864 hddLog(LOGE, "Could not pass on WNI_CFG_SA_QUERY_RETRY_INTERVAL to CCM");
4865 }
4866#endif
4867
Jeff Johnson295189b2012-06-20 16:38:30 -07004868 return fStatus;
4869}
4870
4871
4872/**---------------------------------------------------------------------------
4873
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004874 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07004875
4876 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004877
Jeff Johnson295189b2012-06-20 16:38:30 -07004878 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004879
Jeff Johnson295189b2012-06-20 16:38:30 -07004880 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004881
Jeff Johnson295189b2012-06-20 16:38:30 -07004882 --------------------------------------------------------------------------*/
4883
4884VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
4885{
4886 VOS_STATUS status = VOS_STATUS_SUCCESS;
4887 eHalStatus halStatus;
4888 tSmeConfigParams smeConfig;
4889
4890 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4891
Amar Singhalfddc28c2013-09-05 13:03:40 -07004892
Jeff Johnson295189b2012-06-20 16:38:30 -07004893 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
4894
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004895 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussain6d2a3322013-11-17 19:50:10 -08004896 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07004897 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
4898
4899 // Config params obtained from the registry
Amar Singhalfddc28c2013-09-05 13:03:40 -07004900
Jeff Johnson295189b2012-06-20 16:38:30 -07004901 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
4902 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
4903 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
4904 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
4905 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
4906
4907 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
4908
Leela Venkata Kiran Kumar Reddy Chirala784d7e82013-11-20 10:57:25 -08004909 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_abg) ||
4910 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b) ||
4911 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g) ||
4912 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b_ONLY) ||
4913 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g_ONLY))
4914 {
4915 smeConfig.csrConfig.channelBondingMode24GHz = 0;
4916 smeConfig.csrConfig.channelBondingMode5GHz = 0;
4917 }
4918 else
4919 {
4920 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
4921 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
4922 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004923 smeConfig.csrConfig.TxRate = pConfig->TxRate;
4924 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
4925 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
4926 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
4927 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
4928 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
4929 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
4930 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
4931 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
4932 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
4933 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
4934 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
4935 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
4936 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
4937 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004938 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
c_hpothu059edb02014-03-12 21:44:28 +05304939 smeConfig.csrConfig.nInitialDwellTime = pConfig->nInitialDwellTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004940 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
4941 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
4942 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
4943 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004944 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
4945 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07004946 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004947#ifdef WLAN_AP_STA_CONCURRENCY
4948 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
4949 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
4950 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
4951 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
4952 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07004953 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
4954 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
4955
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004956#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004957 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
4958 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
4959
4960#if defined WLAN_FEATURE_VOWIFI
4961 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
4962 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
4963#endif
4964 //Remaining config params not obtained from registry
4965 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07004966#ifdef WLAN_FEATURE_11AC
4967 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08004968 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08004969 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07004970 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07004971#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07004972 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
4973 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004974 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
4975 smeConfig.csrConfig.HeartbeatThresh50 = 40;
4976 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08004977 if (pConfig->nBandCapability == eCSR_BAND_24)
4978 {
4979 smeConfig.csrConfig.Is11hSupportEnabled = 0;
4980 } else {
4981 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
4982 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004983 smeConfig.csrConfig.cbChoice = 0;
4984 smeConfig.csrConfig.bgScanInterval = 0;
4985 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07004986 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
4987 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
4988 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08004989#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004990 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004991 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004992 smeConfig.csrConfig.nProbes = pConfig->nProbes;
4993 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004994#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07004995 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
4996
Jeff Johnson295189b2012-06-20 16:38:30 -07004997 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08004998 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
4999 {
5000 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07005001
Jeff Johnson7dda7772013-02-27 08:36:13 -08005002 /* if there is a requirement that HDD will control the default
5003 * channel list & country code (say from .ini file) we need to
5004 * add some logic here. Otherwise the default 11d info should
5005 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07005006 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08005007 else
5008 {
5009 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
5010 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07005011
Jeff Johnson7dda7772013-02-27 08:36:13 -08005012 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
5013 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
5014 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
5015 }
Jeff Johnson295189b2012-06-20 16:38:30 -07005016 hdd_set_power_save_config(pHddCtx, &smeConfig);
5017 hdd_set_btc_config(pHddCtx);
5018
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005019#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07005020 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
5021#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07005022#ifdef FEATURE_WLAN_LFR
5023 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005024 smeConfig.csrConfig.MAWCEnabled = pConfig->MAWCEnabled;
Jeff Johnson04dd8a82012-06-29 20:41:40 -07005025#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005026#ifdef FEATURE_WLAN_ESE
5027 smeConfig.csrConfig.isEseIniFeatureEnabled = pConfig->isEseIniFeatureEnabled;
5028 if( pConfig->isEseIniFeatureEnabled )
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08005029 {
5030 pConfig->isFastTransitionEnabled = TRUE;
5031 }
Jeff Johnson295189b2012-06-20 16:38:30 -07005032#endif
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005033#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07005034 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07005035 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08005036 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07005037 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07005038#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005039#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5040 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07005041 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
5042
5043 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
5044 {
5045 /* Disable roaming in concurrency if roam scan offload is disabled */
5046 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
5047 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005048#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07005049#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
5050 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
5051 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005052 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
5053 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07005054 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005055 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07005056 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08005057 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005058 hdd_string_to_u8_array( pConfig->neighborScanChanList,
5059 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
5060 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07005061 WNI_CFG_VALID_CHANNEL_LIST_LEN );
5062#endif
5063
5064 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
5065 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
Sandeep Puligillac80f26e2014-03-11 18:36:10 +05305066 smeConfig.csrConfig.allowDFSChannelRoam = pConfig->allowDFSChannelRoam;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005067 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07005068 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07005069 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07005070
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08005071 //Scan Results Aging Time out value
5072 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
5073
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08005074 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
5075
krunal soni5afa96c2013-09-06 22:19:02 -07005076 smeConfig.csrConfig.isAmsduSupportInAMPDU = pConfig->isAmsduSupportInAMPDU;
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07005077 smeConfig.csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin;
c_hpothu0d5a7352014-03-22 12:30:25 +05305078 smeConfig.csrConfig.initialScanSkipDFSCh = pConfig->initialScanSkipDFSCh;
krunal soni5afa96c2013-09-06 22:19:02 -07005079
krunal sonie9002db2013-11-25 14:24:17 -08005080 smeConfig.csrConfig.isCoalesingInIBSSAllowed =
5081 pHddCtx->cfg_ini->isCoalesingInIBSSAllowed;
5082
5083
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07005084 /* update SSR config */
5085 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05305086 /* Update the Directed scan offload setting */
5087 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07005088
Tushnim Bhattacharyyaa3ba5a52014-01-30 11:37:33 -08005089 smeConfig.fEnableDebugLog = pHddCtx->cfg_ini->gEnableDebugLog;
Abhishek Singhde51a412014-05-20 19:17:26 +05305090 smeConfig.csrConfig.sendDeauthBeforeCon = pConfig->sendDeauthBeforeCon;
Tushnim Bhattacharyyaa3ba5a52014-01-30 11:37:33 -08005091
Rashmi Ramanna68b309c2014-05-20 11:52:22 +05305092 smeConfig.fDeferIMPSTime = pHddCtx->cfg_ini->deferImpsTime;
5093
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005094 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07005095 if ( !HAL_STATUS_SUCCESS( halStatus ) )
5096 {
5097 status = VOS_STATUS_E_FAILURE;
c_hpothu6ff1c3c2013-10-01 19:01:57 +05305098 hddLog(LOGE, "sme_UpdateConfig() return failure %d", halStatus);
Jeff Johnson295189b2012-06-20 16:38:30 -07005099 }
5100
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08005101
5102 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07005103}
5104
5105
5106/**---------------------------------------------------------------------------
5107
5108 \brief hdd_execute_config_command() -
5109
5110 This function executes an arbitrary configuration set command
5111
5112 \param - pHddCtx - Pointer to the HDD Adapter.
5113 \parmm - command - a configuration command of the form:
5114 <name>=<value>
5115
5116 \return - 0 for success, non zero for failure
5117
5118 --------------------------------------------------------------------------*/
5119
5120VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
5121{
5122 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
5123 REG_TABLE_ENTRY *pRegEntry;
5124 char *clone;
5125 char *pCmd;
5126 void *pField;
5127 char *name;
5128 char *value_str;
5129 v_U32_t value;
5130 v_S31_t svalue;
5131 size_t len_value_str;
5132 unsigned int idx;
5133 unsigned int i;
5134 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005135 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07005136
5137 // assume failure until proven otherwise
5138 vstatus = VOS_STATUS_E_FAILURE;
5139
5140 // clone the command so that we can manipulate it
5141 clone = kstrdup(command, GFP_ATOMIC);
5142 if (NULL == clone)
5143 {
5144 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005145 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005146 return vstatus;
5147 }
5148
5149 // 'clone' will point to the beginning of the string so it can be freed
5150 // 'pCmd' will be used to walk/parse the command
5151 pCmd = clone;
5152
5153 // get rid of leading/trailing whitespace
5154 pCmd = i_trim(pCmd);
5155 if ('\0' == *pCmd)
5156 {
5157 // only whitespace
5158 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005159 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005160 goto done;
5161 }
5162
5163 // parse the <name> = <value>
5164 name = pCmd;
5165 while (('=' != *pCmd) && ('\0' != *pCmd))
5166 {
5167 pCmd++;
5168 }
5169 if ('\0' == *pCmd)
5170 {
5171 // did not find '='
5172 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005173 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005174 goto done;
5175 }
5176
5177 // replace '=' with NUL to terminate the <name>
5178 *pCmd++ = '\0';
5179 name = i_trim(name);
5180 if ('\0' == *name)
5181 {
5182 // did not find a name
5183 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005184 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005185 goto done;
5186 }
5187
5188 value_str = i_trim(pCmd);
5189 if ('\0' == *value_str)
5190 {
5191 // did not find a value
5192 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005193 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005194 goto done;
5195 }
5196
5197 // lookup the configuration item
5198 for (idx = 0; idx < tableSize; idx++)
5199 {
5200 if (0 == strcmp(name, g_registry_table[idx].RegName))
5201 {
5202 // found a match
5203 break;
5204 }
5205 }
5206 if (tableSize == idx)
5207 {
5208 // did not match the name
5209 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005210 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07005211 goto done;
5212 }
5213
5214 pRegEntry = &g_registry_table[idx];
5215 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
5216 {
5217 // does not support dynamic configuration
5218 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005219 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07005220 goto done;
5221 }
5222
5223 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
5224
5225 switch (pRegEntry->RegType)
5226 {
5227 case WLAN_PARAM_Integer:
Jeff Johnson02797792013-10-26 19:17:13 -07005228 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005229 if (rv < 0)
5230 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07005231 if (value < pRegEntry->VarMin)
5232 {
5233 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005234 hddLog(LOGE, "%s: invalid command, value %u < min value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005235 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07005236 goto done;
5237 }
5238 if (value > pRegEntry->VarMax)
5239 {
5240 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005241 hddLog(LOGE, "%s: invalid command, value %u > max value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005242 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07005243 goto done;
5244 }
5245 memcpy(pField, &value, pRegEntry->VarSize);
5246 break;
5247
5248 case WLAN_PARAM_HexInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07005249 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005250 if (rv < 0)
5251 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07005252 if (value < pRegEntry->VarMin)
5253 {
5254 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005255 hddLog(LOGE, "%s: invalid command, value %x < min value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005256 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07005257 goto done;
5258 }
5259 if (value > pRegEntry->VarMax)
5260 {
5261 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07005262 hddLog(LOGE, "%s: invalid command, value %x > max value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005263 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07005264 goto done;
5265 }
5266 memcpy(pField, &value, pRegEntry->VarSize);
5267 break;
5268
5269 case WLAN_PARAM_SignedInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07005270 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08005271 if (rv < 0)
5272 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07005273 if (svalue < (v_S31_t)pRegEntry->VarMin)
5274 {
5275 // out of range
5276 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005277 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07005278 goto done;
5279 }
5280 if (svalue > (v_S31_t)pRegEntry->VarMax)
5281 {
5282 // out of range
5283 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005284 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07005285 goto done;
5286 }
5287 memcpy(pField, &svalue, pRegEntry->VarSize);
5288 break;
5289
5290 case WLAN_PARAM_String:
5291 len_value_str = strlen(value_str);
5292 if (len_value_str > (pRegEntry->VarSize - 1))
5293 {
5294 // too big
5295 hddLog(LOGE,
5296 "%s: invalid command, string [%s] length "
Jeff Johnson59a121e2013-11-30 09:46:08 -08005297 "%zu exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005298 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07005299 len_value_str, (pRegEntry->VarSize - 1));
5300 goto done;
5301 }
5302 // copy string plus NUL
5303 memcpy(pField, value_str, (len_value_str + 1));
5304 break;
5305
5306 case WLAN_PARAM_MacAddr:
5307 len_value_str = strlen(value_str);
5308 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
5309 {
5310 // out of range
5311 hddLog(LOGE,
5312 "%s: invalid command, MAC address [%s] length "
Jeff Johnson59a121e2013-11-30 09:46:08 -08005313 "%zu is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07005314 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07005315 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
5316 goto done;
5317 }
5318 //parse the string and store it in the byte array
5319 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
5320 {
5321 ((char*)pField)[i] = (char)
5322 ((parseHexDigit(value_str[(i * 2)]) * 16) +
5323 parseHexDigit(value_str[(i * 2) + 1]));
5324 }
5325 break;
5326
5327 default:
5328 goto done;
5329 }
5330
5331 // if we get here, we had a successful modification
5332 vstatus = VOS_STATUS_SUCCESS;
5333
5334 // config table has been modified, is there a notifier?
5335 if (NULL != pRegEntry->pfnDynamicNotify)
5336 {
5337 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
5338 }
5339
5340 // note that this item was explicitly configured
5341 if (idx < MAX_CFG_INI_ITEMS)
5342 {
5343 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
5344 }
5345 done:
5346 kfree(clone);
5347 return vstatus;
5348}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07005349
5350/**---------------------------------------------------------------------------
5351
5352 \brief hdd_is_okc_mode_enabled() -
5353
5354 This function returns whether OKC mode is enabled or not
5355
5356 \param - pHddCtx - Pointer to the HDD Adapter.
5357
5358 \return - 1 for enabled, zero for disabled
5359
5360 --------------------------------------------------------------------------*/
5361
5362tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
5363{
5364 if (NULL == pHddCtx)
5365 {
5366 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
5367 return -EINVAL;
5368 }
5369
5370#ifdef FEATURE_WLAN_OKC
5371 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
5372#else
5373 return eANI_BOOLEAN_FALSE;
5374#endif
5375}