blob: c93d55cf6653b8b84aafae45d05d77ec9a6a485d [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08002 * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080042/**=========================================================================
Jeff Johnson295189b2012-06-20 16:38:30 -070043
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080044 EDIT HISTORY FOR FILE
45
46
47 This section contains comments describing changes made to the module.
48 Notice that changes are listed in reverse chronological order.
49
50
51 $Header:$ $DateTime: $ $Author: $
52
53
54 when who what, where, why
Jeff Johnson295189b2012-06-20 16:38:30 -070055 -------- --- --------------------------------------------------------
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080056 07/27/09 kanand Created module.
Jeff Johnson295189b2012-06-20 16:38:30 -070057
58 ==========================================================================*/
59
60/*--------------------------------------------------------------------------
61 Include Files
62 ------------------------------------------------------------------------*/
63
64
65#include <linux/firmware.h>
66#include <linux/string.h>
67#include <wlan_hdd_includes.h>
68#include <wlan_hdd_main.h>
69#include <wlan_hdd_assoc.h>
70#include <wlan_hdd_cfg.h>
71#include <linux/string.h>
72#include <vos_types.h>
73#include <csrApi.h>
74#include <pmcApi.h>
75#include <wlan_hdd_misc.h>
76
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080077#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -080078static void cbNotifySetRoamPrefer5GHz(hdd_context_t *pHddCtx, unsigned long NotifyId)
79{
80 sme_UpdateRoamPrefer5GHz((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamPrefer5GHz);
81}
Jeff Johnson295189b2012-06-20 16:38:30 -070082
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080083static void cbNotifySetImmediateRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
84{
Srinivas Girigowdade697412013-02-14 16:31:48 -080085 sme_UpdateImmediateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080086 pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
87}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080088
Srinivas Girigowdade697412013-02-14 16:31:48 -080089static void cbNotifySetRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
90{
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -070091 if (pHddCtx->cfg_ini->nSelect5GHzMargin)
92 {
93 /*
94 LFR2.0 firmware posts roam candidates whose RSSI is above the
95 look down threshold and RoamRssiDiff better than current AP Rssi.
96 if gSelect5GHzMargin is non-zero; then the expectation is firmware
97 should post all the roam candidates whose RSSI is above lookdown
98 threshold and don't ignore the APs in RoamRssiDiff zone.
99
100 For ex: RoamRssiDiff=5, Lookdown threshold=-78 and
101 gSelect5GHzMargin=30 then firmware selects APs
102 with Rssi -73 or better as roam candidates.
103 if the 5G AP Rssi is -75 it will be ignored.
104 if 2.4G AP Rssi is -45 and 5G AP with -75 is available,
105 STA should connect to 5G AP, hence RoamRssiDiff is set to 0.
106 */
107 pHddCtx->cfg_ini->RoamRssiDiff = 0;
108 }
109
Srinivas Girigowdade697412013-02-14 16:31:48 -0800110 sme_UpdateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
111 pHddCtx->cfg_ini->RoamRssiDiff);
112}
113
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800114static void cbNotifySetFastTransitionEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
115{
116 sme_UpdateFastTransitionEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastTransitionEnabled);
117}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700118
119static void cbNotifySetRoamIntraBand(hdd_context_t *pHddCtx, unsigned long NotifyId)
120{
121 sme_setRoamIntraBand((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamIntraBand);
122}
Srinivas Girigowda100eb322013-03-15 16:48:20 -0700123
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -0700124static void cbNotifySetWESMode(hdd_context_t *pHddCtx, unsigned long NotifyId)
125{
126 // at the point this routine is called, the value in the cfg_ini table has already been updated
127 sme_UpdateWESMode((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isWESModeEnabled);
128}
129
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700130static void cbNotifySetRoamScanNProbes(hdd_context_t *pHddCtx, unsigned long NotifyId)
131{
132 sme_UpdateRoamScanNProbes((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nProbes);
133}
134
135static void cbNotifySetRoamScanHomeAwayTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
136{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700137 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime, eANI_BOOLEAN_TRUE);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700138}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700139#endif
140
141#ifdef FEATURE_WLAN_OKC
142static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
143{
144 // at the point this routine is called, the value in the cfg_ini table has already been updated
145}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800146#endif
147
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800148#ifdef FEATURE_WLAN_LFR
149static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
150{
151 // at the point this routine is called, the value in the cfg_ini table has already been updated
152 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
153}
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -0800154
155static void NotifyIsMAWCIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
156{
157 /* at the point this routine is called, the value in the cfg_ini table has already been updated */
158 sme_UpdateIsMAWCIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->MAWCEnabled );
159}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800160#endif
161
162#ifdef FEATURE_WLAN_CCX
163static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
164{
165 // at the point this routine is called, the value in the cfg_ini table has already been updated
166 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
167}
168#endif
169
170static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
171{
172 // at the point this routine is called, the value in the cfg_ini table has already been updated
173 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
174}
175
Srinivas Girigowdade697412013-02-14 16:31:48 -0800176#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
177static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
178{
179 // at the point this routine is called, the value in the cfg_ini table has already been updated
180 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
181}
182
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700183static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
184{
185 // at the point this routine is called, the value in the cfg_ini table has already been updated
186 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
187}
188
Srinivas Girigowdade697412013-02-14 16:31:48 -0800189static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
190{
191 // at the point this routine is called, the value in the cfg_ini table has already been updated
192 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
193}
194
195static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
196{
197 // at the point this routine is called, the value in the cfg_ini table has already been updated
198 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
199}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700200
201static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
202{
203 // at the point this routine is called, the value in the cfg_ini table has already been updated
204 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
205}
206
207static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
208{
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700209 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
210}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800211#endif
212
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700213static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
214{
215 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
216}
217
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700218#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
219static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
220{
221 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700222 if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled)
223 {
224 pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0;
225 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
226 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700227}
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700228
229static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsigned long NotifyId)
230{
231 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
232}
233
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700234#endif
235
Jeff Johnson295189b2012-06-20 16:38:30 -0700236REG_TABLE_ENTRY g_registry_table[] =
237{
238 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800239 hdd_config_t, RTSThreshold,
240 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
241 CFG_RTS_THRESHOLD_DEFAULT,
242 CFG_RTS_THRESHOLD_MIN,
243 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700244
245 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800246 hdd_config_t, FragmentationThreshold,
247 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
248 CFG_FRAG_THRESHOLD_DEFAULT,
249 CFG_FRAG_THRESHOLD_MIN,
250 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700251
252 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800253 hdd_config_t, Calibration,
254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
255 CFG_CALIBRATION_DEFAULT,
256 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700257 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800258
Jeff Johnson295189b2012-06-20 16:38:30 -0700259 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800260 hdd_config_t, CalibrationPeriod,
261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
262 CFG_CALIBRATION_PERIOD_DEFAULT,
263 CFG_CALIBRATION_PERIOD_MIN,
264 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700265
266 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
267 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800268 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
269 CFG_OPERATING_CHANNEL_DEFAULT,
270 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700271 CFG_OPERATING_CHANNEL_MAX ),
272
273 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800274 hdd_config_t, ShortSlotTimeEnabled,
275 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
276 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
277 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700278 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
279
280 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800281 hdd_config_t, Is11dSupportEnabled,
282 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
283 CFG_11D_SUPPORT_ENABLED_DEFAULT,
284 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700285 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800286
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800287 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800288 hdd_config_t, Is11hSupportEnabled,
289 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
290 CFG_11H_SUPPORT_ENABLED_DEFAULT,
291 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800292 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700293
294 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800295 hdd_config_t, fEnforce11dChannels,
296 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
297 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
298 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700299 CFG_ENFORCE_11D_CHANNELS_MAX ),
300
301 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800302 hdd_config_t, fSupplicantCountryCodeHasPriority,
303 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
304 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
305 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700306 CFG_COUNTRY_CODE_PRIORITY_MAX),
307
308 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800309 hdd_config_t, fEnforceCountryCodeMatch,
310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
311 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
312 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700313 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
314
315 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800316 hdd_config_t, fEnforceDefaultDomain,
317 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
318 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
319 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700320 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800321
Jeff Johnson295189b2012-06-20 16:38:30 -0700322 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
323 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800324 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
325 CFG_GENERIC_ID1_DEFAULT,
326 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700327 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800328
Jeff Johnson295189b2012-06-20 16:38:30 -0700329 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
330 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800331 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
332 CFG_GENERIC_ID2_DEFAULT,
333 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700334 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800335
Jeff Johnson295189b2012-06-20 16:38:30 -0700336 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
337 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800338 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
339 CFG_GENERIC_ID3_DEFAULT,
340 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700341 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800342
Jeff Johnson295189b2012-06-20 16:38:30 -0700343 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
344 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800345 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
346 CFG_GENERIC_ID4_DEFAULT,
347 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700348 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800349
Jeff Johnson295189b2012-06-20 16:38:30 -0700350 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
351 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800352 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
353 CFG_GENERIC_ID5_DEFAULT,
354 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700355 CFG_GENERIC_ID5_MAX ),
356
357 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
358 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800359 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
360 CFG_GENERIC_VALUE1_DEFAULT,
361 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700362 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800363
Jeff Johnson295189b2012-06-20 16:38:30 -0700364 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
365 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800366 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
367 CFG_GENERIC_VALUE2_DEFAULT,
368 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700369 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800370
Jeff Johnson295189b2012-06-20 16:38:30 -0700371 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
372 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800373 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
374 CFG_GENERIC_VALUE3_DEFAULT,
375 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700376 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800377
Jeff Johnson295189b2012-06-20 16:38:30 -0700378 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
379 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800380 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
381 CFG_GENERIC_VALUE4_DEFAULT,
382 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700383 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800384
Jeff Johnson295189b2012-06-20 16:38:30 -0700385 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
386 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800387 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
388 CFG_GENERIC_VALUE5_DEFAULT,
389 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700390 CFG_GENERIC_VALUE5_MAX ),
391
392 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800393 hdd_config_t, HeartbeatThresh24,
394 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
395 CFG_HEARTBEAT_THRESH_24_DEFAULT,
396 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700397 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800398
Jeff Johnson295189b2012-06-20 16:38:30 -0700399 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800400 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700401 VAR_FLAGS_OPTIONAL,
402 (void *)CFG_POWER_USAGE_DEFAULT ),
403
404 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800405 hdd_config_t, nEnableSuspend,
406 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
407 CFG_ENABLE_SUSPEND_DEFAULT,
408 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700409 CFG_ENABLE_SUSPEND_MAX ),
410
411 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800412 hdd_config_t, nEnableDriverStop,
413 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
414 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
415 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700416 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
417
418 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800419 hdd_config_t, fIsImpsEnabled,
420 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
421 CFG_ENABLE_IMPS_DEFAULT,
422 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700423 CFG_ENABLE_IMPS_MAX ),
424
425 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800426 hdd_config_t, fIsLogpEnabled,
427 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
428 CFG_ENABLE_LOGP_DEFAULT,
429 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700430 CFG_ENABLE_LOGP_MAX ),
431
432 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800433 hdd_config_t, nImpsMinSleepTime,
434 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
435 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
436 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700437 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
438
439 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800440 hdd_config_t, nImpsMaxSleepTime,
441 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
442 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
443 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700444 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
445
446 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
447 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800448 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
449 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
450 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700451 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
452
453 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800454 hdd_config_t, fIsBmpsEnabled,
455 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
456 CFG_ENABLE_BMPS_DEFAULT,
457 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700458 CFG_ENABLE_BMPS_MAX ),
459
460 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800461 hdd_config_t, nBmpsMinListenInterval,
462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
463 CFG_BMPS_MINIMUM_LI_DEFAULT,
464 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700465 CFG_BMPS_MINIMUM_LI_MAX ),
466
467 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800468 hdd_config_t, nBmpsMaxListenInterval,
469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
470 CFG_BMPS_MAXIMUM_LI_DEFAULT,
471 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700472 CFG_BMPS_MAXIMUM_LI_MAX ),
473
474 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
475 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800476 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
477 CFG_BMPS_MODERATE_LI_DEFAULT,
478 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700479 CFG_BMPS_MODERATE_LI_MAX ),
480
481 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800482 hdd_config_t, fIsAutoBmpsTimerEnabled,
483 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
484 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
485 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700486 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
487
488 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800489 hdd_config_t, nAutoBmpsTimerValue,
490 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
491 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
492 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700493 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
494
495 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800496 hdd_config_t, dot11Mode,
497 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
498 CFG_DOT11_MODE_DEFAULT,
499 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700500 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800501
Jeff Johnson295189b2012-06-20 16:38:30 -0700502 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800503 hdd_config_t, nChannelBondingMode24GHz,
504 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
505 CFG_CHANNEL_BONDING_MODE_DEFAULT,
506 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700507 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800508
Jeff Johnson295189b2012-06-20 16:38:30 -0700509 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800510 hdd_config_t, nChannelBondingMode5GHz,
511 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
512 CFG_CHANNEL_BONDING_MODE_DEFAULT,
513 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700514 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800515
516 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
517 hdd_config_t, MaxRxAmpduFactor,
518 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
519 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
520 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700521 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800522
Jeff Johnson295189b2012-06-20 16:38:30 -0700523 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800524 hdd_config_t, TxRate,
525 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
526 CFG_FIXED_RATE_DEFAULT,
527 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700528 CFG_FIXED_RATE_MAX ),
529
530 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800531 hdd_config_t, ShortGI20MhzEnable,
532 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
533 CFG_SHORT_GI_20MHZ_DEFAULT,
534 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700535 CFG_SHORT_GI_20MHZ_MAX ),
536
537 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800538 hdd_config_t, BlockAckAutoSetup,
539 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
540 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
541 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700542 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800543
Jeff Johnson295189b2012-06-20 16:38:30 -0700544 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800545 hdd_config_t, ScanResultAgeCount,
546 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
547 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
548 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700549 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
550
551 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800552 hdd_config_t, nScanAgeTimeNCNPS,
553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
554 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
555 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700556 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
557
558 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800559 hdd_config_t, nScanAgeTimeNCPS,
560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
561 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
562 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700563 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
564
565 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800566 hdd_config_t, nScanAgeTimeCNPS,
567 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
568 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
569 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700570 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
571
572 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800573 hdd_config_t, nScanAgeTimeCPS,
574 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
575 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
576 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700577 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
578
579 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800580 hdd_config_t, nRssiCatGap,
581 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
582 CFG_RSSI_CATEGORY_GAP_DEFAULT,
583 CFG_RSSI_CATEGORY_GAP_MIN,
584 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700585
Jeff Johnson295189b2012-06-20 16:38:30 -0700586 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800587 hdd_config_t, fIsShortPreamble,
588 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
589 CFG_SHORT_PREAMBLE_DEFAULT,
590 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700591 CFG_SHORT_PREAMBLE_MAX ),
592
593 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800594 hdd_config_t, fIsAutoIbssBssid,
595 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
596 CFG_IBSS_AUTO_BSSID_DEFAULT,
597 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700598 CFG_IBSS_AUTO_BSSID_MAX ),
599
600 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800601 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700602 VAR_FLAGS_OPTIONAL,
603 (void *)CFG_IBSS_BSSID_DEFAULT ),
604
605 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800606 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700607 VAR_FLAGS_OPTIONAL,
608 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
609
610 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800611 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700612 VAR_FLAGS_OPTIONAL,
613 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
614
615 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800616 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700617 VAR_FLAGS_OPTIONAL,
618 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
619
620 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800621 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700622 VAR_FLAGS_OPTIONAL,
623 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
624
Jeff Johnson295189b2012-06-20 16:38:30 -0700625 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800626 hdd_config_t, apUapsdEnabled,
627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
629 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700630 CFG_AP_QOS_UAPSD_MODE_MAX ),
631
632 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 VAR_FLAGS_OPTIONAL,
635 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
636
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700637 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
638 hdd_config_t, apRandomBssidEnabled,
639 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
640 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
641 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
642 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
643
Jeff Johnson295189b2012-06-20 16:38:30 -0700644 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800645 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700646 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
647 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
648 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
649 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
650
651 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
652 hdd_config_t, apProtection,
653 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
654 CFG_AP_PROTECTION_MODE_DEFAULT,
655 CFG_AP_PROTECTION_MODE_MIN,
656 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800657
Jeff Johnson295189b2012-06-20 16:38:30 -0700658 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800659 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700660 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
661 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
662 CFG_AP_OBSS_PROTECTION_MODE_MIN,
663 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800664
Jeff Johnson295189b2012-06-20 16:38:30 -0700665 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800666 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700667 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
668 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
669 CFG_AP_STA_SECURITY_SEPERATION_MIN,
670 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
671
672 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800673 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700674 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
675 CFG_FRAMES_PROCESSING_TH_DEFAULT,
676 CFG_FRAMES_PROCESSING_TH_MIN,
677 CFG_FRAMES_PROCESSING_TH_MAX ),
678
679 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
680 hdd_config_t, apStartChannelNum,
681 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
682 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
683 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
684 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
685
686 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
687 hdd_config_t, apEndChannelNum,
688 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
689 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
690 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
691 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
692
693 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
694 hdd_config_t, apOperatingBand,
695 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
696 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
697 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
698 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
699
700 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
701 hdd_config_t, apAutoChannelSelection,
702 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
703 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
704 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
705 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800706
Jeff Johnson295189b2012-06-20 16:38:30 -0700707 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
708 hdd_config_t, enableLTECoex,
709 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
710 CFG_ENABLE_LTE_COEX_DEFAULT,
711 CFG_ENABLE_LTE_COEX_MIN,
712 CFG_ENABLE_LTE_COEX_MAX ),
713
714 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
715 hdd_config_t, apKeepAlivePeriod,
716 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
717 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
718 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
719 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
720
721 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
722 hdd_config_t, goKeepAlivePeriod,
723 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
724 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
725 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
726 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
727
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530728 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
729 hdd_config_t, apLinkMonitorPeriod,
730 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
731 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
732 CFG_AP_LINK_MONITOR_PERIOD_MIN,
733 CFG_AP_LINK_MONITOR_PERIOD_MAX),
734
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +0530735 REG_VARIABLE( CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
736 hdd_config_t, goLinkMonitorPeriod,
737 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
738 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
739 CFG_GO_LINK_MONITOR_PERIOD_MIN,
740 CFG_GO_LINK_MONITOR_PERIOD_MAX),
741
Jeff Johnson295189b2012-06-20 16:38:30 -0700742 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
743 hdd_config_t, disablePacketFilter,
744 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
745 CFG_DISABLE_PACKET_FILTER_DEFAULT,
746 CFG_DISABLE_PACKET_FILTER_MIN,
747 CFG_DISABLE_PACKET_FILTER_MAX ),
748
749 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800750 hdd_config_t, nBeaconInterval,
751 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
752 CFG_BEACON_INTERVAL_DEFAULT,
753 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700754 CFG_BEACON_INTERVAL_MAX ),
755
Jeff Johnson295189b2012-06-20 16:38:30 -0700756 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800757 hdd_config_t, nEnableIdleScan,
758 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
759 CFG_ENABLE_IDLE_SCAN_DEFAULT,
760 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700761 CFG_ENABLE_IDLE_SCAN_MAX ),
762
763 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800764 hdd_config_t, nRoamingTime,
765 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
766 CFG_ROAMING_TIME_DEFAULT,
767 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700768 CFG_ROAMING_TIME_MAX ),
769
770 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800771 hdd_config_t, nVccRssiTrigger,
772 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
773 CFG_VCC_RSSI_TRIGGER_DEFAULT,
774 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700775 CFG_VCC_RSSI_TRIGGER_MAX ),
776
777 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800778 hdd_config_t, nVccUlMacLossThreshold,
779 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
780 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
781 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700782 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
783
784 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800785 hdd_config_t, nPassiveMaxChnTime,
786 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
787 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
788 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700789 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
790
791 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800792 hdd_config_t, nPassiveMinChnTime,
793 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
794 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
795 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700796 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
797
798 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800799 hdd_config_t, nActiveMaxChnTime,
800 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
801 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
802 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700803 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
804
805 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800806 hdd_config_t, nActiveMinChnTime,
807 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
808 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
809 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700810 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700811
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800812 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
813 hdd_config_t, nActiveMaxChnTimeBtc,
814 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
815 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
816 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
817 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
818
819 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
820 hdd_config_t, nActiveMinChnTimeBtc,
821 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
822 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
823 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
824 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
825
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700826 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
827 hdd_config_t, retryLimitZero,
828 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
829 CFG_RETRY_LIMIT_ZERO_DEFAULT,
830 CFG_RETRY_LIMIT_ZERO_MIN,
831 CFG_RETRY_LIMIT_ZERO_MAX ),
832
833 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
834 hdd_config_t, retryLimitOne,
835 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
836 CFG_RETRY_LIMIT_ONE_DEFAULT,
837 CFG_RETRY_LIMIT_ONE_MIN,
838 CFG_RETRY_LIMIT_ONE_MAX ),
839
840 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
841 hdd_config_t, retryLimitTwo,
842 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
843 CFG_RETRY_LIMIT_TWO_DEFAULT,
844 CFG_RETRY_LIMIT_TWO_MIN,
845 CFG_RETRY_LIMIT_TWO_MAX ),
846
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700847 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
848 hdd_config_t, disableAggWithBtc,
849 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
850 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
851 CFG_DISABLE_AGG_WITH_BTC_MIN,
852 CFG_DISABLE_AGG_WITH_BTC_MAX ),
853
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700854#ifdef WLAN_AP_STA_CONCURRENCY
855 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800856 hdd_config_t, nPassiveMaxChnTimeConc,
857 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
858 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
859 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700860 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
861
862 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800863 hdd_config_t, nPassiveMinChnTimeConc,
864 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
865 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
866 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700867 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
868
869 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800870 hdd_config_t, nActiveMaxChnTimeConc,
871 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
872 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
873 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700874 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
875
876 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800877 hdd_config_t, nActiveMinChnTimeConc,
878 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
879 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
880 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700881 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
882
883 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800884 hdd_config_t, nRestTimeConc,
885 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
886 CFG_REST_TIME_CONC_DEFAULT,
887 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700888 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800889
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700890 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
891 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800892 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700893 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
894 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
895 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
896
897 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
898 hdd_config_t, nNumP2PChanCombinedConc,
899 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
900 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
901 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
902 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700903#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800904
Jeff Johnson295189b2012-06-20 16:38:30 -0700905 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800906 hdd_config_t, nMaxPsPoll,
907 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
908 CFG_MAX_PS_POLL_DEFAULT,
909 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700910 CFG_MAX_PS_POLL_MAX ),
911
912 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800913 hdd_config_t, nTxPowerCap,
914 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
915 CFG_MAX_TX_POWER_DEFAULT,
916 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700917 CFG_MAX_TX_POWER_MAX ),
918
919 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
920 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800921 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
922 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
923 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700924 CFG_LOW_GAIN_OVERRIDE_MAX ),
925
926 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
927 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800928 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
929 CFG_RSSI_FILTER_PERIOD_DEFAULT,
930 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700931 CFG_RSSI_FILTER_PERIOD_MAX ),
932
933 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
934 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800935 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
936 CFG_IGNORE_DTIM_DEFAULT,
937 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700938 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800939
Yue Mac24062f2013-05-13 17:01:29 -0700940 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
941 hdd_config_t, fMaxLIModulatedDTIM,
942 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
943 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
944 CFG_MAX_LI_MODULATED_DTIM_MIN,
945 CFG_MAX_LI_MODULATED_DTIM_MAX ),
946
Jeff Johnson295189b2012-06-20 16:38:30 -0700947 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800948 hdd_config_t, nRxAnt,
949 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
950 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
951 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700952 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
953
954 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800955 hdd_config_t, fEnableFwHeartBeatMonitoring,
956 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
957 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
958 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700959 CFG_FW_HEART_BEAT_MONITORING_MAX ),
960
961 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800962 hdd_config_t, fEnableFwBeaconFiltering,
963 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
964 CFG_FW_BEACON_FILTERING_DEFAULT,
965 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700966 CFG_FW_BEACON_FILTERING_MAX ),
967
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800968 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800969 hdd_config_t, fEnableFwRssiMonitoring,
970 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
971 CFG_FW_RSSI_MONITORING_DEFAULT,
972 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800973 CFG_FW_RSSI_MONITORING_MAX,
974 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700975
976 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800977 hdd_config_t, nDataInactivityTimeout,
978 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
979 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
980 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700981 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800982
Jeff Johnson295189b2012-06-20 16:38:30 -0700983 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800984 hdd_config_t, nthBeaconFilter,
985 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
986 CFG_NTH_BEACON_FILTER_DEFAULT,
987 CFG_NTH_BEACON_FILTER_MIN,
988 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700989
990 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800991 hdd_config_t, WmmMode,
992 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
993 CFG_QOS_WMM_MODE_DEFAULT,
994 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700995 CFG_QOS_WMM_MODE_MAX ),
996
997 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800998 hdd_config_t, b80211eIsEnabled,
999 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1000 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
1001 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001002 CFG_QOS_WMM_80211E_ENABLED_MAX ),
1003
1004 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001005 hdd_config_t, UapsdMask,
1006 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1007 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
1008 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001009 CFG_QOS_WMM_UAPSD_MASK_MAX ),
1010
Jeff Johnson295189b2012-06-20 16:38:30 -07001011 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001012 hdd_config_t, InfraUapsdVoSrvIntv,
1013 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1014 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
1015 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001016 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
1017
1018 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001019 hdd_config_t, InfraUapsdVoSuspIntv,
1020 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1021 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1022 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001023 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1024
1025 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001026 hdd_config_t, InfraUapsdViSrvIntv,
1027 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1028 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1029 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001030 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1031
1032 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001033 hdd_config_t, InfraUapsdViSuspIntv,
1034 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1035 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1036 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001037 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1038
1039 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001040 hdd_config_t, InfraUapsdBeSrvIntv,
1041 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1042 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1043 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001044 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1045
1046 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001047 hdd_config_t, InfraUapsdBeSuspIntv,
1048 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1049 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1050 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001051 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1052
1053 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001054 hdd_config_t, InfraUapsdBkSrvIntv,
1055 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1056 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1057 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001058 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1059
1060 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001061 hdd_config_t, InfraUapsdBkSuspIntv,
1062 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1063 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1064 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001065 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1066
1067#ifdef FEATURE_WLAN_CCX
1068 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001069 hdd_config_t, InfraInactivityInterval,
1070 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1071 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1072 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001073 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001074 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001075 hdd_config_t, isCcxIniFeatureEnabled,
1076 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1077 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1078 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001079 CFG_CCX_FEATURE_ENABLED_MAX,
1080 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001081#endif // FEATURE_WLAN_CCX
1082
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001083#ifdef FEATURE_WLAN_LFR
1084 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001085 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001086 hdd_config_t, isFastRoamIniFeatureEnabled,
1087 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1088 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1089 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001090 CFG_LFR_FEATURE_ENABLED_MAX,
1091 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08001092
1093 /* flag to turn ON/OFF Motion assistance for Legacy Fast Roaming */
1094 REG_DYNAMIC_VARIABLE( CFG_LFR_MAWC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1095 hdd_config_t, MAWCEnabled,
1096 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1097 CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT,
1098 CFG_LFR_MAWC_FEATURE_ENABLED_MIN,
1099 CFG_LFR_MAWC_FEATURE_ENABLED_MAX,
1100 NotifyIsMAWCIniFeatureEnabled, 0 ),
1101
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001102#endif // FEATURE_WLAN_LFR
1103
1104#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001105 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001106 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001107 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001108 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1109 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1110 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001111 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1112 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001113
Srinivas Girigowdade697412013-02-14 16:31:48 -08001114 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001115 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001116 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1117 hdd_config_t, RoamRssiDiff,
1118 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1119 CFG_ROAM_RSSI_DIFF_DEFAULT,
1120 CFG_ROAM_RSSI_DIFF_MIN,
1121 CFG_ROAM_RSSI_DIFF_MAX,
1122 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001123
1124 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001125 hdd_config_t, nImmediateRoamRssiDiff,
1126 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1127 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1128 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001129 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1130 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001131
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07001132 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1133 hdd_config_t, isWESModeEnabled,
1134 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1135 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1136 CFG_ENABLE_WES_MODE_NAME_MIN,
1137 CFG_ENABLE_WES_MODE_NAME_MAX,
1138 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001139#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001140#ifdef FEATURE_WLAN_OKC
1141 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1142 hdd_config_t, isOkcIniFeatureEnabled,
1143 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1144 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1145 CFG_OKC_FEATURE_ENABLED_MIN,
1146 CFG_OKC_FEATURE_ENABLED_MAX,
1147 cbNotifySetOkcFeatureEnabled, 0 ),
1148#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001149#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1150 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1151 hdd_config_t, isRoamOffloadScanEnabled,
1152 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1153 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1154 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1155 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1156 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1157#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001158 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001159 hdd_config_t, PktClassificationBasis,
1160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1161 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1162 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001163 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1164
1165 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001166 hdd_config_t, InfraDirAcVo,
1167 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1168 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1169 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001170 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1171
1172 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001173 hdd_config_t, InfraNomMsduSizeAcVo,
1174 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1175 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1176 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001177 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1178
1179 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001180 hdd_config_t, InfraMeanDataRateAcVo,
1181 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1182 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1183 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001184 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1185
1186 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001187 hdd_config_t, InfraMinPhyRateAcVo,
1188 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1189 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1190 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001191 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1192
1193 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001194 hdd_config_t, InfraSbaAcVo,
1195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1196 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1197 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001198 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1199
1200 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001201 hdd_config_t, InfraDirAcVi,
1202 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1203 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1204 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001205 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1206
1207 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001208 hdd_config_t, InfraNomMsduSizeAcVi,
1209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1210 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1211 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001212 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1213
1214 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001215 hdd_config_t, InfraMeanDataRateAcVi,
1216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1217 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1218 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001219 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1220
1221 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001222 hdd_config_t, InfraMinPhyRateAcVi,
1223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1224 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1225 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001226 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1227
1228 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001229 hdd_config_t, InfraSbaAcVi,
1230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1231 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1232 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001233 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1234
1235 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001236 hdd_config_t, InfraDirAcBe,
1237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1238 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1239 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001240 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1241
1242 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001243 hdd_config_t, InfraNomMsduSizeAcBe,
1244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1245 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1246 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001247 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1248
1249 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001250 hdd_config_t, InfraMeanDataRateAcBe,
1251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1252 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1253 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001254 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1255
1256 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001257 hdd_config_t, InfraMinPhyRateAcBe,
1258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1259 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1260 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001261 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1262
1263 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001264 hdd_config_t, InfraSbaAcBe,
1265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1266 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1267 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001268 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1269
1270 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001271 hdd_config_t, InfraDirAcBk,
1272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1273 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1274 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001275 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1276
1277 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001278 hdd_config_t, InfraNomMsduSizeAcBk,
1279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1280 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1281 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001282 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1283
1284 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001285 hdd_config_t, InfraMeanDataRateAcBk,
1286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1287 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1288 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001289 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1290
1291 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001292 hdd_config_t, InfraMinPhyRateAcBk,
1293 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1294 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1295 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001296 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1297
1298 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001299 hdd_config_t, InfraSbaAcBk,
1300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1301 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1302 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001303 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1304
1305 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001306 hdd_config_t, WfqBkWeight,
1307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1308 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1309 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001310 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1311
1312 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001313 hdd_config_t, WfqBeWeight,
1314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1315 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1316 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001317 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1318
1319 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001320 hdd_config_t, WfqViWeight,
1321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1322 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1323 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001324 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1325
1326 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001327 hdd_config_t, WfqVoWeight,
1328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1329 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1330 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001331 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1332
1333 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001334 hdd_config_t, DelayedTriggerFrmInt,
1335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1336 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1337 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001338 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1339
Dhanashri Atred8c20a32014-01-03 17:20:55 -08001340 REG_VARIABLE( CFG_REORDER_TIME_BK_NAME , WLAN_PARAM_Integer,
1341 hdd_config_t, BkReorderAgingTime,
1342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1343 CFG_REORDER_TIME_BK_DEFAULT,
1344 CFG_REORDER_TIME_BK_MIN,
1345 CFG_REORDER_TIME_BK_MAX ),
1346
1347 REG_VARIABLE( CFG_REORDER_TIME_BE_NAME , WLAN_PARAM_Integer,
1348 hdd_config_t, BeReorderAgingTime,
1349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1350 CFG_REORDER_TIME_BE_DEFAULT,
1351 CFG_REORDER_TIME_BE_MIN,
1352 CFG_REORDER_TIME_BE_MAX ),
1353
1354 REG_VARIABLE( CFG_REORDER_TIME_VI_NAME , WLAN_PARAM_Integer,
1355 hdd_config_t, ViReorderAgingTime,
1356 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1357 CFG_REORDER_TIME_VI_DEFAULT,
1358 CFG_REORDER_TIME_VI_MIN,
1359 CFG_REORDER_TIME_VI_MAX ),
1360
1361 REG_VARIABLE( CFG_REORDER_TIME_VO_NAME , WLAN_PARAM_Integer,
1362 hdd_config_t, VoReorderAgingTime,
1363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1364 CFG_REORDER_TIME_VO_DEFAULT,
1365 CFG_REORDER_TIME_VO_MIN,
1366 CFG_REORDER_TIME_VO_MAX ),
1367
Jeff Johnson295189b2012-06-20 16:38:30 -07001368 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001369 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001370 VAR_FLAGS_OPTIONAL,
1371 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1372
1373 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001374 hdd_config_t, bImplicitQosEnabled,
1375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1376 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1377 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001378 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1379
Jeff Johnson295189b2012-06-20 16:38:30 -07001380 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001381 hdd_config_t, btcExecutionMode,
1382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1383 CFG_BTC_EXECUTION_MODE_DEFAULT,
1384 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001385 CFG_BTC_EXECUTION_MODE_MAX ),
1386
1387 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1388 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1390 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1391 CFG_BTC_DHCP_PROTECTION_MIN,
1392 CFG_BTC_DHCP_PROTECTION_MAX ),
1393
1394 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1395 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1397 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1398 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1399 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1400
Jeff Johnson32d95a32012-09-10 13:15:23 -07001401 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1402 hdd_config_t, btcStaticLenInqBt,
1403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1404 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1405 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1406 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1407
1408 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1409 hdd_config_t, btcStaticLenPageBt,
1410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1411 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1412 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1413 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1414
1415 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1416 hdd_config_t, btcStaticLenConnBt,
1417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1418 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1419 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1420 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1421
1422 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1423 hdd_config_t, btcStaticLenLeBt,
1424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1425 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1426 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1427 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1428
1429 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1430 hdd_config_t, btcStaticLenInqWlan,
1431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1432 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1433 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1434 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1435
1436 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1437 hdd_config_t, btcStaticLenPageWlan,
1438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1439 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1440 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1441 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1442
1443 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1444 hdd_config_t, btcStaticLenConnWlan,
1445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1446 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1447 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1448 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1449
1450 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1451 hdd_config_t, btcStaticLenLeWlan,
1452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1453 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1454 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1455 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1456
1457 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1458 hdd_config_t, btcDynMaxLenBt,
1459 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1460 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1461 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1462 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1463
1464 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1465 hdd_config_t, btcDynMaxLenWlan,
1466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1467 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1468 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1469 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1470
1471 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1472 hdd_config_t, btcMaxScoBlockPerc,
1473 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1474 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1475 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1476 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1477
1478 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1479 hdd_config_t, btcDhcpProtOnA2dp,
1480 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1481 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1482 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1483 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1484
1485 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1486 hdd_config_t, btcDhcpProtOnSco,
1487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1488 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1489 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1490 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1491
Wilson Tsaof8b37942013-09-06 10:49:00 -07001492 REG_VARIABLE( CFG_MWS_COEX_V1_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1493 hdd_config_t, mwsCoexVictimWANFreq[0],
1494 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1495 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1496 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1497 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1498
1499 REG_VARIABLE( CFG_MWS_COEX_V1_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1500 hdd_config_t, mwsCoexVictimWLANFreq[0],
1501 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1502 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1503 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1504 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1505
1506 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG_NAME , WLAN_PARAM_Integer,
1507 hdd_config_t, mwsCoexVictimConfig[0],
1508 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1509 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1510 CFG_MWS_COEX_VX_CONFIG_MIN,
1511 CFG_MWS_COEX_VX_CONFIG_MAX ),
1512
1513 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG2_NAME , WLAN_PARAM_Integer,
1514 hdd_config_t, mwsCoexVictimConfig2[0],
1515 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1516 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1517 CFG_MWS_COEX_VX_CONFIG_MIN,
1518 CFG_MWS_COEX_VX_CONFIG_MAX ),
1519
1520 REG_VARIABLE( CFG_MWS_COEX_V2_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1521 hdd_config_t, mwsCoexVictimWANFreq[1],
1522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1523 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1524 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1525 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1526
1527 REG_VARIABLE( CFG_MWS_COEX_V2_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1528 hdd_config_t, mwsCoexVictimWLANFreq[1],
1529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1530 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1531 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1532 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1533
1534 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG_NAME , WLAN_PARAM_Integer,
1535 hdd_config_t, mwsCoexVictimConfig[1],
1536 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1537 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1538 CFG_MWS_COEX_VX_CONFIG_MIN,
1539 CFG_MWS_COEX_VX_CONFIG_MAX ),
1540
1541 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG2_NAME , WLAN_PARAM_Integer,
1542 hdd_config_t, mwsCoexVictimConfig2[1],
1543 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1544 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1545 CFG_MWS_COEX_VX_CONFIG_MIN,
1546 CFG_MWS_COEX_VX_CONFIG_MAX ),
1547
1548 REG_VARIABLE( CFG_MWS_COEX_V3_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1549 hdd_config_t, mwsCoexVictimWANFreq[2],
1550 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1551 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1552 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1553 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1554
1555 REG_VARIABLE( CFG_MWS_COEX_V3_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1556 hdd_config_t, mwsCoexVictimWLANFreq[2],
1557 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1558 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1559 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1560 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1561
1562 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG_NAME , WLAN_PARAM_Integer,
1563 hdd_config_t, mwsCoexVictimConfig[2],
1564 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1565 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1566 CFG_MWS_COEX_VX_CONFIG_MIN,
1567 CFG_MWS_COEX_VX_CONFIG_MAX ),
1568
1569 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG2_NAME , WLAN_PARAM_Integer,
1570 hdd_config_t, mwsCoexVictimConfig2[2],
1571 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1572 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1573 CFG_MWS_COEX_VX_CONFIG_MIN,
1574 CFG_MWS_COEX_VX_CONFIG_MAX ),
1575
1576 REG_VARIABLE( CFG_MWS_COEX_V4_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1577 hdd_config_t, mwsCoexVictimWANFreq[3],
1578 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1579 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1580 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1581 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1582
1583 REG_VARIABLE( CFG_MWS_COEX_V4_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1584 hdd_config_t, mwsCoexVictimWLANFreq[3],
1585 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1586 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1587 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1588 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1589
1590 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG_NAME , WLAN_PARAM_Integer,
1591 hdd_config_t, mwsCoexVictimConfig[3],
1592 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1593 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1594 CFG_MWS_COEX_VX_CONFIG_MIN,
1595 CFG_MWS_COEX_VX_CONFIG_MAX ),
1596
1597 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG2_NAME , WLAN_PARAM_Integer,
1598 hdd_config_t, mwsCoexVictimConfig2[3],
1599 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1600 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1601 CFG_MWS_COEX_VX_CONFIG_MIN,
1602 CFG_MWS_COEX_VX_CONFIG_MAX ),
1603
1604 REG_VARIABLE( CFG_MWS_COEX_V5_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1605 hdd_config_t, mwsCoexVictimWANFreq[4],
1606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1607 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1608 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1609 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1610
1611 REG_VARIABLE( CFG_MWS_COEX_V5_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1612 hdd_config_t, mwsCoexVictimWLANFreq[4],
1613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1614 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1615 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1616 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1617
1618 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG_NAME , WLAN_PARAM_Integer,
1619 hdd_config_t, mwsCoexVictimConfig[4],
1620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1621 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1622 CFG_MWS_COEX_VX_CONFIG_MIN,
1623 CFG_MWS_COEX_VX_CONFIG_MAX ),
1624
1625 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG2_NAME , WLAN_PARAM_Integer,
1626 hdd_config_t, mwsCoexVictimConfig2[4],
1627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1628 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1629 CFG_MWS_COEX_VX_CONFIG_MIN,
1630 CFG_MWS_COEX_VX_CONFIG_MAX ),
1631
1632 REG_VARIABLE( CFG_MWS_COEX_V6_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1633 hdd_config_t, mwsCoexVictimWANFreq[5],
1634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1635 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1636 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1637 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1638
1639 REG_VARIABLE( CFG_MWS_COEX_V6_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1640 hdd_config_t, mwsCoexVictimWLANFreq[5],
1641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1642 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1643 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1644 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1645
1646 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG_NAME , WLAN_PARAM_Integer,
1647 hdd_config_t, mwsCoexVictimConfig[5],
1648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1649 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1650 CFG_MWS_COEX_VX_CONFIG_MIN,
1651 CFG_MWS_COEX_VX_CONFIG_MAX ),
1652
1653 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG2_NAME , WLAN_PARAM_Integer,
1654 hdd_config_t, mwsCoexVictimConfig2[5],
1655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1656 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1657 CFG_MWS_COEX_VX_CONFIG_MIN,
1658 CFG_MWS_COEX_VX_CONFIG_MAX ),
1659
1660 REG_VARIABLE( CFG_MWS_COEX_V7_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1661 hdd_config_t, mwsCoexVictimWANFreq[6],
1662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1663 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1664 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1665 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1666
1667 REG_VARIABLE( CFG_MWS_COEX_V7_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1668 hdd_config_t, mwsCoexVictimWLANFreq[6],
1669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1670 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1671 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1672 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1673
1674 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG_NAME , WLAN_PARAM_Integer,
1675 hdd_config_t, mwsCoexVictimConfig[6],
1676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1677 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1678 CFG_MWS_COEX_VX_CONFIG_MIN,
1679 CFG_MWS_COEX_VX_CONFIG_MAX ),
1680
1681 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG2_NAME , WLAN_PARAM_Integer,
1682 hdd_config_t, mwsCoexVictimConfig2[6],
1683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1684 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1685 CFG_MWS_COEX_VX_CONFIG_MIN,
1686 CFG_MWS_COEX_VX_CONFIG_MAX ),
1687
1688 REG_VARIABLE( CFG_MWS_COEX_V8_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1689 hdd_config_t, mwsCoexVictimWANFreq[7],
1690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1691 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1692 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1693 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1694
1695 REG_VARIABLE( CFG_MWS_COEX_V8_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1696 hdd_config_t, mwsCoexVictimWLANFreq[7],
1697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1698 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1699 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1700 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1701
1702 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG_NAME , WLAN_PARAM_Integer,
1703 hdd_config_t, mwsCoexVictimConfig[7],
1704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1705 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1706 CFG_MWS_COEX_VX_CONFIG_MIN,
1707 CFG_MWS_COEX_VX_CONFIG_MAX ),
1708
1709 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG2_NAME , WLAN_PARAM_Integer,
1710 hdd_config_t, mwsCoexVictimConfig2[7],
1711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1712 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1713 CFG_MWS_COEX_VX_CONFIG_MIN,
1714 CFG_MWS_COEX_VX_CONFIG_MAX ),
1715
1716 REG_VARIABLE( CFG_MWS_COEX_V9_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1717 hdd_config_t, mwsCoexVictimWANFreq[8],
1718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1719 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1720 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1721 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1722
1723 REG_VARIABLE( CFG_MWS_COEX_V9_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1724 hdd_config_t, mwsCoexVictimWLANFreq[8],
1725 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1726 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1727 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1728 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1729
1730 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG_NAME , WLAN_PARAM_Integer,
1731 hdd_config_t, mwsCoexVictimConfig[8],
1732 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1733 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1734 CFG_MWS_COEX_VX_CONFIG_MIN,
1735 CFG_MWS_COEX_VX_CONFIG_MAX ),
1736
1737 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG2_NAME , WLAN_PARAM_Integer,
1738 hdd_config_t, mwsCoexVictimConfig2[8],
1739 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1740 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1741 CFG_MWS_COEX_VX_CONFIG_MIN,
1742 CFG_MWS_COEX_VX_CONFIG_MAX ),
1743
1744 REG_VARIABLE( CFG_MWS_COEX_V10_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1745 hdd_config_t, mwsCoexVictimWANFreq[9],
1746 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1747 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1748 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1749 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1750
1751 REG_VARIABLE( CFG_MWS_COEX_V10_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1752 hdd_config_t, mwsCoexVictimWLANFreq[9],
1753 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1754 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1755 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1756 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1757
1758 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG_NAME , WLAN_PARAM_Integer,
1759 hdd_config_t, mwsCoexVictimConfig[9],
1760 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1761 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1762 CFG_MWS_COEX_VX_CONFIG_MIN,
1763 CFG_MWS_COEX_VX_CONFIG_MAX ),
1764
1765 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG2_NAME , WLAN_PARAM_Integer,
1766 hdd_config_t, mwsCoexVictimConfig2[9],
1767 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1768 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1769 CFG_MWS_COEX_VX_CONFIG_MIN,
1770 CFG_MWS_COEX_VX_CONFIG_MAX ),
1771
1772 REG_VARIABLE( CFG_MWS_COEX_MODEM_BACKOFF_NAME , WLAN_PARAM_Integer,
1773 hdd_config_t, mwsCoexModemBackoff,
1774 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1775 CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT,
1776 CFG_MWS_COEX_MODEM_BACKOFF_MIN,
1777 CFG_MWS_COEX_MODEM_BACKOFF_MAX ),
1778
1779 REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer,
1780 hdd_config_t, mwsCoexConfig[0],
1781 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1782 CFG_MWS_COEX_CONFIGX_DEFAULT,
1783 CFG_MWS_COEX_CONFIGX_MIN,
1784 CFG_MWS_COEX_CONFIGX_MAX ),
1785
1786 REG_VARIABLE( CFG_MWS_COEX_CONFIG2_NAME , WLAN_PARAM_Integer,
1787 hdd_config_t, mwsCoexConfig[1],
1788 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1789 CFG_MWS_COEX_CONFIGX_DEFAULT,
1790 CFG_MWS_COEX_CONFIGX_MIN,
1791 CFG_MWS_COEX_CONFIGX_MAX ),
1792
1793 REG_VARIABLE( CFG_MWS_COEX_CONFIG3_NAME , WLAN_PARAM_Integer,
1794 hdd_config_t, mwsCoexConfig[2],
1795 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1796 CFG_MWS_COEX_CONFIGX_DEFAULT,
1797 CFG_MWS_COEX_CONFIGX_MIN,
1798 CFG_MWS_COEX_CONFIGX_MAX ),
1799
1800 REG_VARIABLE( CFG_MWS_COEX_CONFIG4_NAME , WLAN_PARAM_Integer,
1801 hdd_config_t, mwsCoexConfig[3],
1802 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1803 CFG_MWS_COEX_CONFIGX_DEFAULT,
1804 CFG_MWS_COEX_CONFIGX_MIN,
1805 CFG_MWS_COEX_CONFIGX_MAX ),
1806
1807 REG_VARIABLE( CFG_MWS_COEX_CONFIG5_NAME , WLAN_PARAM_Integer,
1808 hdd_config_t, mwsCoexConfig[4],
1809 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1810 CFG_MWS_COEX_CONFIGX_DEFAULT,
1811 CFG_MWS_COEX_CONFIGX_MIN,
1812 CFG_MWS_COEX_CONFIGX_MAX ),
1813
1814 REG_VARIABLE( CFG_MWS_COEX_CONFIG6_NAME , WLAN_PARAM_Integer,
1815 hdd_config_t, mwsCoexConfig[5],
1816 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1817 CFG_MWS_COEX_CONFIGX_DEFAULT,
1818 CFG_MWS_COEX_CONFIGX_MIN,
1819 CFG_MWS_COEX_CONFIGX_MAX ),
1820
1821 REG_VARIABLE( CFG_SAR_POWER_BACKOFF_NAME , WLAN_PARAM_Integer,
1822 hdd_config_t, SARPowerBackoff,
1823 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1824 CFG_SAR_POWER_BACKOFF_DEFAULT,
1825 CFG_SAR_POWER_BACKOFF_MIN,
1826 CFG_SAR_POWER_BACKOFF_MAX ),
1827
Jeff Johnson295189b2012-06-20 16:38:30 -07001828 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001829 hdd_config_t, nEnableListenMode,
1830 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1831 CFG_AP_LISTEN_MODE_DEFAULT,
1832 CFG_AP_LISTEN_MODE_MIN,
1833 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001834
1835 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1836 hdd_config_t, nAPAutoShutOff,
1837 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1838 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1839 CFG_AP_AUTO_SHUT_OFF_MIN,
1840 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001841
1842#if defined WLAN_FEATURE_VOWIFI
1843 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001844 hdd_config_t, fRrmEnable,
1845 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1846 CFG_RRM_ENABLE_DEFAULT,
1847 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001848 CFG_RRM_ENABLE_MAX ),
1849
1850 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001851 hdd_config_t, nInChanMeasMaxDuration,
1852 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1853 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1854 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001855 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1856
1857 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001858 hdd_config_t, nOutChanMeasMaxDuration,
1859 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1860 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1861 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001862 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1863
1864 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001865 hdd_config_t, nRrmRandnIntvl,
1866 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1867 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1868 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001869 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1870#endif
1871
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001872#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001873 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001874 hdd_config_t, fFTResourceReqSupported,
1875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1876 CFG_FT_RESOURCE_REQ_DEFAULT,
1877 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001878 CFG_FT_RESOURCE_REQ_MAX ),
1879#endif
1880
1881#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001882 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001883 hdd_config_t, nNeighborScanPeriod,
1884 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1885 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1886 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001887 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1888 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001889
1890 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001891 hdd_config_t, nNeighborReassocRssiThreshold,
1892 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1893 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1894 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001895 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1896
Srinivas Girigowdade697412013-02-14 16:31:48 -08001897 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001898 hdd_config_t, nNeighborLookupRssiThreshold,
1899 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1900 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1901 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001902 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1903 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001904
1905 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001906 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001907 VAR_FLAGS_OPTIONAL,
1908 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1909
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001910 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001911 hdd_config_t, nNeighborScanMinChanTime,
1912 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1913 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1914 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001915 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1916 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001917
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001918 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001919 hdd_config_t, nNeighborScanMaxChanTime,
1920 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1921 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1922 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001923 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1924 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001925
1926 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1927 hdd_config_t, nMaxNeighborReqTries,
1928 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1929 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1930 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1931 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1932
Srinivas Girigowdade697412013-02-14 16:31:48 -08001933 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001934 hdd_config_t, nNeighborResultsRefreshPeriod,
1935 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1936 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1937 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001938 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1939 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1940
1941 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1942 hdd_config_t, nEmptyScanRefreshPeriod,
1943 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1944 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1945 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1946 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1947 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001948#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1949
1950 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001951 hdd_config_t, burstSizeDefinition,
1952 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1953 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1954 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001955 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1956
1957 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1958 hdd_config_t, mcastBcastFilterSetting,
1959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1960 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1961 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1962 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1963
1964 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1965 hdd_config_t, fhostArpOffload,
1966 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1967 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1968 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1969 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1970
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301971 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1972 hdd_config_t, fhostNSOffload,
1973 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1974 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1975 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1976 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1977
Jeff Johnson295189b2012-06-20 16:38:30 -07001978 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001979 hdd_config_t, tsInfoAckPolicy,
1980 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1981 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1982 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001983 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1984
1985 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1986 hdd_config_t, bSingleTidRc,
1987 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1988 CFG_SINGLE_TID_RC_DEFAULT,
1989 CFG_SINGLE_TID_RC_MIN,
1990 CFG_SINGLE_TID_RC_MAX),
1991
1992 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1993 hdd_config_t, dynamicPsPollValue,
1994 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1995 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1996 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1997 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1998
1999 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
2000 hdd_config_t, teleBcnWakeupEn,
2001 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2002 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
2003 CFG_TELE_BCN_WAKEUP_EN_MIN,
2004 CFG_TELE_BCN_WAKEUP_EN_MAX ),
2005
2006 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
2007 hdd_config_t, infraStaKeepAlivePeriod,
2008 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2009 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
2010 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
2011 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
2012
2013 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002014 hdd_config_t, AddTSWhenACMIsOff,
2015 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2016 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
2017 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002018 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
2019
2020
2021 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002022 hdd_config_t, fValidateScanList,
2023 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2024 CFG_VALIDATE_SCAN_LIST_DEFAULT,
2025 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002026 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002027
Jeff Johnson295189b2012-06-20 16:38:30 -07002028 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002029 hdd_config_t, nNullDataApRespTimeout,
2030 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2031 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
2032 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002033 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
2034
2035 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002036 hdd_config_t, apDataAvailPollPeriodInMs,
2037 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2038 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2039 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002040 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002041
Jeff Johnson295189b2012-06-20 16:38:30 -07002042 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002043 hdd_config_t, enableBtAmp,
2044 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2045 CFG_ENABLE_BTAMP_DEFAULT,
2046 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002047 CFG_ENABLE_BTAMP_MAX ),
2048
2049#ifdef WLAN_BTAMP_FEATURE
2050 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002051 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07002052 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2053 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
2054 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
2055 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
2056#endif //WLAN_BTAMP_FEATURE
2057 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002058 hdd_config_t, nBandCapability,
2059 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2060 CFG_BAND_CAPABILITY_DEFAULT,
2061 CFG_BAND_CAPABILITY_MIN,
2062 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002063
2064 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002065 hdd_config_t, fEnableBeaconEarlyTermination,
2066 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2067 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
2068 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
2069 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002070/* CFG_VOS_TRACE_ENABLE Parameters */
2071 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
2072 hdd_config_t, vosTraceEnableBAP,
2073 VAR_FLAGS_OPTIONAL,
2074 CFG_VOS_TRACE_ENABLE_DEFAULT,
2075 CFG_VOS_TRACE_ENABLE_MIN,
2076 CFG_VOS_TRACE_ENABLE_MAX ),
2077
2078 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
2079 hdd_config_t, vosTraceEnableTL,
2080 VAR_FLAGS_OPTIONAL,
2081 CFG_VOS_TRACE_ENABLE_DEFAULT,
2082 CFG_VOS_TRACE_ENABLE_MIN,
2083 CFG_VOS_TRACE_ENABLE_MAX ),
2084
2085 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
2086 hdd_config_t, vosTraceEnableWDI,
2087 VAR_FLAGS_OPTIONAL,
2088 CFG_VOS_TRACE_ENABLE_DEFAULT,
2089 CFG_VOS_TRACE_ENABLE_MIN,
2090 CFG_VOS_TRACE_ENABLE_MAX ),
2091
2092 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
2093 hdd_config_t, vosTraceEnableHDD,
2094 VAR_FLAGS_OPTIONAL,
2095 CFG_VOS_TRACE_ENABLE_DEFAULT,
2096 CFG_VOS_TRACE_ENABLE_MIN,
2097 CFG_VOS_TRACE_ENABLE_MAX ),
2098
2099 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
2100 hdd_config_t, vosTraceEnableSME,
2101 VAR_FLAGS_OPTIONAL,
2102 CFG_VOS_TRACE_ENABLE_DEFAULT,
2103 CFG_VOS_TRACE_ENABLE_MIN,
2104 CFG_VOS_TRACE_ENABLE_MAX ),
2105
2106 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
2107 hdd_config_t, vosTraceEnablePE,
2108 VAR_FLAGS_OPTIONAL,
2109 CFG_VOS_TRACE_ENABLE_DEFAULT,
2110 CFG_VOS_TRACE_ENABLE_MIN,
2111 CFG_VOS_TRACE_ENABLE_MAX ),
2112
Katya Nigam70d68332013-09-16 16:49:45 +05302113 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PMC_NAME, WLAN_PARAM_Integer,
2114 hdd_config_t, vosTraceEnablePMC,
2115 VAR_FLAGS_OPTIONAL,
2116 CFG_VOS_TRACE_ENABLE_DEFAULT,
2117 CFG_VOS_TRACE_ENABLE_MIN,
2118 CFG_VOS_TRACE_ENABLE_MAX ),
2119
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002120 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
2121 hdd_config_t, vosTraceEnableWDA,
2122 VAR_FLAGS_OPTIONAL,
2123 CFG_VOS_TRACE_ENABLE_DEFAULT,
2124 CFG_VOS_TRACE_ENABLE_MIN,
2125 CFG_VOS_TRACE_ENABLE_MAX ),
2126
2127 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
2128 hdd_config_t, vosTraceEnableSYS,
2129 VAR_FLAGS_OPTIONAL,
2130 CFG_VOS_TRACE_ENABLE_DEFAULT,
2131 CFG_VOS_TRACE_ENABLE_MIN,
2132 CFG_VOS_TRACE_ENABLE_MAX ),
2133
2134 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
2135 hdd_config_t, vosTraceEnableVOSS,
2136 VAR_FLAGS_OPTIONAL,
2137 CFG_VOS_TRACE_ENABLE_DEFAULT,
2138 CFG_VOS_TRACE_ENABLE_MIN,
2139 CFG_VOS_TRACE_ENABLE_MAX ),
2140
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002141 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
2142 hdd_config_t, vosTraceEnableSAP,
2143 VAR_FLAGS_OPTIONAL,
2144 CFG_VOS_TRACE_ENABLE_DEFAULT,
2145 CFG_VOS_TRACE_ENABLE_MIN,
2146 CFG_VOS_TRACE_ENABLE_MAX ),
2147
2148 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
2149 hdd_config_t, vosTraceEnableHDDSAP,
2150 VAR_FLAGS_OPTIONAL,
2151 CFG_VOS_TRACE_ENABLE_DEFAULT,
2152 CFG_VOS_TRACE_ENABLE_MIN,
2153 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002154
Jeff Johnson295189b2012-06-20 16:38:30 -07002155 /* note that since the default value is out of range we cannot
2156 enable range check, otherwise we get a system log message */
2157 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
2158 hdd_config_t, wdiTraceEnableDAL,
2159 VAR_FLAGS_OPTIONAL,
2160 CFG_WDI_TRACE_ENABLE_DEFAULT,
2161 CFG_WDI_TRACE_ENABLE_MIN,
2162 CFG_WDI_TRACE_ENABLE_MAX ),
2163
2164 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
2165 hdd_config_t, wdiTraceEnableCTL,
2166 VAR_FLAGS_OPTIONAL,
2167 CFG_WDI_TRACE_ENABLE_DEFAULT,
2168 CFG_WDI_TRACE_ENABLE_MIN,
2169 CFG_WDI_TRACE_ENABLE_MAX ),
2170
2171 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
2172 hdd_config_t, wdiTraceEnableDAT,
2173 VAR_FLAGS_OPTIONAL,
2174 CFG_WDI_TRACE_ENABLE_DEFAULT,
2175 CFG_WDI_TRACE_ENABLE_MIN,
2176 CFG_WDI_TRACE_ENABLE_MAX ),
2177
2178 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
2179 hdd_config_t, wdiTraceEnablePAL,
2180 VAR_FLAGS_OPTIONAL,
2181 CFG_WDI_TRACE_ENABLE_DEFAULT,
2182 CFG_WDI_TRACE_ENABLE_MIN,
2183 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002184
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002185 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002186 hdd_config_t, nTeleBcnTransListenInterval,
2187 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2188 CFG_TELE_BCN_TRANS_LI_DEFAULT,
2189 CFG_TELE_BCN_TRANS_LI_MIN,
2190 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002191
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002192 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002193 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
2194 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2195 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
2196 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
2197 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002198
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002199 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002200 hdd_config_t, nTeleBcnMaxListenInterval,
2201 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2202 CFG_TELE_BCN_MAX_LI_DEFAULT,
2203 CFG_TELE_BCN_MAX_LI_MIN,
2204 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002205
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002206 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002207 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
2208 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2209 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
2210 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
2211 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002212
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002213 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002214 hdd_config_t, bcnEarlyTermWakeInterval,
2215 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2216 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
2217 CFG_BCN_EARLY_TERM_WAKE_MIN,
2218 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002219
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002220 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002221 hdd_config_t, apDataAvailPollPeriodInMs,
2222 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2223 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2224 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002225 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
2226
2227 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002228 hdd_config_t, enableCloseLoop,
2229 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2230 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
2231 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002232 CFG_ENABLE_CLOSE_LOOP_MAX ),
2233
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002234 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002235 hdd_config_t, enableBypass11d,
2236 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2237 CFG_ENABLE_BYPASS_11D_DEFAULT,
2238 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002239 CFG_ENABLE_BYPASS_11D_MAX ),
2240
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002241 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002242 hdd_config_t, enableDFSChnlScan,
2243 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2244 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
2245 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002246 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
2247
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002248 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002249 hdd_config_t, enableDynamicDTIM,
2250 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2251 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
2252 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002253 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
2254
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002255 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002256 hdd_config_t, enableAutomaticTxPowerControl,
2257 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2258 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
2259 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002260 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
2261
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002262 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002263 hdd_config_t, ShortGI40MhzEnable,
2264 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2265 CFG_SHORT_GI_40MHZ_DEFAULT,
2266 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002267 CFG_SHORT_GI_40MHZ_MAX ),
2268
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002269 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002270 hdd_config_t, reportMaxLinkSpeed,
2271 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2272 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
2273 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002274 CFG_REPORT_MAX_LINK_SPEED_MAX,
2275 NULL, 0 ),
2276
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002277 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002278 hdd_config_t, linkSpeedRssiHigh,
2279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2280 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
2281 CFG_LINK_SPEED_RSSI_HIGH_MIN,
2282 CFG_LINK_SPEED_RSSI_HIGH_MAX,
2283 NULL, 0 ),
2284
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002285 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07002286 hdd_config_t, linkSpeedRssiMid,
2287 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2288 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
2289 CFG_LINK_SPEED_RSSI_MID_MIN,
2290 CFG_LINK_SPEED_RSSI_MID_MAX,
2291 NULL, 0 ),
2292
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002293 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002294 hdd_config_t, linkSpeedRssiLow,
2295 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2296 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
2297 CFG_LINK_SPEED_RSSI_LOW_MIN,
2298 CFG_LINK_SPEED_RSSI_LOW_MAX,
2299 NULL, 0 ),
2300
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002301#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002302 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002303 hdd_config_t, nRoamPrefer5GHz,
2304 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2305 CFG_ROAM_PREFER_5GHZ_DEFAULT,
2306 CFG_ROAM_PREFER_5GHZ_MIN,
2307 CFG_ROAM_PREFER_5GHZ_MAX,
2308 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002309
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002310 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002311 hdd_config_t, nRoamIntraBand,
2312 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2313 CFG_ROAM_INTRA_BAND_DEFAULT,
2314 CFG_ROAM_INTRA_BAND_MIN,
2315 CFG_ROAM_INTRA_BAND_MAX,
2316 cbNotifySetRoamIntraBand, 0 ),
2317
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002318 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
2319 hdd_config_t, nProbes,
2320 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2321 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
2322 CFG_ROAM_SCAN_N_PROBES_MIN,
2323 CFG_ROAM_SCAN_N_PROBES_MAX,
2324 cbNotifySetRoamScanNProbes, 0 ),
2325
2326 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
2327 hdd_config_t, nRoamScanHomeAwayTime,
2328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2329 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
2330 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
2331 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
2332 cbNotifySetRoamScanHomeAwayTime, 0 ),
2333
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002334#endif
2335
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002336 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07002337 hdd_config_t, isP2pDeviceAddrAdministrated,
2338 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2339 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
2340 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
2341 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002342
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002343 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002344 hdd_config_t, enableMCC,
2345 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2346 CFG_ENABLE_MCC_ENABLED_DEFAULT,
2347 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002348 CFG_ENABLE_MCC_ENABLED_MAX ),
2349
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002350 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002351 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002352 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2353 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
2354 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
2355 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002356
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002357 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002358 hdd_config_t, thermalMitigationEnable,
2359 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2360 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
2361 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002362 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002363
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002364 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002365 hdd_config_t, enableModulatedDTIM,
2366 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2367 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
2368 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002369 CFG_ENABLE_MODULATED_DTIM_MAX ),
2370
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002371 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002372 hdd_config_t, fEnableMCAddrList,
2373 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2374 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2375 CFG_MC_ADDR_LIST_ENABLE_MIN,
2376 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2377
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002378#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002379 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002380 hdd_config_t, vhtChannelWidth,
2381 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2382 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2383 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002384 CFG_VHT_CHANNEL_WIDTH_MAX),
2385
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002386 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002387 hdd_config_t, vhtRxMCS,
2388 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2389 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2390 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002391 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2392
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002393 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002394 hdd_config_t, vhtTxMCS,
2395 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2396 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2397 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002398 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2399#endif
2400
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002401 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002402 hdd_config_t, enableFirstScan2GOnly,
2403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2404 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2405 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002406 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2407
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002408 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002409 hdd_config_t, skipDfsChnlInP2pSearch,
2410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2411 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2412 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002413 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2414
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002415 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002416 hdd_config_t, ignoreDynamicDtimInP2pMode,
2417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2418 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2419 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002420 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2421
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002422 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002423 hdd_config_t,numBuffAdvert ,
2424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2425 CFG_NUM_BUFF_ADVERT_DEFAULT,
2426 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002427 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002428
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002429 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002430 hdd_config_t, configMccParam,
2431 VAR_FLAGS_OPTIONAL,
2432 CFG_MCC_CONFIG_PARAM_DEFAULT,
2433 CFG_MCC_CONFIG_PARAM_MIN,
2434 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002435 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002436 hdd_config_t, enableRxSTBC,
2437 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2438 CFG_ENABLE_RX_STBC_DEFAULT,
2439 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302440 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002441#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002442 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002443 hdd_config_t, fEnableTDLSSupport,
2444 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2445 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2446 CFG_TDLS_SUPPORT_ENABLE_MIN,
2447 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302448
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002449 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302450 hdd_config_t, fEnableTDLSImplicitTrigger,
2451 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2452 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2453 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2454 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2455
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002456 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302457 hdd_config_t, fTDLSTxStatsPeriod,
2458 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2459 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2460 CFG_TDLS_TX_STATS_PERIOD_MIN,
2461 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2462
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002463 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302464 hdd_config_t, fTDLSTxPacketThreshold,
2465 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2466 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2467 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2468 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2469
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002470 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302471 hdd_config_t, fTDLSDiscoveryPeriod,
2472 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2473 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2474 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2475 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2476
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002477 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302478 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2479 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2480 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2481 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2482 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2483
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002484 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002485 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302486 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002487 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2488 CFG_TDLS_IDLE_TIMEOUT_MIN,
2489 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2490
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002491 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002492 hdd_config_t, fTDLSIdlePacketThreshold,
2493 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2494 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2495 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2496 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302497
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002498 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002499 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302500 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2501 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2502 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2503 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002504
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002505 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002506 hdd_config_t, fTDLSRSSITriggerThreshold,
2507 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2508 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2509 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2510 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2511
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002512 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002513 hdd_config_t, fTDLSRSSITeardownThreshold,
2514 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2515 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2516 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2517 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302518
2519REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2520 hdd_config_t, fTDLSUapsdMask,
2521 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2522 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2523 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2524 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2525
2526REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2527 hdd_config_t, fEnableTDLSBufferSta,
2528 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2529 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2530 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2531 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2532
2533REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2534 hdd_config_t, fTDLSPuapsdInactivityTimer,
2535 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2536 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2537 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2538 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2539
2540REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2541 hdd_config_t, fTDLSRxFrameThreshold,
2542 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2543 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2544 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2545 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Sunil Dutt41de4e22013-11-14 18:09:02 +05302546
2547REG_VARIABLE( CFG_TDLS_EXTERNAL_CONTROL, WLAN_PARAM_Integer,
2548 hdd_config_t, fTDLSExternalControl,
2549 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2550 CFG_TDLS_EXTERNAL_CONTROL_DEFAULT,
2551 CFG_TDLS_EXTERNAL_CONTROL_MIN,
2552 CFG_TDLS_EXTERNAL_CONTROL_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002553#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002554
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002555#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002556 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002557 hdd_config_t, fEnableVSTASupport,
2558 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2559 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2560 CFG_VSTA_SUPPORT_ENABLE_MIN,
2561 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2562#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002563 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002564 hdd_config_t, enableLpwrImgTransition,
2565 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2566 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2567 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002568 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2569
Yathish9f22e662012-12-10 14:21:35 -08002570#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002571 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002572 hdd_config_t, fEnableActiveModeOffload,
2573 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2574 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2575 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2576 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2577#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002578 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002579 hdd_config_t, enableLpwrImgTransition,
2580 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2581 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2582 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2583 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2584
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002585
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002586 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002587 hdd_config_t, scanAgingTimeout,
2588 VAR_FLAGS_OPTIONAL,
2589 CFG_SCAN_AGING_PARAM_DEFAULT,
2590 CFG_SCAN_AGING_PARAM_MIN,
2591 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002592
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002593 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002594 hdd_config_t, enableTxLdpc,
2595 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2596 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2597 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2598 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2599
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002600 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302601 hdd_config_t, enableMCCAdaptiveScheduler,
2602 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2603 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2604 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2605 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2606
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002607 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302608 hdd_config_t, isAndroidPsEn,
2609 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2610 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2611 CFG_ANDRIOD_POWER_SAVE_MIN,
2612 CFG_ANDRIOD_POWER_SAVE_MAX),
2613
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002614 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002615 hdd_config_t, AdHocChannel5G,
2616 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2617 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2618 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2619 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2620
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002621 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002622 hdd_config_t, AdHocChannel24G,
2623 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2624 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2625 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2626 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2627
2628
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002629#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002630 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002631 hdd_config_t, enableTxBF,
2632 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2633 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2634 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2635 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002636
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002637 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002638 hdd_config_t, txBFCsnValue,
2639 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2640 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2641 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2642 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2643
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002644#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302645
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002646 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302647 hdd_config_t, sapAllowAllChannel,
2648 VAR_FLAGS_OPTIONAL,
2649 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2650 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2651 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002652
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002653#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002654 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002655 hdd_config_t, disableLDPCWithTxbfAP,
2656 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2657 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2658 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2659 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2660#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002661
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002662 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002663 hdd_config_t, listOfNonDfsCountryCode,
2664 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2665 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2666
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002667 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2668 hdd_config_t, enableSSR,
2669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2670 CFG_ENABLE_SSR_DEFAULT,
2671 CFG_ENABLE_SSR_MIN,
2672 CFG_ENABLE_SSR_MAX,
2673 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302674
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002675 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302676 hdd_config_t, listOfNon11acCountryCode,
2677 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2678 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2679
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002680 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302681 hdd_config_t, cfgMaxMediumTime,
2682 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2683 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2684 CFG_MAX_MEDIUM_TIME_STAMIN,
2685 CFG_MAX_MEDIUM_TIME_STAMAX ),
2686
Leo Chang64d68bc2013-06-04 15:40:52 -07002687 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2688 hdd_config_t, enableTrafficMonitor,
2689 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2690 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2691 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2692 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2693
2694 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2695 hdd_config_t, trafficIdleTimeout,
2696 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2697 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2698 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2699 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002700
2701#ifdef WLAN_FEATURE_11AC
2702 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2703 hdd_config_t, enableVhtFor24GHzBand,
2704 VAR_FLAGS_OPTIONAL,
2705 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2706 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2707 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2708#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302709
2710 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2711 hdd_config_t, fScanOffload,
2712 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2713 CFG_SCAN_OFFLOAD_DEFAULT,
2714 CFG_SCAN_OFFLOAD_DISABLE,
2715 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002716
2717#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2718 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2719 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2720 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2721 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2722 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2723 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2724 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2725#endif
2726
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07002727 REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
2728 hdd_config_t, fEnableAdaptRxDrain,
2729 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2730 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
2731 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
2732 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
2733
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002734 REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer,
2735 hdd_config_t, dynSplitscan,
2736 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2737 CFG_DYNAMIC_SPLIT_SCAN_DEFAULT,
2738 CFG_DYNAMIC_SPLIT_SCAN_MIN,
2739 CFG_DYNAMIC_SPLIT_SCAN_MAX ),
2740
2741 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer,
2742 hdd_config_t, txRxThresholdForSplitScan,
2743 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2744 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT,
2745 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN,
2746 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ),
2747
2748 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer,
2749 hdd_config_t, trafficMntrTmrForSplitScan,
2750 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2751 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT,
2752 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN,
2753 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ),
2754
Yue Ma0fd23872013-08-01 15:56:47 -07002755 REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer,
2756 hdd_config_t, flexConnectPowerFactor,
2757 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX,
2758 CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT,
2759 CFG_FLEX_CONNECT_POWER_FACTOR_MIN,
2760 CFG_FLEX_CONNECT_POWER_FACTOR_MAX ),
2761
Ravi Joshid2ca7c42013-07-23 08:37:49 -07002762 REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer,
2763 hdd_config_t, enableIbssHeartBeatOffload,
2764 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2765 CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT,
2766 CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN,
2767 CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX),
2768
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05302769 REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer,
2770 hdd_config_t, antennaDiversity,
2771 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2772 CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT,
2773 CFG_ANTENNA_DIVERSITY_PARAM_MIN,
2774 CFG_ANTENNA_DIVERSITY_PARAM_MAX),
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05302775
2776 REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2777 hdd_config_t, fEnableSNRMonitoring,
2778 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2779 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2780 CFG_ENABLE_SNR_MONITORING_MIN,
2781 CFG_ENABLE_SNR_MONITORING_MAX),
2782
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302783#ifdef FEATURE_WLAN_SCAN_PNO
Hardik Kantilal Patel3dfd8792013-11-13 20:34:57 +05302784 REG_VARIABLE( CFG_PNO_SCAN_SUPPORT, WLAN_PARAM_Integer,
2785 hdd_config_t, configPNOScanSupport,
2786 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2787 CFG_PNO_SCAN_SUPPORT_DEFAULT,
2788 CFG_PNO_SCAN_SUPPORT_DISABLE,
2789 CFG_PNO_SCAN_SUPPORT_ENABLE),
2790
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302791 REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2792 hdd_config_t, configPNOScanTimerRepeatValue,
2793 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2794 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2795 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2796 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
2797#endif
krunal soni5afa96c2013-09-06 22:19:02 -07002798 REG_VARIABLE( CFG_AMSDU_SUPPORT_IN_AMPDU_NAME , WLAN_PARAM_Integer,
2799 hdd_config_t, isAmsduSupportInAMPDU,
2800 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2801 CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT,
2802 CFG_AMSDU_SUPPORT_IN_AMPDU_MIN,
2803 CFG_AMSDU_SUPPORT_IN_AMPDU_MAX ),
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302804
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07002805 REG_VARIABLE( CFG_STRICT_5GHZ_PREF_BY_MARGIN , WLAN_PARAM_Integer,
2806 hdd_config_t, nSelect5GHzMargin,
2807 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2808 CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT,
2809 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN,
2810 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX ),
2811
krunal sonie9002db2013-11-25 14:24:17 -08002812 REG_VARIABLE( CFG_COALESING_IN_IBSS_NAME , WLAN_PARAM_Integer,
2813 hdd_config_t, isCoalesingInIBSSAllowed,
2814 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2815 CFG_COALESING_IN_IBSS_DEFAULT,
2816 CFG_COALESING_IN_IBSS_MIN,
2817 CFG_COALESING_IN_IBSS_MAX ),
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05302818
2819 REG_VARIABLE( CFG_DISABLE_ATH_NAME , WLAN_PARAM_Integer,
2820 hdd_config_t, cfgAthDisable,
2821 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2822 CFG_DISABLE_ATH_DEFAULT,
2823 CFG_DISABLE_ATH_MIN,
2824 CFG_DISABLE_ATH_MAX ),
c_hpothu6d7dc922013-12-02 12:36:41 +05302825 REG_VARIABLE(CFG_BTC_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2826 hdd_config_t, cfgBtcActiveWlanLen,
2827 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2828 CFG_BTC_ACTIVE_WLAN_LEN_DEFAULT,
2829 CFG_BTC_ACTIVE_WLAN_LEN_MIN,
2830 CFG_BTC_ACTIVE_WLAN_LEN_MAX ),
2831
2832 REG_VARIABLE(CFG_BTC_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2833 hdd_config_t, cfgBtcActiveBtLen,
2834 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2835 CFG_BTC_ACTIVE_BT_LEN_DEFAULT,
2836 CFG_BTC_ACTIVE_BT_LEN_MIN,
2837 CFG_BTC_ACTIVE_BT_LEN_MAX ),
2838
2839 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2840 hdd_config_t, cfgBtcSapActiveWlanLen,
2841 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2842 CFG_BTC_SAP_ACTIVE_WLAN_LEN_DEFAULT,
2843 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MIN,
2844 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MAX ),
2845
2846 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2847 hdd_config_t, cfgBtcSapActiveBtLen,
2848 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2849 CFG_BTC_SAP_ACTIVE_BT_LEN_DEFAULT,
2850 CFG_BTC_SAP_ACTIVE_BT_LEN_MIN,
2851 CFG_BTC_SAP_ACTIVE_BT_LEN_MAX ),
Arif Hussaind5218912013-12-05 01:10:55 -08002852
2853#ifdef MEMORY_DEBUG
2854 REG_VARIABLE(CFG_ENABLE_MEMORY_DEBUG_NAME, WLAN_PARAM_Integer,
2855 hdd_config_t, IsMemoryDebugSupportEnabled,
2856 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2857 CFG_ENABLE_MEMORY_DEBUG_DEFAULT,
2858 CFG_ENABLE_MEMORY_DEBUG_MIN,
2859 CFG_ENABLE_MEMORY_DEBUG_MAX ),
2860#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002861
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08002862 REG_VARIABLE_STRING( CFG_OVERRIDE_COUNTRY_CODE, WLAN_PARAM_String,
2863 hdd_config_t, overrideCountryCode,
2864 VAR_FLAGS_OPTIONAL,
Kiet Lamd83bd8f2014-01-14 22:17:30 -08002865 (void *)CFG_OVERRIDE_COUNTRY_CODE_DEFAULT),
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05302866
2867 REG_VARIABLE( CFG_ASD_PROBE_INTERVAL_NAME, WLAN_PARAM_Integer,
2868 hdd_config_t, gAsdProbeInterval,
2869 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2870 CFG_ASD_PROBE_INTERVAL_DEFAULT,
2871 CFG_ASD_PROBE_INTERVAL_MIN,
2872 CFG_ASD_PROBE_INTERVAL_MAX),
2873
2874 REG_VARIABLE( CFG_ASD_TRIGGER_THRESHOLD_NAME, WLAN_PARAM_Integer,
2875 hdd_config_t, gAsdTriggerThreshold,
2876 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2877 CFG_ASD_TRIGGER_THRESHOLD_DEFAULT,
2878 CFG_ASD_TRIGGER_THRESHOLD_MIN,
2879 CFG_ASD_TRIGGER_THRESHOLD_MAX),
2880
2881 REG_VARIABLE( CFG_ASD_RTT_RSSI_HYST_THRESHOLD_NAME, WLAN_PARAM_Integer,
2882 hdd_config_t, gAsdRTTRssiHystThreshold,
2883 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2884 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_DEFAULT,
2885 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MIN,
2886 CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MAX),
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08002887};
2888
Tushnim Bhattacharyya4f7bfa72013-12-19 18:18:36 -08002889
Jeff Johnson295189b2012-06-20 16:38:30 -07002890/*
2891 * This function returns a pointer to the character after the occurence
2892 * of a new line character. It also modifies the original string by replacing
2893 * the '\n' character with the null character.
2894 * Function returns NULL if no new line character was found before end of
2895 * string was reached
2896 */
2897static char* get_next_line(char* str)
2898{
2899 char c;
2900
2901 if( str == NULL || *str == '\0') {
2902 return NULL;
2903 }
2904
2905 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002906 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002907 str = str + 1;
2908 c = *str;
2909 }
2910
2911 if (c == '\0' ) {
2912 return NULL;
2913 }
2914 else
2915 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002916 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002917 return (str+1);
2918 }
2919
2920 return NULL;
2921}
2922
2923// look for space. Ascii values to look are -
2924// 0x09 == horizontal tab
2925// 0x0a == Newline ("\n")
2926// 0x0b == vertical tab
2927// 0x0c == Newpage or feed form.
2928// 0x0d == carriage return (CR or "\r")
2929// Null ('\0') should not considered as space.
2930#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2931
2932/*
2933 * This function trims any leading and trailing white spaces
2934 */
2935static char *i_trim(char *str)
2936
2937{
2938 char *ptr;
2939
2940 if(*str == '\0') return str;
2941
2942 /* Find the first non white-space*/
2943 for (ptr = str; i_isspace(*ptr); ptr++);
2944 if (*ptr == '\0')
2945 return str;
2946
2947 /* This is the new start of the string*/
2948 str = ptr;
2949
2950 /* Find the last non white-space */
2951 ptr += strlen(ptr) - 1;
2952 for (; ptr != str && i_isspace(*ptr); ptr--);
2953 /* Null terminate the following character */
2954 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002955
Jeff Johnson295189b2012-06-20 16:38:30 -07002956 return str;
2957}
2958
2959
2960//Structure to store each entry in qcom_cfg.ini file
2961typedef struct
2962{
2963 char *name;
2964 char *value;
2965}tCfgIniEntry;
2966
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002967static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002968 tCfgIniEntry* iniTable, unsigned long entries);
2969
2970#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002971void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002972{
2973 unsigned long i;
2974
2975 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002976 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002977 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2978 }
2979}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002980#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002981
2982/*
2983 * This function reads the qcom_cfg.ini file and
2984 * parses each 'Name=Value' pair in the ini file
2985 */
2986VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2987{
2988 int status, i=0;
2989 /** Pointer for firmware image data */
2990 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002991 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002992 size_t size;
2993 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002994 /* cfgIniTable is static to avoid excess stack usage */
2995 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002996 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2997
2998 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2999
3000 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003001
Jeff Johnson295189b2012-06-20 16:38:30 -07003002 if(status)
3003 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003004 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07003005 vos_status = VOS_STATUS_E_FAILURE;
3006 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07003007 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003008 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07003009 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003010 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003011 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07003012 vos_status = VOS_STATUS_E_FAILURE;
3013 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003014 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003015
Jeff Johnson59a121e2013-11-30 09:46:08 -08003016 hddLog(LOG1, "%s: qcom_cfg.ini Size %zu", __func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07003017
3018 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003019
Jeff Johnson295189b2012-06-20 16:38:30 -07003020 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003021 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07003022 release_firmware(fw);
3023 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003024 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003025 pTemp = buffer;
3026
3027 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
3028 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003029
Jeff Johnson295189b2012-06-20 16:38:30 -07003030 while (buffer != NULL)
3031 {
3032 line = get_next_line(buffer);
3033 buffer = i_trim(buffer);
3034
3035 hddLog(LOG1, "%s: item", buffer);
3036
3037 if(strlen((char*)buffer) == 0 || *buffer == '#') {
3038 buffer = line;
3039 continue;
3040 }
3041 else if(strncmp(buffer, "END", 3) == 0 ) {
3042 break;
3043 }
3044 else
3045 {
3046 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003047 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003048 buffer++;
3049 if(*buffer != '\0') {
3050 *buffer++ = '\0';
3051 i_trim(name);
3052 if(strlen (name) != 0) {
3053 buffer = i_trim(buffer);
3054 if(strlen(buffer)>0) {
3055 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003056 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003057 buffer++;
3058 *buffer = '\0';
3059 cfgIniTable[i].name= name;
3060 cfgIniTable[i++].value= value;
3061 if(i >= MAX_CFG_INI_ITEMS) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003062 hddLog(LOGE,"%s: Number of items in %s > %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003063 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07003064 break;
3065 }
3066 }
3067 }
3068 }
3069 }
3070 buffer = line;
3071 }
3072
3073 //Loop through the registry table and apply all these configs
3074 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
3075
Jeff Johnson4416a782013-03-25 14:17:50 -07003076config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07003077 release_firmware(fw);
3078 vos_mem_free(pTemp);
3079 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003080}
Jeff Johnson295189b2012-06-20 16:38:30 -07003081
3082
3083static void print_hdd_cfg(hdd_context_t *pHddCtx)
3084{
3085 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003086 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 -07003087 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
3088 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
3089 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
3090 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 -07003091 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 -07003092 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 -08003093 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
3094 "Name = [gIbssBssid] Value =["MAC_ADDRESS_STR"]",
3095 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->IbssBssid.bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003096
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003097 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003098 "Name = [Intf0MacAddress] Value =["MAC_ADDRESS_STR"]",
3099 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[0].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003100
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003101 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003102 "Name = [Intf1MacAddress] Value =["MAC_ADDRESS_STR"]",
3103 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[1].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003104
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003105 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003106 "Name = [Intf2MacAddress] Value =["MAC_ADDRESS_STR"]",
3107 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[2].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003108
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003109 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003110 "Name = [Intf3MacAddress] Value =["MAC_ADDRESS_STR"]",
3111 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[3].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003112
Arif Hussain6d2a3322013-11-17 19:50:10 -08003113 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 -07003114
Arif Hussain6d2a3322013-11-17 19:50:10 -08003115 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]",
Jeff Johnson295189b2012-06-20 16:38:30 -07003116 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
3117 pHddCtx->cfg_ini->apCntryCode[2]);
3118 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 -08003119 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 -07003120
Arif Hussain6d2a3322013-11-17 19:50:10 -08003121 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableListenMode] Value = [%u]", pHddCtx->cfg_ini->nEnableListenMode);
3122 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]",pHddCtx->cfg_ini->apProtection);
3123 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]",pHddCtx->cfg_ini->apOBSSProtEnabled);
3124 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 -08003125
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003126 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
3127 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
3128 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 -07003129 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
3130 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
3131 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
3132 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
3133
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003134 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
3135 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 -07003136
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003137 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
3138 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 -07003139
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003140 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
3141 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 -07003142
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003143 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
3144 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003145#ifdef FEATURE_WLAN_CCX
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003146 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%u] ",pHddCtx->cfg_ini->InfraInactivityInterval);
3147 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%u] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
3148 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
3149 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 -08003150#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003151#ifdef FEATURE_WLAN_LFR
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08003152 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [MAWCEnabled] Value = [%u] ",pHddCtx->cfg_ini->MAWCEnabled);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003153 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastRoamEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003154#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07003155#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003156 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->RoamRssiDiff);
3157 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
3158 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 -07003159#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003160#ifdef FEATURE_WLAN_OKC
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003161 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 -07003162#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003163 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
3164 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 -07003165 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
3166 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 -07003167 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
3168
3169 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
3170 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 -07003171 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
3172 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 -07003173 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
3174
3175 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
3176 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 -07003177 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
3178 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 -07003179 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
3180
3181 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
3182 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 -07003183 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
3184 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 -07003185 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
3186
3187 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
3188 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
3189 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
3190 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 -07003191 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 -08003192 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BkReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->BkReorderAgingTime);
3193 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BeReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->BeReorderAgingTime);
3194 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ViReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->ViReorderAgingTime);
3195 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 -07003196 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
3197 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 -08003198#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003199 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 -07003200#endif
3201
3202#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003203 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
3204 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
3205 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
3206 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
3207 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%u] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
3208 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
3209 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanResultsRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod);
3210 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 -07003211#endif
3212 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
3213 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
3214 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
3215 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
3216 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
3217 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
3218 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
3219
3220 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
3221 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3222 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
3223#ifdef WLAN_BTAMP_FEATURE
3224 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
3225#endif //WLAN_BTAMP_FEATURE
3226 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
3227 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
3228 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
3229 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
3230 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
3231 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
3232 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
3233 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
3234 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3235 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
3236 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
3237 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
3238 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 -07003239#ifdef WLAN_FEATURE_11AC
Arif Hussain6d2a3322013-11-17 19:50:10 -08003240 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 -07003241#endif
3242 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
3243 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
3244 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 +05303245 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 -08003246 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 -07003247 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 -07003248 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 -07003249
Leo Chang64d68bc2013-06-04 15:40:52 -07003250 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
3251 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 -07003252 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 -07003253 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 +05303254 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 +05303255 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
3256 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
3257 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
3258 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 -07003259 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAmsduSupportInAMPDU] Value = [%u] ",pHddCtx->cfg_ini->isAmsduSupportInAMPDU);
3260 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 -08003261 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 +05303262
Tushnim Bhattacharyya9889e792013-12-19 18:18:36 -08003263 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 +05303264
3265 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdProbeInterval] Value = [%u]",pHddCtx->cfg_ini->gAsdProbeInterval);
3266 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdTriggerThreshold] Value = [%u]",pHddCtx->cfg_ini->gAsdTriggerThreshold);
3267 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAsdRTTRssiHystThreshold]Value = [%u]",pHddCtx->cfg_ini->gAsdRTTRssiHystThreshold);
Jeff Johnson295189b2012-06-20 16:38:30 -07003268}
3269
3270
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003271
Jeff Johnson295189b2012-06-20 16:38:30 -07003272#define CFG_VALUE_MAX_LEN 256
3273#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
3274VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
3275{
3276 unsigned int idx;
3277 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3278 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3279 v_U32_t value;
3280 char valueStr[CFG_VALUE_MAX_LEN];
3281 char configStr[CFG_ENTRY_MAX_LEN];
3282 char *fmt;
3283 void *pField;
3284 v_MACADDR_t *pMacAddr;
3285 char *pCur = pBuf;
3286 int curlen;
3287
3288 // start with an empty string
3289 *pCur = '\0';
3290
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003291 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07003292 {
3293 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
3294
3295 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3296 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003297 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07003298 {
3299 value = 0;
3300 memcpy( &value, pField, pRegEntry->VarSize );
3301 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
3302 {
3303 fmt = "%x";
3304 }
3305 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3306 {
3307 fmt = "%d";
3308 }
3309 else
3310 {
3311 fmt = "%u";
3312 }
3313 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
3314 }
3315 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3316 {
3317 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
3318 }
3319 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3320 {
3321 pMacAddr = (v_MACADDR_t *) pField;
3322 snprintf(valueStr, CFG_VALUE_MAX_LEN,
3323 "%02x:%02x:%02x:%02x:%02x:%02x",
3324 pMacAddr->bytes[0],
3325 pMacAddr->bytes[1],
3326 pMacAddr->bytes[2],
3327 pMacAddr->bytes[3],
3328 pMacAddr->bytes[4],
3329 pMacAddr->bytes[5]);
3330 }
3331 else
3332 {
3333 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
3334 }
Sameer Thalappilb0a30232013-09-27 15:37:48 -07003335 curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN,
Jeff Johnson295189b2012-06-20 16:38:30 -07003336 "%s=[%s]%s\n",
3337 pRegEntry->RegName,
3338 valueStr,
3339 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
3340 "*" : "");
3341
3342 // ideally we want to return the config to the application
3343 // however the config is too big so we just printk() for now
3344#ifdef RETURN_IN_BUFFER
3345 if (curlen <= buflen)
3346 {
3347 // copy string + '\0'
3348 memcpy(pCur, configStr, curlen+1);
3349
3350 // account for addition;
3351 pCur += curlen;
3352 buflen -= curlen;
3353 }
3354 else
3355 {
3356 // buffer space exhausted, return what we have
3357 return VOS_STATUS_E_RESOURCES;
3358 }
3359#else
3360 printk(KERN_CRIT "%s", configStr);
3361#endif // RETURN_IN_BUFFER
3362
3363}
3364
3365#ifndef RETURN_IN_BUFFER
3366 // notify application that output is in system log
3367 snprintf(pCur, buflen, "WLAN configuration written to system log");
3368#endif // RETURN_IN_BUFFER
3369
3370 return VOS_STATUS_SUCCESS;
3371}
3372
3373static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003374 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07003375{
3376 VOS_STATUS status = VOS_STATUS_E_FAILURE;
3377 unsigned long i;
3378
3379 for (i = 0; i < entries; i++) {
3380 if (strcmp(iniTable[i].name, name) == 0) {
3381 *value = iniTable[i].value;
3382 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
3383 WLAN_INI_FILE, name, *value);
3384 return VOS_STATUS_SUCCESS;
3385 }
3386 }
3387
3388 return status;
3389}
3390
3391static int parseHexDigit(char c)
3392{
3393 if (c >= '0' && c <= '9')
3394 return c-'0';
3395 if (c >= 'a' && c <= 'f')
3396 return c-'a'+10;
3397 if (c >= 'A' && c <= 'F')
3398 return c-'A'+10;
3399
3400 return 0;
3401}
3402
3403
3404static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
3405{
3406 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
3407 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
3408 unsigned int idx;
3409 void *pField;
3410 char *value_str = NULL;
3411 unsigned long len_value_str;
3412 char *candidate;
3413 v_U32_t value;
3414 v_S31_t svalue;
3415 void *pStructBase = pHddCtx->cfg_ini;
3416 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3417 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3418 v_U32_t cbOutString;
3419 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003420 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003421
3422 // sanity test
3423 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
3424 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003425 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003426 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07003427 }
3428
3429 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
3430 {
3431 //Calculate the address of the destination field in the structure.
3432 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
3433
3434 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
3435
3436 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
3437 {
3438 // If we could not read the cfg item and it is required, this is an error.
3439 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003440 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003441 ret_status = VOS_STATUS_E_FAILURE;
3442 break;
3443 }
3444
3445 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3446 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
3447 {
3448 // If successfully read from the registry, use the value read.
3449 // If not, use the default value.
3450 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003451 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003452 if (rv < 0) {
3453 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
3454 __func__, pRegEntry->RegName);
3455 value = pRegEntry->VarDefault;
3456 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003457 }
3458 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003459 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003460 if (rv < 0) {
3461 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
3462 __func__, pRegEntry->RegName);
3463 value = pRegEntry->VarDefault;
3464 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003465 }
3466 else {
3467 value = pRegEntry->VarDefault;
3468 }
3469
3470 // If this parameter needs range checking, do it here.
3471 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3472 {
3473 if ( value > pRegEntry->VarMax )
3474 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003475 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003476 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07003477 value = pRegEntry->VarMax;
3478 }
3479
3480 if ( value < pRegEntry->VarMin )
3481 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003482 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003483 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003484 value = pRegEntry->VarMin;
3485 }
3486 }
3487 // If this parameter needs range checking, do it here.
3488 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3489 {
3490 if ( value > pRegEntry->VarMax )
3491 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003492 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003493 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003494 value = pRegEntry->VarDefault;
3495 }
3496
3497 if ( value < pRegEntry->VarMin )
3498 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003499 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003500 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003501 value = pRegEntry->VarDefault;
3502 }
3503 }
3504
3505 // Move the variable into the output field.
3506 memcpy( pField, &value, pRegEntry->VarSize );
3507 }
3508 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3509 {
3510 // If successfully read from the registry, use the value read.
3511 // If not, use the default value.
3512 if (VOS_STATUS_SUCCESS == match_status)
3513 {
Jeff Johnson02797792013-10-26 19:17:13 -07003514 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003515 if (rv < 0) {
3516 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3517 __func__, pRegEntry->RegName);
3518 svalue = (v_S31_t)pRegEntry->VarDefault;
3519 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003520 }
3521 else
3522 {
3523 svalue = (v_S31_t)pRegEntry->VarDefault;
3524 }
3525
3526 // If this parameter needs range checking, do it here.
3527 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3528 {
3529 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3530 {
3531 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003532 "[%d > %d]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003533 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3534 svalue = (v_S31_t)pRegEntry->VarMax;
3535 }
3536
3537 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3538 {
3539 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003540 "[%d < %d]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003541 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3542 svalue = (v_S31_t)pRegEntry->VarMin;
3543 }
3544 }
3545 // If this parameter needs range checking, do it here.
3546 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3547 {
3548 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3549 {
3550 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003551 "[%d > %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003552 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003553 (int)pRegEntry->VarMax,
3554 (int)pRegEntry->VarDefault );
3555 svalue = (v_S31_t)pRegEntry->VarDefault;
3556 }
3557
3558 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3559 {
3560 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003561 "[%d < %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003562 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003563 (int)pRegEntry->VarMin,
3564 (int)pRegEntry->VarDefault);
3565 svalue = pRegEntry->VarDefault;
3566 }
3567 }
3568
3569 // Move the variable into the output field.
3570 memcpy( pField, &svalue, pRegEntry->VarSize );
3571 }
3572 // Handle string parameters
3573 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3574 {
3575#ifdef WLAN_CFG_DEBUG
Arif Hussain6d2a3322013-11-17 19:50:10 -08003576 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 -08003577 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003578#endif
3579
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003580 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003581 {
3582 len_value_str = strlen(value_str);
3583
3584 if(len_value_str > (pRegEntry->VarSize - 1)) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003585 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003586 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003587 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3588 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3589 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3590 }
3591 else
3592 {
3593 memcpy( pField, (void *)(value_str), len_value_str);
3594 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3595 }
3596 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003597 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003598 {
3599 // Failed to read the string parameter from the registry. Use the default.
3600 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3601 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003602 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003603 }
3604 }
3605 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3606 {
3607 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003608 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003609 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003610 continue;
3611 }
3612 candidate = (char*)pRegEntry->VarDefault;
3613 if ( match_status == VOS_STATUS_SUCCESS) {
3614 len_value_str = strlen(value_str);
3615 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003616 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003617 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003618 }
3619 else
3620 candidate = value_str;
3621 }
3622 //parse the string and store it in the byte array
3623 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3624 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003625 ((char*)pField)[i] =
3626 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003627 }
3628 }
3629 else
3630 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003631 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003632 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003633 }
3634
3635 // did we successfully parse a cfg item for this parameter?
3636 if( (match_status == VOS_STATUS_SUCCESS) &&
3637 (idx < MAX_CFG_INI_ITEMS) )
3638 {
3639 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3640 }
3641 }
3642
3643 print_hdd_cfg(pHddCtx);
3644
3645 return( ret_status );
3646}
3647
3648eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3649{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003650 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003651 {
3652 case (eHDD_DOT11_MODE_abg):
3653 return eCSR_DOT11_MODE_abg;
3654 case (eHDD_DOT11_MODE_11b):
3655 return eCSR_DOT11_MODE_11b;
3656 case (eHDD_DOT11_MODE_11g):
3657 return eCSR_DOT11_MODE_11g;
3658 default:
3659 case (eHDD_DOT11_MODE_11n):
3660 return eCSR_DOT11_MODE_11n;
3661 case (eHDD_DOT11_MODE_11g_ONLY):
3662 return eCSR_DOT11_MODE_11g_ONLY;
3663 case (eHDD_DOT11_MODE_11n_ONLY):
3664 return eCSR_DOT11_MODE_11n_ONLY;
3665 case (eHDD_DOT11_MODE_11b_ONLY):
3666 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003667#ifdef WLAN_FEATURE_11AC
3668 case (eHDD_DOT11_MODE_11ac_ONLY):
3669 return eCSR_DOT11_MODE_11ac_ONLY;
3670 case (eHDD_DOT11_MODE_11ac):
3671 return eCSR_DOT11_MODE_11ac;
3672#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003673 case (eHDD_DOT11_MODE_AUTO):
3674 return eCSR_DOT11_MODE_AUTO;
3675 }
3676
3677}
3678
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003679static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003680{
3681 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3682 tSmeBtcConfig btcParams;
Wilson Tsaof8b37942013-09-06 10:49:00 -07003683 int i;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003684
Jeff Johnson295189b2012-06-20 16:38:30 -07003685 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3686
3687 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003688 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003689 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3690
Jeff Johnson32d95a32012-09-10 13:15:23 -07003691 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3692 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3693 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3694 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3695 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3696 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3697 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3698 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3699 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3700 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3701 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3702 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3703 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3704
Wilson Tsaof8b37942013-09-06 10:49:00 -07003705 for (i = 0; i < 10; i++)
3706 {
3707 btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i];
3708 btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i];
3709 btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i];
3710 btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i];
3711 }
3712 for (i = 0; i < 6; i++)
3713 {
3714 btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i];
3715 }
3716 btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff;
3717 btcParams.SARPowerBackoff = pConfig->SARPowerBackoff;
3718
Jeff Johnson295189b2012-06-20 16:38:30 -07003719 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3720}
3721
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003722static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003723{
3724 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3725
3726 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003727
Jeff Johnson295189b2012-06-20 16:38:30 -07003728 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003729
Jeff Johnson295189b2012-06-20 16:38:30 -07003730 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3731 {
3732 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3733 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3734 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3735 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3736 }
3737 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3738 {
3739 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3740 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3741 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3742 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3743 }
3744 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3745 {
3746 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3747 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3748 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3749 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3750 }
3751
3752 if (pConfig->fIsImpsEnabled)
3753 {
3754 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3755 }
3756 else
3757 {
3758 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3759 }
3760
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303761 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3762 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3763 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3764
Jeff Johnson295189b2012-06-20 16:38:30 -07003765 if (pConfig->fIsBmpsEnabled)
3766 {
3767 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3768 }
3769 else
3770 {
3771 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3772 }
3773
3774 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3775
3776 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3777 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003778 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params");
Jeff Johnson295189b2012-06-20 16:38:30 -07003779 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003780
Jeff Johnson295189b2012-06-20 16:38:30 -07003781 if(pConfig->fIsAutoBmpsTimerEnabled)
3782 {
3783 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3784 }
3785
3786}
3787
3788#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3789static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3790{
3791 char *s = str;
3792
3793 if( str == NULL || intArray == NULL || len == NULL )
3794 {
3795 return VOS_STATUS_E_INVAL;
3796 }
3797 *len = 0;
3798
Jeff Johnson295189b2012-06-20 16:38:30 -07003799 while ( (s != NULL) && (*len < intArrayMaxLen) )
3800 {
3801 int val;
3802 //Increment length only if sscanf succesfully extracted one element.
3803 //Any other return value means error. Ignore it.
3804 if( sscanf(s, "%d", &val ) == 1 )
3805 {
3806 intArray[*len] = (tANI_U8) val;
3807 *len += 1;
3808 }
3809 s = strpbrk( s, "," );
3810 if( s )
3811 s++;
3812 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003813
3814 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003815
Jeff Johnson295189b2012-06-20 16:38:30 -07003816}
3817#endif
3818
3819
3820v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3821{
3822 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003823#ifdef WLAN_SOFTAP_VSTA_FEATURE
3824 tANI_U32 val;
3825#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003826
3827 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303828 tSirMacHTCapabilityInfo htCapInfo;
3829
Jeff Johnson295189b2012-06-20 16:38:30 -07003830
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003831 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003832 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3833 {
3834 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003835 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003836 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003837
3838 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003839 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3840 {
3841 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003842 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003843 }
3844
3845 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3846 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3847 {
3848 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003849 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003850 }
3851
3852 if ( 0 != pConfig->Cfg1Id )
3853 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003854 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003855 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3856 {
3857 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003858 hddLog(LOGE, "Could not pass on Cfg1Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003859 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003860
Jeff Johnson295189b2012-06-20 16:38:30 -07003861 }
3862
3863 if ( 0 != pConfig->Cfg2Id )
3864 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003865 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003866 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3867 {
3868 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003869 hddLog(LOGE, "Could not pass on Cfg2Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003870 }
3871 }
3872
3873 if ( 0 != pConfig->Cfg3Id )
3874 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003875 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003876 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3877 {
3878 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003879 hddLog(LOGE, "Could not pass on Cfg3Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003880 }
3881 }
3882
3883 if ( 0 != pConfig->Cfg4Id )
3884 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003885 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003886 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3887 {
3888 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003889 hddLog(LOGE, "Could not pass on Cfg4Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003890 }
3891 }
3892
3893 if ( 0 != pConfig->Cfg5Id )
3894 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003895 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003896 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3897 {
3898 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003899 hddLog(LOGE, "Could not pass on Cfg5Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003900 }
3901 }
3902
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003903 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003904 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3905 {
3906 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003907 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003908 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003909
3910 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003911 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3912 {
3913 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003914 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003915 }
3916
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003917 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003918 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3919 {
3920 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003921 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003922 }
3923
3924 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3925 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3926 {
3927 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003928 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003929 }
3930
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003931 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003932 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003933 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003934 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3935 {
3936 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003937 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003938 }
3939 }
3940 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003941 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003942 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3943 {
3944 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
Arif Hussain24bafea2013-11-15 15:10:03 -08003945 "MAC Addr (IBSS BSSID) read from Registry is: " MAC_ADDRESS_STR,
3946 MAC_ADDR_ARRAY(pConfig->IbssBssid.bytes));
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003947 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003948 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3949 {
3950 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003951 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003952 }
3953 }
3954 else
3955 {
3956 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003957 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003958 }
3959 }
3960
Naresh Jayaram3df09eb2013-12-18 17:39:04 +05303961 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME,
3962 pConfig->nPassiveMinChnTime, NULL,
3963 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3964 {
3965 fStatus = FALSE;
3966 hddLog(LOGE, "Could not pass on WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME"
3967 " to CCM\n");
3968 }
3969
3970 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME,
3971 pConfig->nPassiveMaxChnTime, NULL,
3972 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3973 {
3974 fStatus = FALSE;
3975 hddLog(LOGE, "Could not pass on WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME"
3976 " to CCM\n");
3977 }
3978
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003979 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003980 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3981 {
3982 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003983 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003984 }
3985
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003986 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003987 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3988 {
3989 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003990 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003991 }
3992
3993 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3994 {
3995 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003996 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL" );
Jeff Johnson295189b2012-06-20 16:38:30 -07003997 }
3998
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003999 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07004000 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4001 {
4002 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004003 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL");
Jeff Johnson295189b2012-06-20 16:38:30 -07004004 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004005
Jeff Johnson295189b2012-06-20 16:38:30 -07004006 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
4007 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4008 {
4009 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004010 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004011 }
4012
Jeff Johnson295189b2012-06-20 16:38:30 -07004013 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
4014 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4015 {
4016 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004017 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004018 }
4019
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004020 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07004021 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4022 {
4023 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004024 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004025 }
4026
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004027 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07004028 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4029 {
4030 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004031 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004032 }
4033
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004034 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07004035 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4036 {
4037 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004038 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004039 }
4040
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004041 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07004042 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4043 {
4044 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004045 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004046 }
4047
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004048 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07004049 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4050 {
4051 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004052 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004053 }
4054
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004055 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07004056 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4057 {
4058 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004059 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004060 }
4061
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004062 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07004063 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4064 {
4065 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004066 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004067 }
4068
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004069 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004070 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4071 {
4072 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004073 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004074 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004075
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004076 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004077 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4078 {
4079 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004080 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004081 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004082
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304083 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
4084 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4085 {
4086 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004087 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM");
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304088 }
4089
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304090 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
4091 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4092 {
4093 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004094 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM");
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304095 }
4096
4097
Jeff Johnson295189b2012-06-20 16:38:30 -07004098#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004099 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07004100 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4101 {
4102 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004103 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004104 }
4105
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004106 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004107 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4108 {
4109 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004110 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004111 }
4112
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004113 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004114 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4115 {
4116 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004117 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004118 }
4119
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004120 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07004121 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4122#endif
4123
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004124 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07004125 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4126 {
4127 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004128 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004129 }
4130
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004131 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07004132 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4133 {
4134 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004135 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004136 }
4137
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004138 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004139 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4140 {
4141 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004142 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004143 }
4144
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004145 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004146 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4147 {
4148 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004149 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004150 }
4151
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004152 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004153 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4154 {
4155 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004156 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 -07004157 }
4158
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004159 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004160 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4161 {
4162 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004163 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 -07004164 }
4165
4166 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
4167 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4168 {
4169 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004170 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004171 }
4172
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004173 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004174 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4175 {
4176 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004177 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 -07004178 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004179 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
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,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004184 }
4185
4186 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
4187 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4188 {
4189 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004190 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 -08004191 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004192
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004193 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07004194 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004195 {
4196 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004197 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 -08004198 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004199 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004200 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4201 {
4202 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004203 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004204 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004205 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004206 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4207 {
4208 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004209 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004210 }
4211
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004212 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07004213 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4214 {
4215 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004216 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004217 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004218 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07004219 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4220 {
4221 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004222 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004223 }
4224
Jeff Johnson295189b2012-06-20 16:38:30 -07004225 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
4226 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4227 {
4228 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004229 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 -07004230 }
4231
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004232 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07004233 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
4234 ==eHAL_STATUS_FAILURE)
4235 {
4236 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004237 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004238 }
4239
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004240 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07004241 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
4242 ==eHAL_STATUS_FAILURE)
4243 {
4244 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004245 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE 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_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004249 pConfig->ShortGI40MhzEnable, 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_SHORT_GI_40MHZ to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004253 }
4254
Jeff Johnsond13512a2012-07-17 11:42:19 -07004255
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004256 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07004257 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4258 {
4259 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004260 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM");
Jeff Johnsond13512a2012-07-17 11:42:19 -07004261 }
4262
Jeff Johnsone7245742012-09-05 17:12:55 -07004263#ifdef WLAN_FEATURE_11AC
4264 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
4265 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
4266 /* we update only the least significant 2 bits in the corresponding fields */
4267 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
4268 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
4269 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
4270 {
4271 {
4272 tANI_U32 temp = 0;
4273
4274 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004275 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004276
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004277 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07004278 temp, NULL, eANI_BOOLEAN_FALSE)
4279 ==eHAL_STATUS_FAILURE)
4280 {
4281 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004282 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004283 }
4284
4285 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004286 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004287
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004288 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004289 temp, NULL, eANI_BOOLEAN_FALSE)
4290 ==eHAL_STATUS_FAILURE)
4291 {
4292 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004293 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004294 }
4295
4296 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004297 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004298
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004299 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004300 temp, NULL, eANI_BOOLEAN_FALSE)
4301 ==eHAL_STATUS_FAILURE)
4302 {
4303 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004304 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004305 }
Praveen Kumar Sirisilla4cf7d262013-12-04 17:22:53 -08004306 /* Currently shortGI40Mhz is used for shortGI80Mhz */
4307 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_SHORT_GI_80MHZ,
4308 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)
4309 == eHAL_STATUS_FAILURE)
4310 {
4311 fStatus = FALSE;
4312 hddLog(LOGE, "Could not pass WNI_VHT_SHORT_GI_80MHZ to CCM\n");
4313 }
Jeff Johnsone7245742012-09-05 17:12:55 -07004314 }
4315 }
4316#endif
4317
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004318 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004319 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4320 {
4321 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004322 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM");
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004323 }
4324
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004325 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304326 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4327 ==eHAL_STATUS_FAILURE)
4328 {
4329 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004330 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304331 }
4332
4333 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
4334 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
4335
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004336 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304337 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
4338 ==eHAL_STATUS_FAILURE)
4339 {
4340 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004341 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304342 }
4343
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004344 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304345 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4346 ==eHAL_STATUS_FAILURE)
4347 {
4348 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004349 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304350 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004351
4352#ifdef WLAN_SOFTAP_VSTA_FEATURE
4353 if(pConfig->fEnableVSTASupport)
4354 {
4355 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
4356 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
4357 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
4358 }
4359 else
4360 {
4361 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
4362 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004363 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004364 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4365 {
4366 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004367 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM" );
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004368 }
4369#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004370 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004371 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
4372 ==eHAL_STATUS_FAILURE)
4373 {
4374 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004375 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM");
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004376 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304377
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004378 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
4379 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4380 {
4381 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004382 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM");
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004383 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004384 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
4385 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4386 {
4387 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004388 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 -08004389 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004390
4391 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
4392 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4393 {
4394 fStatus = FALSE;
4395 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
4396 }
4397
4398 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
4399 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4400 {
4401 fStatus = FALSE;
4402 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
4403 }
4404
4405 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
4406 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4407 {
4408 fStatus = FALSE;
4409 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
4410 }
4411
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05304412 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
4413 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4414 {
4415 fStatus = FALSE;
4416 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
4417 }
4418
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304419#ifdef FEATURE_WLAN_TDLS
4420
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004421 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
4422 pConfig->fTDLSUapsdMask, NULL,
4423 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304424 {
4425 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004426 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304427 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004428 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
4429 pConfig->fEnableTDLSBufferSta, NULL,
4430 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304431 {
4432 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004433 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304434 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004435 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
4436 pConfig->fTDLSPuapsdInactivityTimer, NULL,
4437 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304438 {
4439 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004440 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304441 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004442 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
4443 pConfig->fTDLSRxFrameThreshold, NULL,
4444 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304445 {
4446 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004447 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304448 }
4449#endif
4450
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004451 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
4452 pConfig->fEnableAdaptRxDrain, NULL,
4453 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4454 {
4455 fStatus = FALSE;
4456 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
4457 }
Yue Ma0fd23872013-08-01 15:56:47 -07004458
4459 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
4460 pConfig->flexConnectPowerFactor, NULL,
4461 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4462 {
4463 fStatus = FALSE;
4464 hddLog(LOGE, "Failure: Could not pass on "
4465 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
4466 }
4467
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05304468 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
4469 pConfig->antennaDiversity, NULL,
4470 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4471 {
4472 fStatus = FALSE;
4473 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
4474 }
4475
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05304476 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ATH_DISABLE,
4477 pConfig->cfgAthDisable, NULL,
4478 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4479 {
4480 fStatus = FALSE;
4481 hddLog(LOGE, "Could not pass on WNI_CFG_ATH_DISABLE to CCM");
4482 }
c_hpothu6d7dc922013-12-02 12:36:41 +05304483
4484 if (ccmCfgSetInt(pHddCtx->hHal,
4485 WNI_CFG_BTC_ACTIVE_WLAN_LEN,
4486 pConfig->cfgBtcActiveWlanLen,
4487 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4488 {
4489 fStatus = FALSE;
4490 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4491 }
4492
4493 if (ccmCfgSetInt(pHddCtx->hHal,
4494 WNI_CFG_BTC_ACTIVE_BT_LEN,
4495 pConfig->cfgBtcActiveBtLen,
4496 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4497 {
4498 fStatus = FALSE;
4499 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4500 }
4501
4502 if (ccmCfgSetInt(pHddCtx->hHal,
4503 WNI_CFG_BTC_SAP_ACTIVE_WLAN_LEN,
4504 pConfig->cfgBtcSapActiveWlanLen,
4505 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4506 {
4507 fStatus = FALSE;
4508 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4509 }
4510
4511 if (ccmCfgSetInt(pHddCtx->hHal,
4512 WNI_CFG_BTC_SAP_ACTIVE_BT_LEN,
4513 pConfig->cfgBtcSapActiveBtLen,
4514 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4515 {
4516 fStatus = FALSE;
4517 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4518 }
AnjaneeDevi Kapparapu50239e32014-01-07 18:09:33 +05304519
4520 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_PROBE_INTERVAL,
4521 pConfig->gAsdProbeInterval, NULL,
4522 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4523 {
4524 fStatus = FALSE;
4525 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_PROBE_INTERVAL to CCM");
4526 }
4527
4528 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_TRIGGER_THRESHOLD,
4529 pConfig->gAsdTriggerThreshold, NULL,
4530 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4531 {
4532 fStatus = FALSE;
4533 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_TRIGGER_THRESHOLD to CCM");
4534 }
4535
4536 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD,
4537 pConfig->gAsdRTTRssiHystThreshold, NULL,
4538 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4539 {
4540 fStatus = FALSE;
4541 hddLog(LOGE, "Could not pass on WNI_CFG_ASD_RSSI_HYST_THRESHOLD to CCM");
4542 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004543 return fStatus;
4544}
4545
4546
4547/**---------------------------------------------------------------------------
4548
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004549 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07004550
4551 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004552
Jeff Johnson295189b2012-06-20 16:38:30 -07004553 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004554
Jeff Johnson295189b2012-06-20 16:38:30 -07004555 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004556
Jeff Johnson295189b2012-06-20 16:38:30 -07004557 --------------------------------------------------------------------------*/
4558
4559VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
4560{
4561 VOS_STATUS status = VOS_STATUS_SUCCESS;
4562 eHalStatus halStatus;
4563 tSmeConfigParams smeConfig;
4564
4565 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4566
Amar Singhalfddc28c2013-09-05 13:03:40 -07004567
Jeff Johnson295189b2012-06-20 16:38:30 -07004568 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
4569
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004570 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussain6d2a3322013-11-17 19:50:10 -08004571 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07004572 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
4573
4574 // Config params obtained from the registry
Amar Singhalfddc28c2013-09-05 13:03:40 -07004575
Jeff Johnson295189b2012-06-20 16:38:30 -07004576 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
4577 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
4578 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
4579 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
4580 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
4581
4582 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
4583
Leela Venkata Kiran Kumar Reddy Chirala784d7e82013-11-20 10:57:25 -08004584 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_abg) ||
4585 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b) ||
4586 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g) ||
4587 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b_ONLY) ||
4588 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g_ONLY))
4589 {
4590 smeConfig.csrConfig.channelBondingMode24GHz = 0;
4591 smeConfig.csrConfig.channelBondingMode5GHz = 0;
4592 }
4593 else
4594 {
4595 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
4596 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
4597 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004598 smeConfig.csrConfig.TxRate = pConfig->TxRate;
4599 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
4600 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
4601 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
4602 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
4603 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
4604 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
4605 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
4606 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
4607 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
4608 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
4609 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
4610 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
4611 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
4612 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004613 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07004614 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
4615 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
4616 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
4617 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004618 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
4619 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07004620 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004621#ifdef WLAN_AP_STA_CONCURRENCY
4622 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
4623 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
4624 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
4625 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
4626 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07004627 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
4628 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
4629
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004630#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004631 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
4632 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
4633
4634#if defined WLAN_FEATURE_VOWIFI
4635 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
4636 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
4637#endif
4638 //Remaining config params not obtained from registry
4639 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07004640#ifdef WLAN_FEATURE_11AC
4641 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08004642 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08004643 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07004644 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07004645#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07004646 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
4647 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004648 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
4649 smeConfig.csrConfig.HeartbeatThresh50 = 40;
4650 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08004651 if (pConfig->nBandCapability == eCSR_BAND_24)
4652 {
4653 smeConfig.csrConfig.Is11hSupportEnabled = 0;
4654 } else {
4655 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
4656 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004657 smeConfig.csrConfig.cbChoice = 0;
4658 smeConfig.csrConfig.bgScanInterval = 0;
4659 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07004660 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
4661 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
4662 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004663#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
4664 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004665 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004666 smeConfig.csrConfig.nProbes = pConfig->nProbes;
4667 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004668#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07004669 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
4670
Jeff Johnson295189b2012-06-20 16:38:30 -07004671 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08004672 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
4673 {
4674 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07004675
Jeff Johnson7dda7772013-02-27 08:36:13 -08004676 /* if there is a requirement that HDD will control the default
4677 * channel list & country code (say from .ini file) we need to
4678 * add some logic here. Otherwise the default 11d info should
4679 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004680 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004681 else
4682 {
4683 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4684 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004685
Jeff Johnson7dda7772013-02-27 08:36:13 -08004686 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4687 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4688 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4689 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004690 hdd_set_power_save_config(pHddCtx, &smeConfig);
4691 hdd_set_btc_config(pHddCtx);
4692
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004693#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004694 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4695#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004696#ifdef FEATURE_WLAN_LFR
4697 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08004698 smeConfig.csrConfig.MAWCEnabled = pConfig->MAWCEnabled;
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004699#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004700#ifdef FEATURE_WLAN_CCX
4701 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004702 if( pConfig->isCcxIniFeatureEnabled )
4703 {
4704 pConfig->isFastTransitionEnabled = TRUE;
4705 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004706#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004707#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004708 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07004709 if (pConfig->nSelect5GHzMargin)
4710 {
4711 pConfig->RoamRssiDiff = 0;
4712 }
Jeff Johnson43971f52012-07-17 12:26:56 -07004713 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004714 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07004715 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07004716#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004717#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4718 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004719 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4720
4721 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4722 {
4723 /* Disable roaming in concurrency if roam scan offload is disabled */
4724 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4725 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004726#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004727#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4728 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4729 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004730 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4731 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004732 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004733 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004734 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004735 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004736 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4737 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4738 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004739 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4740#endif
4741
4742 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4743 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4744
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004745 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004746 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004747 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004748
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004749 //Scan Results Aging Time out value
4750 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4751
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004752 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4753
krunal soni5afa96c2013-09-06 22:19:02 -07004754 smeConfig.csrConfig.isAmsduSupportInAMPDU = pConfig->isAmsduSupportInAMPDU;
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07004755 smeConfig.csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin;
krunal soni5afa96c2013-09-06 22:19:02 -07004756
krunal sonie9002db2013-11-25 14:24:17 -08004757 smeConfig.csrConfig.isCoalesingInIBSSAllowed =
4758 pHddCtx->cfg_ini->isCoalesingInIBSSAllowed;
4759
4760
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004761 /* update SSR config */
4762 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304763 /* Update the Directed scan offload setting */
4764 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004765
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004766 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004767 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4768 {
4769 status = VOS_STATUS_E_FAILURE;
4770 }
4771
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004772
4773 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004774}
4775
4776
4777/**---------------------------------------------------------------------------
4778
4779 \brief hdd_execute_config_command() -
4780
4781 This function executes an arbitrary configuration set command
4782
4783 \param - pHddCtx - Pointer to the HDD Adapter.
4784 \parmm - command - a configuration command of the form:
4785 <name>=<value>
4786
4787 \return - 0 for success, non zero for failure
4788
4789 --------------------------------------------------------------------------*/
4790
4791VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4792{
4793 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4794 REG_TABLE_ENTRY *pRegEntry;
4795 char *clone;
4796 char *pCmd;
4797 void *pField;
4798 char *name;
4799 char *value_str;
4800 v_U32_t value;
4801 v_S31_t svalue;
4802 size_t len_value_str;
4803 unsigned int idx;
4804 unsigned int i;
4805 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004806 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004807
4808 // assume failure until proven otherwise
4809 vstatus = VOS_STATUS_E_FAILURE;
4810
4811 // clone the command so that we can manipulate it
4812 clone = kstrdup(command, GFP_ATOMIC);
4813 if (NULL == clone)
4814 {
4815 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004816 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004817 return vstatus;
4818 }
4819
4820 // 'clone' will point to the beginning of the string so it can be freed
4821 // 'pCmd' will be used to walk/parse the command
4822 pCmd = clone;
4823
4824 // get rid of leading/trailing whitespace
4825 pCmd = i_trim(pCmd);
4826 if ('\0' == *pCmd)
4827 {
4828 // only whitespace
4829 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004830 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004831 goto done;
4832 }
4833
4834 // parse the <name> = <value>
4835 name = pCmd;
4836 while (('=' != *pCmd) && ('\0' != *pCmd))
4837 {
4838 pCmd++;
4839 }
4840 if ('\0' == *pCmd)
4841 {
4842 // did not find '='
4843 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004844 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004845 goto done;
4846 }
4847
4848 // replace '=' with NUL to terminate the <name>
4849 *pCmd++ = '\0';
4850 name = i_trim(name);
4851 if ('\0' == *name)
4852 {
4853 // did not find a name
4854 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004855 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004856 goto done;
4857 }
4858
4859 value_str = i_trim(pCmd);
4860 if ('\0' == *value_str)
4861 {
4862 // did not find a value
4863 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004864 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004865 goto done;
4866 }
4867
4868 // lookup the configuration item
4869 for (idx = 0; idx < tableSize; idx++)
4870 {
4871 if (0 == strcmp(name, g_registry_table[idx].RegName))
4872 {
4873 // found a match
4874 break;
4875 }
4876 }
4877 if (tableSize == idx)
4878 {
4879 // did not match the name
4880 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004881 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004882 goto done;
4883 }
4884
4885 pRegEntry = &g_registry_table[idx];
4886 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4887 {
4888 // does not support dynamic configuration
4889 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004890 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004891 goto done;
4892 }
4893
4894 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4895
4896 switch (pRegEntry->RegType)
4897 {
4898 case WLAN_PARAM_Integer:
Jeff Johnson02797792013-10-26 19:17:13 -07004899 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004900 if (rv < 0)
4901 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004902 if (value < pRegEntry->VarMin)
4903 {
4904 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004905 hddLog(LOGE, "%s: invalid command, value %u < min value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004906 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004907 goto done;
4908 }
4909 if (value > pRegEntry->VarMax)
4910 {
4911 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004912 hddLog(LOGE, "%s: invalid command, value %u > max value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004913 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004914 goto done;
4915 }
4916 memcpy(pField, &value, pRegEntry->VarSize);
4917 break;
4918
4919 case WLAN_PARAM_HexInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07004920 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004921 if (rv < 0)
4922 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004923 if (value < pRegEntry->VarMin)
4924 {
4925 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004926 hddLog(LOGE, "%s: invalid command, value %x < min value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004927 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004928 goto done;
4929 }
4930 if (value > pRegEntry->VarMax)
4931 {
4932 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004933 hddLog(LOGE, "%s: invalid command, value %x > max value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004934 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004935 goto done;
4936 }
4937 memcpy(pField, &value, pRegEntry->VarSize);
4938 break;
4939
4940 case WLAN_PARAM_SignedInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07004941 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004942 if (rv < 0)
4943 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004944 if (svalue < (v_S31_t)pRegEntry->VarMin)
4945 {
4946 // out of range
4947 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004948 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004949 goto done;
4950 }
4951 if (svalue > (v_S31_t)pRegEntry->VarMax)
4952 {
4953 // out of range
4954 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004955 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004956 goto done;
4957 }
4958 memcpy(pField, &svalue, pRegEntry->VarSize);
4959 break;
4960
4961 case WLAN_PARAM_String:
4962 len_value_str = strlen(value_str);
4963 if (len_value_str > (pRegEntry->VarSize - 1))
4964 {
4965 // too big
4966 hddLog(LOGE,
4967 "%s: invalid command, string [%s] length "
Jeff Johnson59a121e2013-11-30 09:46:08 -08004968 "%zu exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004969 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004970 len_value_str, (pRegEntry->VarSize - 1));
4971 goto done;
4972 }
4973 // copy string plus NUL
4974 memcpy(pField, value_str, (len_value_str + 1));
4975 break;
4976
4977 case WLAN_PARAM_MacAddr:
4978 len_value_str = strlen(value_str);
4979 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4980 {
4981 // out of range
4982 hddLog(LOGE,
4983 "%s: invalid command, MAC address [%s] length "
Jeff Johnson59a121e2013-11-30 09:46:08 -08004984 "%zu is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004985 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004986 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4987 goto done;
4988 }
4989 //parse the string and store it in the byte array
4990 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4991 {
4992 ((char*)pField)[i] = (char)
4993 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4994 parseHexDigit(value_str[(i * 2) + 1]));
4995 }
4996 break;
4997
4998 default:
4999 goto done;
5000 }
5001
5002 // if we get here, we had a successful modification
5003 vstatus = VOS_STATUS_SUCCESS;
5004
5005 // config table has been modified, is there a notifier?
5006 if (NULL != pRegEntry->pfnDynamicNotify)
5007 {
5008 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
5009 }
5010
5011 // note that this item was explicitly configured
5012 if (idx < MAX_CFG_INI_ITEMS)
5013 {
5014 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
5015 }
5016 done:
5017 kfree(clone);
5018 return vstatus;
5019}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07005020
5021/**---------------------------------------------------------------------------
5022
5023 \brief hdd_is_okc_mode_enabled() -
5024
5025 This function returns whether OKC mode is enabled or not
5026
5027 \param - pHddCtx - Pointer to the HDD Adapter.
5028
5029 \return - 1 for enabled, zero for disabled
5030
5031 --------------------------------------------------------------------------*/
5032
5033tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
5034{
5035 if (NULL == pHddCtx)
5036 {
5037 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
5038 return -EINVAL;
5039 }
5040
5041#ifdef FEATURE_WLAN_OKC
5042 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
5043#else
5044 return eANI_BOOLEAN_FALSE;
5045#endif
5046}