| /* |
| * Copyright (c) 2012-2018 The Linux Foundation. All rights reserved. |
| * |
| * Previously licensed under the ISC license by Qualcomm Atheros, Inc. |
| * |
| * |
| * Permission to use, copy, modify, and/or distribute this software for |
| * any purpose with or without fee is hereby granted, provided that the |
| * above copyright notice and this permission notice appear in all |
| * copies. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL |
| * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED |
| * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE |
| * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL |
| * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR |
| * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
| * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
| * PERFORMANCE OF THIS SOFTWARE. |
| */ |
| |
| /* |
| * This file was originally distributed by Qualcomm Atheros, Inc. |
| * under proprietary terms before Copyright ownership was assigned |
| * to the Linux Foundation. |
| */ |
| |
| /**========================================================================= |
| |
| EDIT HISTORY FOR FILE |
| |
| |
| This section contains comments describing changes made to the module. |
| Notice that changes are listed in reverse chronological order. |
| |
| |
| $Header:$ $DateTime: $ $Author: $ |
| |
| |
| when who what, where, why |
| -------- --- -------------------------------------------------------- |
| 07/27/09 kanand Created module. |
| |
| ==========================================================================*/ |
| |
| /*-------------------------------------------------------------------------- |
| Include Files |
| ------------------------------------------------------------------------*/ |
| |
| |
| #include <linux/firmware.h> |
| #include <linux/string.h> |
| #include <wlan_hdd_includes.h> |
| #include <wlan_hdd_main.h> |
| #include <wlan_hdd_assoc.h> |
| #include <wlan_hdd_cfg.h> |
| #include <linux/string.h> |
| #include <vos_types.h> |
| #include <csrApi.h> |
| #include <pmcApi.h> |
| #include <wlan_hdd_misc.h> |
| |
| #if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR) |
| static void |
| cbNotifySetRoamPrefer5GHz(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| sme_UpdateRoamPrefer5GHz(pHddCtx->hHal, pHddCtx->cfg_ini->nRoamPrefer5GHz); |
| } |
| |
| static void |
| cbNotifySetImmediateRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| sme_UpdateImmediateRoamRssiDiff(pHddCtx->hHal, |
| pHddCtx->cfg_ini->nImmediateRoamRssiDiff, |
| 0); |
| } |
| |
| static void |
| cbNotifySetRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| sme_UpdateRoamRssiDiff(pHddCtx->hHal, |
| 0, |
| pHddCtx->cfg_ini->RoamRssiDiff); |
| } |
| |
| static void |
| cbNotifySetFastTransitionEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| sme_UpdateFastTransitionEnabled(pHddCtx->hHal, |
| pHddCtx->cfg_ini->isFastTransitionEnabled); |
| } |
| |
| static void |
| cbNotifySetRoamIntraBand(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| sme_setRoamIntraBand(pHddCtx->hHal, pHddCtx->cfg_ini->nRoamIntraBand); |
| } |
| |
| static void |
| cbNotifySetWESMode(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_UpdateWESMode(pHddCtx->hHal, |
| pHddCtx->cfg_ini->isWESModeEnabled, |
| 0); |
| } |
| |
| static void |
| cbNotifySetRoamScanNProbes(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| sme_UpdateRoamScanNProbes(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->nProbes); |
| } |
| |
| static void |
| cbNotifySetRoamScanHomeAwayTime(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| sme_UpdateRoamScanHomeAwayTime(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->nRoamScanHomeAwayTime, |
| eANI_BOOLEAN_TRUE); |
| } |
| #endif |
| |
| #ifdef FEATURE_WLAN_OKC |
| static void |
| cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| } |
| #endif |
| |
| #ifdef FEATURE_WLAN_LFR |
| static void |
| NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_UpdateIsFastRoamIniFeatureEnabled(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled ); |
| } |
| |
| static void |
| NotifyIsMAWCIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_UpdateIsMAWCIniFeatureEnabled(pHddCtx->hHal, |
| pHddCtx->cfg_ini->MAWCEnabled ); |
| } |
| #endif |
| |
| #ifdef FEATURE_WLAN_ESE |
| static void |
| cbNotifySetEseFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_UpdateIsEseFeatureEnabled(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->isEseIniFeatureEnabled ); |
| } |
| #endif |
| |
| static void |
| cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_UpdateConfigFwRssiMonitoring(pHddCtx->hHal, |
| pHddCtx->cfg_ini->fEnableFwRssiMonitoring); |
| } |
| |
| #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING |
| static void cbNotifySetOpportunisticScanThresholdDiff(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_SetRoamOpportunisticScanThresholdDiff(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->nOpportunisticThresholdDiff ); |
| } |
| |
| static void cbNotifySetRoamRescanRssiDiff(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_SetRoamRescanRssiDiff(pHddCtx->hHal, |
| 0, |
| pHddCtx->cfg_ini->nRoamRescanRssiDiff); |
| } |
| |
| static void |
| cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_setNeighborLookupRssiThreshold(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->nNeighborLookupRssiThreshold); |
| } |
| |
| static void |
| cb_notify_set_delay_before_vdev_stop(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_set_delay_before_vdev_stop(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->delay_before_vdev_stop); |
| } |
| |
| static void |
| cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_setNeighborScanPeriod(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->nNeighborScanPeriod ); |
| } |
| |
| static void |
| cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_setNeighborScanRefreshPeriod(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod); |
| } |
| |
| static void |
| cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_UpdateEmptyScanRefreshPeriod(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->nEmptyScanRefreshPeriod); |
| } |
| |
| static void |
| cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_setNeighborScanMinChanTime(pHddCtx->hHal, |
| pHddCtx->cfg_ini->nNeighborScanMinChanTime, |
| 0); |
| } |
| |
| static void |
| cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| sme_setNeighborScanMaxChanTime(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->nNeighborScanMaxChanTime); |
| } |
| static void cbNotifySetRoamBmissFirstBcnt(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_SetRoamBmissFirstBcnt(pHddCtx->hHal, |
| 0, |
| pHddCtx->cfg_ini->nRoamBmissFirstBcnt); |
| } |
| |
| static void cbNotifySetRoamBmissFinalBcnt(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| sme_SetRoamBmissFinalBcnt(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->nRoamBmissFinalBcnt); |
| } |
| |
| static void cbNotifySetRoamBeaconRssiWeight(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| sme_SetRoamBeaconRssiWeight(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->nRoamBeaconRssiWeight); |
| } |
| |
| static void |
| cbNotifySetDFSScanMode(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| /* At the point this routine is called, the value in the cfg_ini |
| table has already been updated */ |
| sme_UpdateDFSScanMode(pHddCtx->hHal, 0, |
| pHddCtx->cfg_ini->allowDFSChannelRoam); |
| } |
| |
| #endif |
| |
| static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId) |
| { |
| sme_UpdateEnableSSR(pHddCtx->hHal, pHddCtx->cfg_ini->enableSSR); |
| } |
| |
| |
| static void cbNotify_set_gSapPreferredChanLocation(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| WLANSAP_set_Dfs_Preferred_Channel_location(pHddCtx->hHal, |
| pHddCtx->cfg_ini->gSapPreferredChanLocation); |
| } |
| |
| |
| static void chNotify_set_gDisableDfsJapanW53(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| WLANSAP_set_Dfs_Restrict_JapanW53(pHddCtx->hHal, |
| pHddCtx->cfg_ini->gDisableDfsJapanW53); |
| } |
| |
| #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD |
| static void |
| cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| sme_UpdateRoamScanOffloadEnabled(pHddCtx->hHal, |
| pHddCtx->cfg_ini->isRoamOffloadScanEnabled); |
| if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled) { |
| pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0; |
| sme_UpdateEnableFastRoamInConcurrency(pHddCtx->hHal, |
| pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled); |
| } |
| } |
| |
| static void |
| cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, |
| unsigned long NotifyId) |
| { |
| sme_UpdateEnableFastRoamInConcurrency(pHddCtx->hHal, |
| pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled); |
| } |
| |
| #endif |
| |
| /** |
| * cb_notify_set_roam_scan_hi_rssi_scan_params() - configure hi rssi |
| * scan params from cfg to sme. |
| * @hdd_ctx: HDD context data structure |
| * @notify_id: Identifies 1 of the 4 parameters to be modified |
| * |
| * Picks up the value from hd configuration and passes it to SME. |
| * Return: void |
| */ |
| |
| static void |
| cb_notify_set_roam_scan_hi_rssi_scan_params(hdd_context_t *hdd_ctx, |
| unsigned long notify_id) |
| { |
| int32_t val; |
| |
| if (wlan_hdd_validate_context(hdd_ctx)) |
| return; |
| |
| switch (notify_id) { |
| case eCSR_HI_RSSI_SCAN_MAXCOUNT_ID: |
| val = hdd_ctx->cfg_ini->nhi_rssi_scan_max_count; |
| break; |
| |
| case eCSR_HI_RSSI_SCAN_RSSI_DELTA_ID: |
| val = hdd_ctx->cfg_ini->nhi_rssi_scan_rssi_delta; |
| break; |
| |
| case eCSR_HI_RSSI_SCAN_DELAY_ID: |
| val = hdd_ctx->cfg_ini->nhi_rssi_scan_delay; |
| break; |
| |
| case eCSR_HI_RSSI_SCAN_RSSI_UB_ID: |
| val = hdd_ctx->cfg_ini->nhi_rssi_scan_rssi_ub; |
| break; |
| |
| default: |
| return; |
| } |
| |
| sme_update_roam_scan_hi_rssi_scan_params(hdd_ctx->hHal, 0, |
| notify_id, val); |
| } |
| |
| |
| REG_TABLE_ENTRY g_registry_table[] = |
| { |
| REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, RTSThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RTS_THRESHOLD_DEFAULT, |
| CFG_RTS_THRESHOLD_MIN, |
| CFG_RTS_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, FragmentationThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FRAG_THRESHOLD_DEFAULT, |
| CFG_FRAG_THRESHOLD_MIN, |
| CFG_FRAG_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, OperatingChannel, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_OPERATING_CHANNEL_DEFAULT, |
| CFG_OPERATING_CHANNEL_MIN, |
| CFG_OPERATING_CHANNEL_MAX ), |
| |
| REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ShortSlotTimeEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT, |
| CFG_SHORT_SLOT_TIME_ENABLED_MIN, |
| CFG_SHORT_SLOT_TIME_ENABLED_MAX ), |
| |
| REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, Is11dSupportEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_11D_SUPPORT_ENABLED_DEFAULT, |
| CFG_11D_SUPPORT_ENABLED_MIN, |
| CFG_11D_SUPPORT_ENABLED_MAX ), |
| |
| REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, Is11hSupportEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_11H_SUPPORT_ENABLED_DEFAULT, |
| CFG_11H_SUPPORT_ENABLED_MIN, |
| CFG_11H_SUPPORT_ENABLED_MAX ), |
| |
| REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fEnforce11dChannels, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_ENFORCE_11D_CHANNELS_DEFAULT, |
| CFG_ENFORCE_11D_CHANNELS_MIN, |
| CFG_ENFORCE_11D_CHANNELS_MAX ), |
| |
| REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fSupplicantCountryCodeHasPriority, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_COUNTRY_CODE_PRIORITY_DEFAULT, |
| CFG_COUNTRY_CODE_PRIORITY_MIN, |
| CFG_COUNTRY_CODE_PRIORITY_MAX), |
| |
| REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fEnforceCountryCodeMatch, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT, |
| CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN, |
| CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ), |
| |
| REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fEnforceDefaultDomain, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT, |
| CFG_ENFORCE_DEFAULT_DOMAIN_MIN, |
| CFG_ENFORCE_DEFAULT_DOMAIN_MAX ), |
| |
| REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, HeartbeatThresh24, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_HEARTBEAT_THRESH_24_DEFAULT, |
| CFG_HEARTBEAT_THRESH_24_MIN, |
| CFG_HEARTBEAT_THRESH_24_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String, |
| hdd_config_t, PowerUsageControl, |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_POWER_USAGE_DEFAULT ), |
| |
| REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nEnableSuspend, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_SUSPEND_DEFAULT, |
| CFG_ENABLE_SUSPEND_MIN, |
| CFG_ENABLE_SUSPEND_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nEnableDriverStop, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT, |
| CFG_ENABLE_ENABLE_DRIVER_STOP_MIN, |
| CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fIsLogpEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_LOGP_DEFAULT, |
| CFG_ENABLE_LOGP_MIN, |
| CFG_ENABLE_LOGP_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fIsImpsEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_IMPS_DEFAULT, |
| CFG_ENABLE_IMPS_MIN, |
| CFG_ENABLE_IMPS_MAX ), |
| |
| REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nImpsMinSleepTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT, |
| CFG_IMPS_MINIMUM_SLEEP_TIME_MIN, |
| CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nImpsMaxSleepTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT, |
| CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN, |
| CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nImpsModSleepTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT, |
| CFG_IMPS_MODERATE_SLEEP_TIME_MIN, |
| CFG_IMPS_MODERATE_SLEEP_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fIsBmpsEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_BMPS_DEFAULT, |
| CFG_ENABLE_BMPS_MIN, |
| CFG_ENABLE_BMPS_MAX ), |
| |
| REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nBmpsMinListenInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BMPS_MINIMUM_LI_DEFAULT, |
| CFG_BMPS_MINIMUM_LI_MIN, |
| CFG_BMPS_MINIMUM_LI_MAX ), |
| |
| REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nBmpsMaxListenInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BMPS_MAXIMUM_LI_DEFAULT, |
| CFG_BMPS_MAXIMUM_LI_MIN, |
| CFG_BMPS_MAXIMUM_LI_MAX ), |
| |
| REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nBmpsModListenInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BMPS_MODERATE_LI_DEFAULT, |
| CFG_BMPS_MODERATE_LI_MIN, |
| CFG_BMPS_MODERATE_LI_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fIsAutoBmpsTimerEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT, |
| CFG_ENABLE_AUTO_BMPS_TIMER_MIN, |
| CFG_ENABLE_AUTO_BMPS_TIMER_MAX ), |
| |
| REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nAutoBmpsTimerValue, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT, |
| CFG_AUTO_BMPS_TIMER_VALUE_MIN, |
| CFG_AUTO_BMPS_TIMER_VALUE_MAX ), |
| |
| REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dot11Mode, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_DOT11_MODE_DEFAULT, |
| CFG_DOT11_MODE_MIN, |
| CFG_DOT11_MODE_MAX ), |
| |
| REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nChannelBondingMode24GHz, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_CHANNEL_BONDING_MODE_DEFAULT, |
| CFG_CHANNEL_BONDING_MODE_MIN, |
| CFG_CHANNEL_BONDING_MODE_MAX), |
| |
| REG_VARIABLE(CFG_OVERRIDE_HT40_20_24GHZ_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, override_ht20_40_24g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_OVERRIDE_HT40_20_24GHZ_DEFAULT, |
| CFG_OVERRIDE_HT40_20_24GHZ_MIN, |
| CFG_OVERRIDE_HT40_20_24GHZ_MAX), |
| |
| REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nChannelBondingMode5GHz, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_CHANNEL_BONDING_MODE_DEFAULT, |
| CFG_CHANNEL_BONDING_MODE_MIN, |
| CFG_CHANNEL_BONDING_MODE_MAX), |
| |
| REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, MaxRxAmpduFactor, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK , |
| CFG_MAX_RX_AMPDU_FACTOR_DEFAULT, |
| CFG_MAX_RX_AMPDU_FACTOR_MIN, |
| CFG_MAX_RX_AMPDU_FACTOR_MAX), |
| |
| REG_VARIABLE(CFG_HT_MPDU_DENSITY_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ht_mpdu_density, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK , |
| CFG_HT_MPDU_DENSITY_DEFAULT, |
| CFG_HT_MPDU_DENSITY_MIN, |
| CFG_HT_MPDU_DENSITY_MAX), |
| |
| REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, TxRate, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_FIXED_RATE_DEFAULT, |
| CFG_FIXED_RATE_MIN, |
| CFG_FIXED_RATE_MAX ), |
| |
| REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ShortGI20MhzEnable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SHORT_GI_20MHZ_DEFAULT, |
| CFG_SHORT_GI_20MHZ_MIN, |
| CFG_SHORT_GI_20MHZ_MAX ), |
| |
| REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, BlockAckAutoSetup, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT, |
| CFG_BLOCK_ACK_AUTO_SETUP_MIN, |
| CFG_BLOCK_ACK_AUTO_SETUP_MAX ), |
| |
| REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ScanResultAgeCount, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_SCAN_RESULT_AGE_COUNT_DEFAULT, |
| CFG_SCAN_RESULT_AGE_COUNT_MIN, |
| CFG_SCAN_RESULT_AGE_COUNT_MAX ), |
| |
| REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nScanAgeTimeNCNPS, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT, |
| CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN, |
| CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ), |
| |
| REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nScanAgeTimeNCPS, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT, |
| CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN, |
| CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ), |
| |
| REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nScanAgeTimeCNPS, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT, |
| CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN, |
| CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ), |
| |
| REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nScanAgeTimeCPS, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT, |
| CFG_SCAN_RESULT_AGE_TIME_CPS_MIN, |
| CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ), |
| |
| REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nRssiCatGap, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RSSI_CATEGORY_GAP_DEFAULT, |
| CFG_RSSI_CATEGORY_GAP_MIN, |
| CFG_RSSI_CATEGORY_GAP_MAX ), |
| |
| REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fIsShortPreamble, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SHORT_PREAMBLE_DEFAULT, |
| CFG_SHORT_PREAMBLE_MIN, |
| CFG_SHORT_PREAMBLE_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr, |
| hdd_config_t, IbssBssid, |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_IBSS_BSSID_DEFAULT ), |
| |
| REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr, |
| hdd_config_t, intfMacAddr[0], |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_INTF0_MAC_ADDR_DEFAULT ), |
| |
| REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr, |
| hdd_config_t, intfMacAddr[1], |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_INTF1_MAC_ADDR_DEFAULT ), |
| |
| REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr, |
| hdd_config_t, intfMacAddr[2], |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_INTF2_MAC_ADDR_DEFAULT ), |
| |
| REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr, |
| hdd_config_t, intfMacAddr[3], |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_INTF3_MAC_ADDR_DEFAULT ), |
| |
| REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, apUapsdEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_QOS_UAPSD_MODE_DEFAULT, |
| CFG_AP_QOS_UAPSD_MODE_MIN, |
| CFG_AP_QOS_UAPSD_MODE_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String, |
| hdd_config_t, apCntryCode, |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_AP_COUNTRY_CODE_DEFAULT ), |
| |
| REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, apRandomBssidEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT, |
| CFG_AP_ENABLE_RANDOM_BSSID_MIN, |
| CFG_AP_ENABLE_RANDOM_BSSID_MAX ), |
| |
| REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, apProtEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT, |
| CFG_AP_ENABLE_PROTECTION_MODE_MIN, |
| CFG_AP_ENABLE_PROTECTION_MODE_MAX ), |
| |
| REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, apProtection, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_PROTECTION_MODE_DEFAULT, |
| CFG_AP_PROTECTION_MODE_MIN, |
| CFG_AP_PROTECTION_MODE_MAX ), |
| |
| REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, apOBSSProtEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_OBSS_PROTECTION_MODE_DEFAULT, |
| CFG_AP_OBSS_PROTECTION_MODE_MIN, |
| CFG_AP_OBSS_PROTECTION_MODE_MAX ), |
| |
| REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, apDisableIntraBssFwd, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_STA_SECURITY_SEPERATION_DEFAULT, |
| CFG_AP_STA_SECURITY_SEPERATION_MIN, |
| CFG_AP_STA_SECURITY_SEPERATION_MAX ), |
| |
| REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, MinFramesProcThres, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FRAMES_PROCESSING_TH_DEFAULT, |
| CFG_FRAMES_PROCESSING_TH_MIN, |
| CFG_FRAMES_PROCESSING_TH_MAX ), |
| |
| REG_VARIABLE(CFG_FORCE_SAP_ACS, WLAN_PARAM_Integer, |
| hdd_config_t, force_sap_acs, |
| VAR_FLAGS_DYNAMIC_CFG | |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FORCE_SAP_ACS_DEFAULT, |
| CFG_FORCE_SAP_ACS_MIN, |
| CFG_FORCE_SAP_ACS_MAX), |
| |
| REG_VARIABLE(CFG_FORCE_SAP_ACS_START_CH, WLAN_PARAM_Integer, |
| hdd_config_t, force_sap_acs_st_ch, |
| VAR_FLAGS_DYNAMIC_CFG | |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FORCE_SAP_ACS_START_CH_DEFAULT, |
| CFG_FORCE_SAP_ACS_START_CH_MIN, |
| CFG_FORCE_SAP_ACS_START_CH_MAX), |
| |
| REG_VARIABLE(CFG_FORCE_SAP_ACS_END_CH, WLAN_PARAM_Integer, |
| hdd_config_t, force_sap_acs_end_ch, |
| VAR_FLAGS_DYNAMIC_CFG | |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FORCE_SAP_ACS_END_CH_DEFAULT, |
| CFG_FORCE_SAP_ACS_END_CH_MIN, |
| CFG_FORCE_SAP_ACS_END_CH_MAX), |
| |
| |
| REG_VARIABLE( CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer, |
| hdd_config_t, enableLTECoex, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_LTE_COEX_DEFAULT, |
| CFG_ENABLE_LTE_COEX_MIN, |
| CFG_ENABLE_LTE_COEX_MAX ), |
| |
| REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, apKeepAlivePeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT, |
| CFG_AP_KEEP_ALIVE_PERIOD_MIN, |
| CFG_AP_KEEP_ALIVE_PERIOD_MAX), |
| |
| REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, goKeepAlivePeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT, |
| CFG_GO_KEEP_ALIVE_PERIOD_MIN, |
| CFG_GO_KEEP_ALIVE_PERIOD_MAX), |
| |
| REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, apLinkMonitorPeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_LINK_MONITOR_PERIOD_DEFAULT, |
| CFG_AP_LINK_MONITOR_PERIOD_MIN, |
| CFG_AP_LINK_MONITOR_PERIOD_MAX), |
| |
| REG_VARIABLE( CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, goLinkMonitorPeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_GO_LINK_MONITOR_PERIOD_DEFAULT, |
| CFG_GO_LINK_MONITOR_PERIOD_MIN, |
| CFG_GO_LINK_MONITOR_PERIOD_MAX), |
| |
| REG_VARIABLE( CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer, |
| hdd_config_t, disablePacketFilter, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DISABLE_PACKET_FILTER_DEFAULT, |
| CFG_DISABLE_PACKET_FILTER_MIN, |
| CFG_DISABLE_PACKET_FILTER_MAX ), |
| |
| REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nBeaconInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_BEACON_INTERVAL_DEFAULT, |
| CFG_BEACON_INTERVAL_MIN, |
| CFG_BEACON_INTERVAL_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, nEnableIdleScan, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_IDLE_SCAN_DEFAULT, |
| CFG_ENABLE_IDLE_SCAN_MIN, |
| CFG_ENABLE_IDLE_SCAN_MAX ), |
| |
| REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, nRoamingTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAMING_TIME_DEFAULT, |
| CFG_ROAMING_TIME_MIN, |
| CFG_ROAMING_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, nVccRssiTrigger, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VCC_RSSI_TRIGGER_DEFAULT, |
| CFG_VCC_RSSI_TRIGGER_MIN, |
| CFG_VCC_RSSI_TRIGGER_MAX ), |
| |
| REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, nVccUlMacLossThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT, |
| CFG_VCC_UL_MAC_LOSS_THRESH_MIN, |
| CFG_VCC_UL_MAC_LOSS_THRESH_MAX ), |
| |
| REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nPassiveMaxChnTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT, |
| CFG_PASSIVE_MAX_CHANNEL_TIME_MIN, |
| CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nPassiveMinChnTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT, |
| CFG_PASSIVE_MIN_CHANNEL_TIME_MIN, |
| CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nActiveMaxChnTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT, |
| CFG_ACTIVE_MAX_CHANNEL_TIME_MIN, |
| CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nActiveMinChnTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT, |
| CFG_ACTIVE_MIN_CHANNEL_TIME_MIN, |
| CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, retryLimitZero, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RETRY_LIMIT_ZERO_DEFAULT, |
| CFG_RETRY_LIMIT_ZERO_MIN, |
| CFG_RETRY_LIMIT_ZERO_MAX ), |
| |
| REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, retryLimitOne, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RETRY_LIMIT_ONE_DEFAULT, |
| CFG_RETRY_LIMIT_ONE_MIN, |
| CFG_RETRY_LIMIT_ONE_MAX ), |
| |
| REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, retryLimitTwo, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RETRY_LIMIT_TWO_DEFAULT, |
| CFG_RETRY_LIMIT_TWO_MIN, |
| CFG_RETRY_LIMIT_TWO_MAX ), |
| |
| REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, disableAggWithBtc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DISABLE_AGG_WITH_BTC_DEFAULT, |
| CFG_DISABLE_AGG_WITH_BTC_MIN, |
| CFG_DISABLE_AGG_WITH_BTC_MAX ), |
| |
| #ifdef WLAN_AP_STA_CONCURRENCY |
| REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nPassiveMaxChnTimeConc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT, |
| CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN, |
| CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ), |
| |
| REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nPassiveMinChnTimeConc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT, |
| CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN, |
| CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ), |
| |
| REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nActiveMaxChnTimeConc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT, |
| CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN, |
| CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ), |
| |
| REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nActiveMinChnTimeConc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT, |
| CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN, |
| CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ), |
| |
| REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nRestTimeConc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_REST_TIME_CONC_DEFAULT, |
| CFG_REST_TIME_CONC_MIN, |
| CFG_REST_TIME_CONC_MAX ), |
| |
| REG_VARIABLE( CFG_MIN_REST_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, min_rest_time_conc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MIN_REST_TIME_DEFAULT, |
| CFG_MIN_REST_TIME_MIN, |
| CFG_MIN_REST_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_IDLE_TIME_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, idle_time_conc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IDLE_TIME_DEFAULT, |
| CFG_IDLE_TIME_MIN, |
| CFG_IDLE_TIME_MAX ), |
| #endif |
| |
| REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nMaxPsPoll, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MAX_PS_POLL_DEFAULT, |
| CFG_MAX_PS_POLL_MIN, |
| CFG_MAX_PS_POLL_MAX ), |
| |
| REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nTxPowerCap, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MAX_TX_POWER_DEFAULT, |
| CFG_MAX_TX_POWER_MIN, |
| CFG_MAX_TX_POWER_MAX ), |
| |
| REG_VARIABLE( CFG_TX_POWER_CTRL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, allow_tpc_from_ap, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TX_POWER_CTRL_DEFAULT, |
| CFG_TX_POWER_CTRL_MIN, |
| CFG_TX_POWER_CTRL_MAX ), |
| |
| REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fIsLowGainOverride, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LOW_GAIN_OVERRIDE_DEFAULT, |
| CFG_LOW_GAIN_OVERRIDE_MIN, |
| CFG_LOW_GAIN_OVERRIDE_MAX ), |
| |
| REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nRssiFilterPeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RSSI_FILTER_PERIOD_DEFAULT, |
| CFG_RSSI_FILTER_PERIOD_MIN, |
| CFG_RSSI_FILTER_PERIOD_MAX ), |
| |
| REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fIgnoreDtim, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IGNORE_DTIM_DEFAULT, |
| CFG_IGNORE_DTIM_MIN, |
| CFG_IGNORE_DTIM_MAX ), |
| |
| REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fMaxLIModulatedDTIM, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MAX_LI_MODULATED_DTIM_DEFAULT, |
| CFG_MAX_LI_MODULATED_DTIM_MIN, |
| CFG_MAX_LI_MODULATED_DTIM_MAX ), |
| |
| REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nRxAnt, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT, |
| CFG_RX_ANT_CONFIGURATION_NAME_MIN, |
| CFG_RX_ANT_CONFIGURATION_NAME_MAX ), |
| |
| REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableFwHeartBeatMonitoring, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FW_HEART_BEAT_MONITORING_DEFAULT, |
| CFG_FW_HEART_BEAT_MONITORING_MIN, |
| CFG_FW_HEART_BEAT_MONITORING_MAX ), |
| |
| REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableFwBeaconFiltering, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FW_BEACON_FILTERING_DEFAULT, |
| CFG_FW_BEACON_FILTERING_MIN, |
| CFG_FW_BEACON_FILTERING_MAX ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableFwRssiMonitoring, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FW_RSSI_MONITORING_DEFAULT, |
| CFG_FW_RSSI_MONITORING_MIN, |
| CFG_FW_RSSI_MONITORING_MAX, |
| cbNotifySetFwRssiMonitoring, 0 ), |
| |
| REG_VARIABLE(CFG_FW_MCC_RTS_CTS_PROT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, mcc_rts_cts_prot_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FW_MCC_RTS_CTS_PROT_DEFAULT, |
| CFG_FW_MCC_RTS_CTS_PROT_MIN, |
| CFG_FW_MCC_RTS_CTS_PROT_MAX), |
| |
| REG_VARIABLE(CFG_FW_MCC_BCAST_PROB_RESP_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, mcc_bcast_prob_resp_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FW_MCC_BCAST_PROB_RESP_DEFAULT, |
| CFG_FW_MCC_BCAST_PROB_RESP_MIN, |
| CFG_FW_MCC_BCAST_PROB_RESP_MAX), |
| |
| REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nDataInactivityTimeout, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT, |
| CFG_DATA_INACTIVITY_TIMEOUT_MIN, |
| CFG_DATA_INACTIVITY_TIMEOUT_MAX ), |
| |
| REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nthBeaconFilter, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_NTH_BEACON_FILTER_DEFAULT, |
| CFG_NTH_BEACON_FILTER_MIN, |
| CFG_NTH_BEACON_FILTER_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, WmmMode, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_MODE_DEFAULT, |
| CFG_QOS_WMM_MODE_MIN, |
| CFG_QOS_WMM_MODE_MAX ), |
| |
| REG_VARIABLE( CFG_STA_LOCAL_EDCA_FOR_ETSI_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, gStaLocalEDCAEnable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_STA_LOCAL_EDCA_FOR_ETSI_DEFAULT, |
| CFG_STA_LOCAL_EDCA_FOR_ETSI_MIN, |
| CFG_STA_LOCAL_EDCA_FOR_ETSI_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, b80211eIsEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_80211E_ENABLED_DEFAULT, |
| CFG_QOS_WMM_80211E_ENABLED_MIN, |
| CFG_QOS_WMM_80211E_ENABLED_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, UapsdMask, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_UAPSD_MASK_DEFAULT, |
| CFG_QOS_WMM_UAPSD_MASK_MIN, |
| CFG_QOS_WMM_UAPSD_MASK_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraUapsdVoSrvIntv, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN, |
| CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraUapsdVoSuspIntv, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN, |
| CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraUapsdViSrvIntv, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN, |
| CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraUapsdViSuspIntv, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN, |
| CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraUapsdBeSrvIntv, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN, |
| CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraUapsdBeSuspIntv, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN, |
| CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraUapsdBkSrvIntv, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN, |
| CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraUapsdBkSuspIntv, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT, |
| CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN, |
| CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ), |
| |
| #ifdef FEATURE_WLAN_ESE |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, InfraInactivityInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT, |
| CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN, |
| CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ESE_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, isEseIniFeatureEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ESE_FEATURE_ENABLED_DEFAULT, |
| CFG_ESE_FEATURE_ENABLED_MIN, |
| CFG_ESE_FEATURE_ENABLED_MAX, |
| cbNotifySetEseFeatureEnabled, 0 ), |
| #endif // FEATURE_WLAN_ESE |
| |
| #ifdef FEATURE_WLAN_LFR |
| // flag to turn ON/OFF Legacy Fast Roaming |
| REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, isFastRoamIniFeatureEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LFR_FEATURE_ENABLED_DEFAULT, |
| CFG_LFR_FEATURE_ENABLED_MIN, |
| CFG_LFR_FEATURE_ENABLED_MAX, |
| NotifyIsFastRoamIniFeatureEnabled, 0 ), |
| |
| /* flag to turn ON/OFF Motion assistance for Legacy Fast Roaming */ |
| REG_DYNAMIC_VARIABLE( CFG_LFR_MAWC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, MAWCEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT, |
| CFG_LFR_MAWC_FEATURE_ENABLED_MIN, |
| CFG_LFR_MAWC_FEATURE_ENABLED_MAX, |
| NotifyIsMAWCIniFeatureEnabled, 0 ), |
| |
| #endif // FEATURE_WLAN_LFR |
| |
| #if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR) |
| // flag to turn ON/OFF 11r and ESE FastTransition |
| REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, isFastTransitionEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT, |
| CFG_FAST_TRANSITION_ENABLED_NAME_MIN, |
| CFG_FAST_TRANSITION_ENABLED_NAME_MAX, |
| cbNotifySetFastTransitionEnabled, 0 ), |
| |
| /* Variable to specify the delta/difference between the RSSI of current AP |
| * and roamable AP while roaming */ |
| REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, RoamRssiDiff, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_RSSI_DIFF_DEFAULT, |
| CFG_ROAM_RSSI_DIFF_MIN, |
| CFG_ROAM_RSSI_DIFF_MAX, |
| cbNotifySetRoamRssiDiff, 0), |
| |
| REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nImmediateRoamRssiDiff, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT, |
| CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN, |
| CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX, |
| cbNotifySetImmediateRoamRssiDiff, 0), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, isWESModeEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_WES_MODE_NAME_DEFAULT, |
| CFG_ENABLE_WES_MODE_NAME_MIN, |
| CFG_ENABLE_WES_MODE_NAME_MAX, |
| cbNotifySetWESMode, 0), |
| #endif |
| #ifdef FEATURE_WLAN_OKC |
| REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, isOkcIniFeatureEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_OKC_FEATURE_ENABLED_DEFAULT, |
| CFG_OKC_FEATURE_ENABLED_MIN, |
| CFG_OKC_FEATURE_ENABLED_MAX, |
| cbNotifySetOkcFeatureEnabled, 0 ), |
| #endif |
| #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD |
| REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer, |
| hdd_config_t, isRoamOffloadScanEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT, |
| CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN, |
| CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX, |
| cbNotifyUpdateRoamScanOffloadEnabled, 0), |
| #endif |
| REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, PktClassificationBasis, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT, |
| CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN, |
| CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraDirAcVo, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT, |
| CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN, |
| CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraNomMsduSizeAcVo, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraMeanDataRateAcVo, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraMinPhyRateAcVo, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraSbaAcVo, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT, |
| CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN, |
| CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraDirAcVi, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT, |
| CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN, |
| CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraNomMsduSizeAcVi, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraMeanDataRateAcVi, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraMinPhyRateAcVi, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraSbaAcVi, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT, |
| CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN, |
| CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraDirAcBe, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT, |
| CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN, |
| CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraNomMsduSizeAcBe, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraMeanDataRateAcBe, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraMinPhyRateAcBe, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraSbaAcBe, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT, |
| CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN, |
| CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, InfraDirAcBk, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT, |
| CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN, |
| CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraNomMsduSizeAcBk, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN, |
| CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraMeanDataRateAcBk, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN, |
| CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraMinPhyRateAcBk, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN, |
| CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, InfraSbaAcBk, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT, |
| CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN, |
| CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ), |
| |
| REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, DelayedTriggerFrmInt, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT, |
| CFG_TL_DELAYED_TRGR_FRM_INT_MIN, |
| CFG_TL_DELAYED_TRGR_FRM_INT_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String, |
| hdd_config_t, wowlPattern, |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_WOWL_PATTERN_DEFAULT ), |
| |
| REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, bImplicitQosEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT, |
| CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN, |
| CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ), |
| |
| REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, btcExecutionMode, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_EXECUTION_MODE_DEFAULT, |
| CFG_BTC_EXECUTION_MODE_MIN, |
| CFG_BTC_EXECUTION_MODE_MAX ), |
| |
| REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, mwsCoexConfig[0], |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_MIN, |
| CFG_MWS_COEX_CONFIGX_MAX ), |
| |
| REG_VARIABLE( CFG_MWS_COEX_CONFIG2_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, mwsCoexConfig[1], |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_MIN, |
| CFG_MWS_COEX_CONFIGX_MAX ), |
| |
| REG_VARIABLE( CFG_MWS_COEX_CONFIG3_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, mwsCoexConfig[2], |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_MIN, |
| CFG_MWS_COEX_CONFIGX_MAX ), |
| |
| REG_VARIABLE( CFG_MWS_COEX_CONFIG4_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, mwsCoexConfig[3], |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_MIN, |
| CFG_MWS_COEX_CONFIGX_MAX ), |
| |
| REG_VARIABLE( CFG_MWS_COEX_CONFIG5_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, mwsCoexConfig[4], |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_MIN, |
| CFG_MWS_COEX_CONFIGX_MAX ), |
| |
| REG_VARIABLE( CFG_MWS_COEX_CONFIG6_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, mwsCoexConfig[5], |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_DEFAULT, |
| CFG_MWS_COEX_CONFIGX_MIN, |
| CFG_MWS_COEX_CONFIGX_MAX ), |
| |
| REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, nEnableListenMode, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_LISTEN_MODE_DEFAULT, |
| CFG_AP_LISTEN_MODE_MIN, |
| CFG_AP_LISTEN_MODE_MAX ), |
| |
| REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer, |
| hdd_config_t, nAPAutoShutOff, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_AUTO_SHUT_OFF_DEFAULT, |
| CFG_AP_AUTO_SHUT_OFF_MIN, |
| CFG_AP_AUTO_SHUT_OFF_MAX ), |
| |
| #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH |
| REG_VARIABLE( CFG_WLAN_MCC_TO_SCC_SWITCH_MODE , WLAN_PARAM_Integer, |
| hdd_config_t, WlanMccToSccSwitchMode, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_DEFAULT, |
| CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_MIN, |
| CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_MAX ), |
| |
| REG_VARIABLE( CFG_WLAN_BAND_SWITCH_ENABLE , WLAN_PARAM_Integer, |
| hdd_config_t, wlan_band_switch_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WLAN_BAND_SWITCH_ENABLE_DEFAULT, |
| CFG_WLAN_BAND_SWITCH_ENABLE_MIN, |
| CFG_WLAN_BAND_SWITCH_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_WLAN_AP_P2PGO_CONC_ENABLE , WLAN_PARAM_Integer, |
| hdd_config_t, wlan_ap_p2pgo_conc_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WLAN_AP_P2PGO_CONC_ENABLE_DEFAULT, |
| CFG_WLAN_AP_P2PGO_CONC_ENABLE_MIN, |
| CFG_WLAN_AP_P2PGO_CONC_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_WLAN_AP_P2PGC_CONC_ENABLE , WLAN_PARAM_Integer, |
| hdd_config_t, wlan_ap_p2pclient_conc_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WLAN_AP_P2PGC_CONC_ENABLE_DEFAULT, |
| CFG_WLAN_AP_P2PGC_CONC_ENABLE_MIN, |
| CFG_WLAN_AP_P2PGC_CONC_ENABLE_MAX ), |
| #endif |
| #ifdef FEATURE_WLAN_AUTO_SHUTDOWN |
| REG_VARIABLE( CFG_WLAN_AUTO_SHUTDOWN , WLAN_PARAM_Integer, |
| hdd_config_t, WlanAutoShutdown, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WLAN_AUTO_SHUTDOWN_DEFAULT, |
| CFG_WLAN_AUTO_SHUTDOWN_MIN, |
| CFG_WLAN_AUTO_SHUTDOWN_MAX ), |
| #endif |
| #if defined WLAN_FEATURE_VOWIFI |
| REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fRrmEnable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RRM_ENABLE_DEFAULT, |
| CFG_RRM_ENABLE_MIN, |
| CFG_RRM_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nInChanMeasMaxDuration, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT, |
| CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN, |
| CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ), |
| |
| REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nOutChanMeasMaxDuration, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT, |
| CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN, |
| CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ), |
| |
| REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nRrmRandnIntvl, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT, |
| CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN, |
| CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ), |
| |
| REG_VARIABLE_STRING(CFG_RM_CAPABILITY_NAME, WLAN_PARAM_String, |
| hdd_config_t, rm_capability, VAR_FLAGS_OPTIONAL, |
| (void *) CFG_RM_CAPABILITY_DEFAULT), |
| #endif |
| |
| #ifdef WLAN_FEATURE_VOWIFI_11R |
| REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fFTResourceReqSupported, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FT_RESOURCE_REQ_DEFAULT, |
| CFG_FT_RESOURCE_REQ_MIN, |
| CFG_FT_RESOURCE_REQ_MAX ), |
| #endif |
| |
| #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING |
| REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nNeighborScanPeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT, |
| CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN, |
| CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX, |
| cbNotifySetNeighborScanPeriod, 0 ), |
| |
| REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nNeighborReassocRssiThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT, |
| CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN, |
| CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nNeighborLookupRssiThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT, |
| CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN, |
| CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX, |
| cbNotifySetNeighborLookupRssiThreshold, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nOpportunisticThresholdDiff, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_DEFAULT, |
| CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_MIN, |
| CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_MAX, |
| cbNotifySetOpportunisticScanThresholdDiff, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ROAM_RESCAN_RSSI_DIFF_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nRoamRescanRssiDiff, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_RESCAN_RSSI_DIFF_DEFAULT, |
| CFG_ROAM_RESCAN_RSSI_DIFF_MIN, |
| CFG_ROAM_RESCAN_RSSI_DIFF_MAX, |
| cbNotifySetRoamRescanRssiDiff, 0 ), |
| |
| REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String, |
| hdd_config_t, neighborScanChanList, |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nNeighborScanMinChanTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT, |
| CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN, |
| CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX, |
| cbNotifySetNeighborScanMinChanTime, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nNeighborScanMaxChanTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT, |
| CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN, |
| CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX, |
| cbNotifySetNeighborScanMaxChanTime, 0 ), |
| |
| REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nMaxNeighborReqTries, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT, |
| CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN, |
| CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX), |
| |
| REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nNeighborResultsRefreshPeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT, |
| CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN, |
| CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX, |
| cbNotifySetNeighborResultsRefreshPeriod, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nEmptyScanRefreshPeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT, |
| CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN, |
| CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX, |
| cbNotifySetEmptyScanRefreshPeriod, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ROAM_BMISS_FIRST_BCNT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nRoamBmissFirstBcnt, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_BMISS_FIRST_BCNT_DEFAULT, |
| CFG_ROAM_BMISS_FIRST_BCNT_MIN, |
| CFG_ROAM_BMISS_FIRST_BCNT_MAX, |
| cbNotifySetRoamBmissFirstBcnt, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ROAM_BMISS_FINAL_BCNT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nRoamBmissFinalBcnt, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_BMISS_FINAL_BCNT_DEFAULT, |
| CFG_ROAM_BMISS_FINAL_BCNT_MIN, |
| CFG_ROAM_BMISS_FINAL_BCNT_MAX, |
| cbNotifySetRoamBmissFinalBcnt, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ROAM_BEACON_RSSI_WEIGHT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nRoamBeaconRssiWeight, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_BEACON_RSSI_WEIGHT_DEFAULT, |
| CFG_ROAM_BEACON_RSSI_WEIGHT_MIN, |
| CFG_ROAM_BEACON_RSSI_WEIGHT_MAX, |
| cbNotifySetRoamBeaconRssiWeight, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ROAMING_DFS_CHANNEL_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, allowDFSChannelRoam, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAMING_DFS_CHANNEL_DEFAULT, |
| CFG_ROAMING_DFS_CHANNEL_MIN, |
| CFG_ROAMING_DFS_CHANNEL_MAX, |
| cbNotifySetDFSScanMode, 0), |
| |
| REG_DYNAMIC_VARIABLE( CFG_DELAY_BEFORE_VDEV_STOP_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, delay_before_vdev_stop, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DELAY_BEFORE_VDEV_STOP_DEFAULT, |
| CFG_DELAY_BEFORE_VDEV_STOP_MIN, |
| CFG_DELAY_BEFORE_VDEV_STOP_MAX, |
| cb_notify_set_delay_before_vdev_stop, 0 ), |
| |
| REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_NAME, |
| WLAN_PARAM_Integer, |
| hdd_config_t, nhi_rssi_scan_max_count, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_DEFAULT, |
| CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MIN, |
| CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MAX, |
| cb_notify_set_roam_scan_hi_rssi_scan_params, |
| eCSR_HI_RSSI_SCAN_MAXCOUNT_ID), |
| |
| REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_DELTA_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nhi_rssi_scan_rssi_delta, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_SCAN_HI_RSSI_DELTA_DEFAULT, |
| CFG_ROAM_SCAN_HI_RSSI_DELTA_MIN, |
| CFG_ROAM_SCAN_HI_RSSI_DELTA_MAX, |
| cb_notify_set_roam_scan_hi_rssi_scan_params, |
| eCSR_HI_RSSI_SCAN_RSSI_DELTA_ID), |
| |
| REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_DELAY_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nhi_rssi_scan_delay, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_SCAN_HI_RSSI_DELAY_DEFAULT, |
| CFG_ROAM_SCAN_HI_RSSI_DELAY_MIN, |
| CFG_ROAM_SCAN_HI_RSSI_DELAY_MAX, |
| cb_notify_set_roam_scan_hi_rssi_scan_params, |
| eCSR_HI_RSSI_SCAN_DELAY_ID), |
| |
| REG_DYNAMIC_VARIABLE(CFG_ROAM_SCAN_HI_RSSI_UB_NAME, |
| WLAN_PARAM_SignedInteger, |
| hdd_config_t, nhi_rssi_scan_rssi_ub, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_SCAN_HI_RSSI_UB_DEFAULT, |
| CFG_ROAM_SCAN_HI_RSSI_UB_MIN, |
| CFG_ROAM_SCAN_HI_RSSI_UB_MAX, |
| cb_notify_set_roam_scan_hi_rssi_scan_params, |
| eCSR_HI_RSSI_SCAN_RSSI_UB_ID), |
| |
| |
| #endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */ |
| |
| REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, burstSizeDefinition, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT, |
| CFG_QOS_WMM_BURST_SIZE_DEFN_MIN, |
| CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ), |
| |
| REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, mcastBcastFilterSetting, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT, |
| CFG_MCAST_BCAST_FILTER_SETTING_MIN, |
| CFG_MCAST_BCAST_FILTER_SETTING_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fhostArpOffload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT, |
| CFG_ENABLE_HOST_ARPOFFLOAD_MIN, |
| CFG_ENABLE_HOST_ARPOFFLOAD_MAX ), |
| |
| #ifdef FEATURE_WLAN_RA_FILTERING |
| REG_VARIABLE( CFG_RA_FILTER_ENABLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, IsRArateLimitEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RA_FILTER_ENABLE_DEFAULT, |
| CFG_RA_FILTER_ENABLE_MIN, |
| CFG_RA_FILTER_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_RA_RATE_LIMIT_INTERVAL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, RArateLimitInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT, |
| CFG_RA_RATE_LIMIT_INTERVAL_MIN, |
| CFG_RA_RATE_LIMIT_INTERVAL_MAX ), |
| #endif |
| |
| REG_VARIABLE( CFG_ENABLE_HOST_SSDP_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ssdp, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_HOST_SSDP_DEFAULT, |
| CFG_ENABLE_HOST_SSDP_MIN, |
| CFG_ENABLE_HOST_SSDP_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_HOST_BROADCAST_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bcastptrn, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_HOST_BROADCAST_DEFAULT, |
| CFG_ENABLE_HOST_BROADCAST_MIN, |
| CFG_ENABLE_HOST_BROADCAST_MAX ), |
| |
| #ifdef FEATURE_RUNTIME_PM |
| REG_VARIABLE( CFG_ENABLE_RUNTIME_PM, WLAN_PARAM_Integer, |
| hdd_config_t, runtime_pm, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_RUNTIME_PM_DEFAULT, |
| CFG_ENABLE_RUNTIME_PM_MIN, |
| CFG_ENABLE_RUNTIME_PM_MAX ), |
| |
| REG_VARIABLE( CFG_RUNTIME_PM_AUTO_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, runtime_pm_delay, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RUNTIME_PM_AUTO_DEFAULT, |
| CFG_RUNTIME_PM_AUTO_MIN, |
| CFG_RUNTIME_PM_AUTO_MAX ), |
| #endif |
| |
| #ifdef FEATURE_SECURE_FIRMWARE |
| REG_VARIABLE(CFG_ENABLE_FW_HASH_CHECK_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enable_fw_hash_check, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_FW_HASH_CHECK_DEFAULT, |
| CFG_ENABLE_FW_HASH_CHECK_MIN, |
| CFG_ENABLE_FW_HASH_CHECK_MAX), |
| #endif |
| |
| REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fhostNSOffload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT, |
| CFG_ENABLE_HOST_NSOFFLOAD_MIN, |
| CFG_ENABLE_HOST_NSOFFLOAD_MAX ), |
| |
| REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, tsInfoAckPolicy, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT, |
| CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN, |
| CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ), |
| |
| REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bSingleTidRc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SINGLE_TID_RC_DEFAULT, |
| CFG_SINGLE_TID_RC_MIN, |
| CFG_SINGLE_TID_RC_MAX), |
| |
| REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dynamicPsPollValue, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT, |
| CFG_DYNAMIC_PSPOLL_VALUE_MIN, |
| CFG_DYNAMIC_PSPOLL_VALUE_MAX ), |
| |
| REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, teleBcnWakeupEn, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TELE_BCN_WAKEUP_EN_DEFAULT, |
| CFG_TELE_BCN_WAKEUP_EN_MIN, |
| CFG_TELE_BCN_WAKEUP_EN_MAX ), |
| |
| REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, infraStaKeepAlivePeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT, |
| CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN, |
| CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX), |
| |
| REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, AddTSWhenACMIsOff, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT, |
| CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN, |
| CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ), |
| |
| |
| REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, fValidateScanList, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VALIDATE_SCAN_LIST_DEFAULT, |
| CFG_VALIDATE_SCAN_LIST_MIN, |
| CFG_VALIDATE_SCAN_LIST_MAX ), |
| |
| REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nNullDataApRespTimeout, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT, |
| CFG_NULLDATA_AP_RESP_TIMEOUT_MIN, |
| CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ), |
| |
| REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, apDataAvailPollPeriodInMs, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT, |
| CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN, |
| CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ), |
| |
| REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nBandCapability, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAND_CAPABILITY_DEFAULT, |
| CFG_BAND_CAPABILITY_MIN, |
| CFG_BAND_CAPABILITY_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableBeaconEarlyTermination, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT, |
| CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN, |
| CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ), |
| |
| /* CFG_VOS_TRACE_ENABLE Parameters */ |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableTL, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableWDI, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableHDD, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableSME, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnablePE, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PMC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnablePMC, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableWDA, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableSYS, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableVOSS, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableSAP, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableHDDSAP, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX ), |
| |
| REG_VARIABLE(CFG_VOS_TRACE_ENABLE_CFG_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableCFG, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX), |
| |
| REG_VARIABLE(CFG_VOS_TRACE_ENABLE_ADF_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableADF, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX), |
| |
| REG_VARIABLE(CFG_VOS_TRACE_ENABLE_TXRX_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableTXRX, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX), |
| |
| REG_VARIABLE(CFG_VOS_TRACE_ENABLE_HTC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableHTC, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX), |
| |
| REG_VARIABLE(CFG_VOS_TRACE_ENABLE_HIF_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableHIF, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX), |
| |
| REG_VARIABLE(CFG_VOS_TRACE_ENABLE_HDD_SAP_DATA_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableHDDSAPDATA, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX), |
| |
| REG_VARIABLE(CFG_VOS_TRACE_ENABLE_HDD_DATA_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vosTraceEnableHDDDATA, |
| VAR_FLAGS_OPTIONAL, |
| CFG_VOS_TRACE_ENABLE_DEFAULT, |
| CFG_VOS_TRACE_ENABLE_MIN, |
| CFG_VOS_TRACE_ENABLE_MAX), |
| |
| REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nTeleBcnTransListenInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TELE_BCN_TRANS_LI_DEFAULT, |
| CFG_TELE_BCN_TRANS_LI_MIN, |
| CFG_TELE_BCN_TRANS_LI_MAX ), |
| |
| REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nTeleBcnTransLiNumIdleBeacons, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT, |
| CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN, |
| CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ), |
| |
| REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nTeleBcnMaxListenInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TELE_BCN_MAX_LI_DEFAULT, |
| CFG_TELE_BCN_MAX_LI_MIN, |
| CFG_TELE_BCN_MAX_LI_MAX ), |
| |
| REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nTeleBcnMaxLiNumIdleBeacons, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT, |
| CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN, |
| CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ), |
| |
| REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bcnEarlyTermWakeInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BCN_EARLY_TERM_WAKE_DEFAULT, |
| CFG_BCN_EARLY_TERM_WAKE_MIN, |
| CFG_BCN_EARLY_TERM_WAKE_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableBypass11d, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_BYPASS_11D_DEFAULT, |
| CFG_ENABLE_BYPASS_11D_MIN, |
| CFG_ENABLE_BYPASS_11D_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableDFSChnlScan, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT, |
| CFG_ENABLE_DFS_CHNL_SCAN_MIN, |
| CFG_ENABLE_DFS_CHNL_SCAN_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_DFS_PNO_CHNL_SCAN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enable_dfs_pno_chnl_scan, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_DFS_PNO_CHNL_SCAN_DEFAULT, |
| CFG_ENABLE_DFS_PNO_CHNL_SCAN_MIN, |
| CFG_ENABLE_DFS_PNO_CHNL_SCAN_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableDynamicDTIM, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_DYNAMIC_DTIM_DEFAULT, |
| CFG_ENABLE_DYNAMIC_DTIM_MIN, |
| CFG_ENABLE_DYNAMIC_DTIM_MAX ), |
| |
| REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ShortGI40MhzEnable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SHORT_GI_40MHZ_DEFAULT, |
| CFG_SHORT_GI_40MHZ_MIN, |
| CFG_SHORT_GI_40MHZ_MAX ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer, |
| hdd_config_t, reportMaxLinkSpeed, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_REPORT_MAX_LINK_SPEED_DEFAULT, |
| CFG_REPORT_MAX_LINK_SPEED_MIN, |
| CFG_REPORT_MAX_LINK_SPEED_MAX, |
| NULL, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger, |
| hdd_config_t, linkSpeedRssiHigh, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LINK_SPEED_RSSI_HIGH_DEFAULT, |
| CFG_LINK_SPEED_RSSI_HIGH_MIN, |
| CFG_LINK_SPEED_RSSI_HIGH_MAX, |
| NULL, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger, |
| hdd_config_t, linkSpeedRssiMid, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LINK_SPEED_RSSI_MID_DEFAULT, |
| CFG_LINK_SPEED_RSSI_MID_MIN, |
| CFG_LINK_SPEED_RSSI_MID_MAX, |
| NULL, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger, |
| hdd_config_t, linkSpeedRssiLow, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LINK_SPEED_RSSI_LOW_DEFAULT, |
| CFG_LINK_SPEED_RSSI_LOW_MIN, |
| CFG_LINK_SPEED_RSSI_LOW_MAX, |
| NULL, 0 ), |
| |
| #if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR) |
| REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer, |
| hdd_config_t, nRoamPrefer5GHz, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_PREFER_5GHZ_DEFAULT, |
| CFG_ROAM_PREFER_5GHZ_MIN, |
| CFG_ROAM_PREFER_5GHZ_MAX, |
| cbNotifySetRoamPrefer5GHz, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer, |
| hdd_config_t, nRoamIntraBand, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_INTRA_BAND_DEFAULT, |
| CFG_ROAM_INTRA_BAND_MIN, |
| CFG_ROAM_INTRA_BAND_MAX, |
| cbNotifySetRoamIntraBand, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer, |
| hdd_config_t, nProbes, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_SCAN_N_PROBES_DEFAULT, |
| CFG_ROAM_SCAN_N_PROBES_MIN, |
| CFG_ROAM_SCAN_N_PROBES_MAX, |
| cbNotifySetRoamScanNProbes, 0 ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer, |
| hdd_config_t, nRoamScanHomeAwayTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT, |
| CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN, |
| CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX, |
| cbNotifySetRoamScanHomeAwayTime, 0 ), |
| |
| #endif |
| |
| REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, isP2pDeviceAddrAdministrated, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT, |
| CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN, |
| CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableMCC, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_MCC_ENABLED_DEFAULT, |
| CFG_ENABLE_MCC_ENABLED_MIN, |
| CFG_ENABLE_MCC_ENABLED_MAX ), |
| |
| REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, allowMCCGODiffBI, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT, |
| CFG_ALLOW_MCC_GO_DIFF_BI_MIN, |
| CFG_ALLOW_MCC_GO_DIFF_BI_MAX ), |
| |
| REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermalMitigationEnable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_MIGRATION_ENABLE_DEFAULT, |
| CFG_THERMAL_MIGRATION_ENABLE_MIN, |
| CFG_THERMAL_MIGRATION_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_THROTTLE_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, throttlePeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THROTTLE_PERIOD_DEFAULT, |
| CFG_THROTTLE_PERIOD_MIN, |
| CFG_THROTTLE_PERIOD_MAX ), |
| |
| REG_VARIABLE( CFG_THROTTLE_DUTY_CYCLE_LEVEL0_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, throttle_dutycycle_level0, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL0_DEFAULT, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL0_MIN, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL0_MAX ), |
| |
| REG_VARIABLE( CFG_THROTTLE_DUTY_CYCLE_LEVEL1_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, throttle_dutycycle_level1, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL1_DEFAULT, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL1_MIN, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL1_MAX ), |
| |
| REG_VARIABLE( CFG_THROTTLE_DUTY_CYCLE_LEVEL2_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, throttle_dutycycle_level2, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL2_DEFAULT, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL2_MIN, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL2_MAX ), |
| |
| REG_VARIABLE( CFG_THROTTLE_DUTY_CYCLE_LEVEL3_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, throttle_dutycycle_level3, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL3_DEFAULT, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MIN, |
| CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableModulatedDTIM, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_MODULATED_DTIM_DEFAULT, |
| CFG_ENABLE_MODULATED_DTIM_MIN, |
| CFG_ENABLE_MODULATED_DTIM_MAX ), |
| |
| REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableMCAddrList, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MC_ADDR_LIST_ENABLE_DEFAULT, |
| CFG_MC_ADDR_LIST_ENABLE_MIN, |
| CFG_MC_ADDR_LIST_ENABLE_MAX ), |
| |
| #ifdef WLAN_FEATURE_11AC |
| REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer, |
| hdd_config_t, vhtChannelWidth, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_VHT_CHANNEL_WIDTH_DEFAULT, |
| CFG_VHT_CHANNEL_WIDTH_MIN, |
| CFG_VHT_CHANNEL_WIDTH_MAX), |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer, |
| hdd_config_t, vhtRxMCS, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT, |
| CFG_VHT_ENABLE_RX_MCS_8_9_MIN, |
| CFG_VHT_ENABLE_RX_MCS_8_9_MAX), |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer, |
| hdd_config_t, vhtTxMCS, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT, |
| CFG_VHT_ENABLE_TX_MCS_8_9_MIN, |
| CFG_VHT_ENABLE_TX_MCS_8_9_MAX), |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS2x2_8_9, WLAN_PARAM_Integer, |
| hdd_config_t, vhtRxMCS2x2, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_VHT_ENABLE_RX_MCS2x2_8_9_DEFAULT, |
| CFG_VHT_ENABLE_RX_MCS2x2_8_9_MIN, |
| CFG_VHT_ENABLE_RX_MCS2x2_8_9_MAX), |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS2x2_8_9, WLAN_PARAM_Integer, |
| hdd_config_t, vhtTxMCS2x2, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_VHT_ENABLE_TX_MCS2x2_8_9_DEFAULT, |
| CFG_VHT_ENABLE_TX_MCS2x2_8_9_MIN, |
| CFG_VHT_ENABLE_TX_MCS2x2_8_9_MAX), |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_2x2_CAP_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, enable2x2, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VHT_ENABLE_2x2_CAP_FEATURE_DEFAULT, |
| CFG_VHT_ENABLE_2x2_CAP_FEATURE_MIN, |
| CFG_VHT_ENABLE_2x2_CAP_FEATURE_MAX ), |
| |
| REG_VARIABLE(CFG_ENABLE_VHT_DYNAMIC_STA_CHAINMASK, WLAN_PARAM_Integer, |
| hdd_config_t, enable_dynamic_sta_chainmask, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_VHT_DYNAMIC_STA_CHAINMASK_DEFAULT, |
| CFG_ENABLE_VHT_DYNAMIC_STA_CHAINMASK_MIN, |
| CFG_ENABLE_VHT_DYNAMIC_STA_CHAINMASK_MAX), |
| |
| REG_VARIABLE( CFG_RX_CHAIN_MASK_2G, WLAN_PARAM_Integer, |
| hdd_config_t, chain_mask_2g_rx, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RX_CHAIN_MASK_2G_DEFAULT, |
| CFG_RX_CHAIN_MASK_2G_MIN, |
| CFG_RX_CHAIN_MASK_2G_MAX ), |
| |
| REG_VARIABLE( CFG_RX_CHAIN_MASK_5G, WLAN_PARAM_Integer, |
| hdd_config_t, chain_mask_5g_rx, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RX_CHAIN_MASK_5G_DEFAULT, |
| CFG_RX_CHAIN_MASK_5G_MIN, |
| CFG_RX_CHAIN_MASK_5G_MAX ), |
| |
| REG_VARIABLE( CFG_TX_CHAIN_MASK_2G, WLAN_PARAM_Integer, |
| hdd_config_t, chain_mask_2g_tx, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TX_CHAIN_MASK_2G_DEFAULT, |
| CFG_TX_CHAIN_MASK_2G_MIN, |
| CFG_TX_CHAIN_MASK_2G_MAX ), |
| |
| REG_VARIABLE( CFG_TX_CHAIN_MASK_5G, WLAN_PARAM_Integer, |
| hdd_config_t, chain_mask_5g_tx, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TX_CHAIN_MASK_5G_DEFAULT, |
| CFG_TX_CHAIN_MASK_5G_MIN, |
| CFG_TX_CHAIN_MASK_5G_MAX ), |
| |
| REG_VARIABLE( CFG_VDEV_TYPE_NSS_2G, WLAN_PARAM_Integer, |
| hdd_config_t, vdev_type_nss_2g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VDEV_TYPE_NSS_2G_DEFAULT, |
| CFG_VDEV_TYPE_NSS_2G_MIN, |
| CFG_VDEV_TYPE_NSS_2G_MAX ), |
| |
| REG_VARIABLE( CFG_VDEV_TYPE_NSS_5G, WLAN_PARAM_Integer, |
| hdd_config_t, vdev_type_nss_5g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VDEV_TYPE_NSS_5G_DEFAULT, |
| CFG_VDEV_TYPE_NSS_5G_MIN, |
| CFG_VDEV_TYPE_NSS_5G_MAX ), |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, enableMuBformee, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_DEFAULT, |
| CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MIN, |
| CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MAX ), |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_PAID_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, enableVhtpAid, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VHT_ENABLE_PAID_FEATURE_DEFAULT, |
| CFG_VHT_ENABLE_PAID_FEATURE_MIN, |
| CFG_VHT_ENABLE_PAID_FEATURE_MAX ), |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_GID_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, enableVhtGid, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VHT_ENABLE_GID_FEATURE_DEFAULT, |
| CFG_VHT_ENABLE_GID_FEATURE_MIN, |
| CFG_VHT_ENABLE_GID_FEATURE_MAX ), |
| #endif |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_1x1_TX_CHAINMASK, WLAN_PARAM_Integer, |
| hdd_config_t, txchainmask1x1, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VHT_ENABLE_1x1_TX_CHAINMASK_DEFAULT, |
| CFG_VHT_ENABLE_1x1_TX_CHAINMASK_MIN, |
| CFG_VHT_ENABLE_1x1_TX_CHAINMASK_MAX ), |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_1x1_RX_CHAINMASK, WLAN_PARAM_Integer, |
| hdd_config_t, rxchainmask1x1, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VHT_ENABLE_1x1_RX_CHAINMASK_DEFAULT, |
| CFG_VHT_ENABLE_1x1_RX_CHAINMASK_MIN, |
| CFG_VHT_ENABLE_1x1_RX_CHAINMASK_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_AMPDUPS_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, enableAmpduPs, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_AMPDUPS_FEATURE_DEFAULT, |
| CFG_ENABLE_AMPDUPS_FEATURE_MIN, |
| CFG_ENABLE_AMPDUPS_FEATURE_MAX ), |
| |
| REG_VARIABLE( CFG_HT_ENABLE_SMPS_CAP_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, enableHtSmps, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_HT_ENABLE_SMPS_CAP_FEATURE_DEFAULT, |
| CFG_HT_ENABLE_SMPS_CAP_FEATURE_MIN, |
| CFG_HT_ENABLE_SMPS_CAP_FEATURE_MAX ), |
| |
| REG_VARIABLE( CFG_HT_SMPS_CAP_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, htSmps, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_HT_SMPS_CAP_FEATURE_DEFAULT, |
| CFG_HT_SMPS_CAP_FEATURE_MIN, |
| CFG_HT_SMPS_CAP_FEATURE_MAX ), |
| |
| REG_VARIABLE( CFG_DISABLE_DFS_CH_SWITCH, WLAN_PARAM_Integer, |
| hdd_config_t, disableDFSChSwitch, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DISABLE_DFS_CH_SWITCH_DEFAULT, |
| CFG_DISABLE_DFS_CH_SWITCH_MIN, |
| CFG_DISABLE_DFS_CH_SWITCH_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_RADAR_WAR, WLAN_PARAM_Integer, |
| hdd_config_t, enable_radar_war, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_RADAR_WAR_DEFAULT, |
| CFG_ENABLE_RADAR_WAR_MIN, |
| CFG_ENABLE_RADAR_WAR_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_DFS_MASTER_CAPABILITY, WLAN_PARAM_Integer, |
| hdd_config_t, enableDFSMasterCap, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_DFS_MASTER_CAPABILITY_DEFAULT, |
| CFG_ENABLE_DFS_MASTER_CAPABILITY_MIN, |
| CFG_ENABLE_DFS_MASTER_CAPABILITY_MAX ), |
| |
| REG_DYNAMIC_VARIABLE( CFG_SAP_PREFERRED_CHANNEL_LOCATION, WLAN_PARAM_Integer, |
| hdd_config_t, gSapPreferredChanLocation, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_PREFERRED_CHANNEL_LOCATION_DEFAULT, |
| CFG_SAP_PREFERRED_CHANNEL_LOCATION_MIN, |
| CFG_SAP_PREFERRED_CHANNEL_LOCATION_MAX, |
| cbNotify_set_gSapPreferredChanLocation, 0), |
| |
| REG_DYNAMIC_VARIABLE( CFG_DISABLE_DFS_JAPAN_W53, WLAN_PARAM_Integer, |
| hdd_config_t, gDisableDfsJapanW53, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DISABLE_DFS_JAPAN_W53_DEFAULT, |
| CFG_DISABLE_DFS_JAPAN_W53_MIN, |
| CFG_DISABLE_DFS_JAPAN_W53_MAX, |
| chNotify_set_gDisableDfsJapanW53, 0), |
| |
| REG_VARIABLE(CFG_SET_RTS_FOR_SIFS_BURSTING, WLAN_PARAM_Integer, |
| hdd_config_t, enable_rts_sifsbursting, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SET_RTS_FOR_SIFS_BURSTING_DEFAULT, |
| CFG_SET_RTS_FOR_SIFS_BURSTING_MIN, |
| CFG_SET_RTS_FOR_SIFS_BURSTING_MAX), |
| |
| REG_VARIABLE(CFG_MAX_MPDUS_IN_AMPDU, WLAN_PARAM_Integer, |
| hdd_config_t, max_mpdus_inampdu, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MAX_MPDUS_IN_AMPDU_DEFAULT, |
| CFG_MAX_MPDUS_IN_AMPDU_MIN, |
| CFG_MAX_MPDUS_IN_AMPDU_MAX), |
| |
| REG_VARIABLE(CFG_MAX_HT_MCS_FOR_TX_DATA, WLAN_PARAM_HexInteger, |
| hdd_config_t, max_ht_mcs_txdata, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MAX_HT_MCS_FOR_TX_DATA_DEFAULT, |
| CFG_MAX_HT_MCS_FOR_TX_DATA_MIN, |
| CFG_MAX_HT_MCS_FOR_TX_DATA_MAX), |
| |
| REG_VARIABLE(CFG_SAP_GET_PEER_INFO, WLAN_PARAM_Integer, |
| hdd_config_t, sap_get_peer_info, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_GET_PEER_INFO_DEFAULT, |
| CFG_SAP_GET_PEER_INFO_MIN, |
| CFG_SAP_GET_PEER_INFO_MAX), |
| |
| REG_VARIABLE(CFG_DISABLE_ABG_RATE_FOR_TX_DATA, WLAN_PARAM_Integer, |
| hdd_config_t, disable_abg_rate_txdata, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DISABLE_ABG_RATE_FOR_TX_DATA_DEFAULT, |
| CFG_DISABLE_ABG_RATE_FOR_TX_DATA_MIN, |
| CFG_DISABLE_ABG_RATE_FOR_TX_DATA_MAX), |
| |
| REG_VARIABLE(CFG_RATE_FOR_TX_MGMT, WLAN_PARAM_HexInteger, |
| hdd_config_t, rate_for_tx_mgmt, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RATE_FOR_TX_MGMT_DEFAULT, |
| CFG_RATE_FOR_TX_MGMT_MIN, |
| CFG_RATE_FOR_TX_MGMT_MAX), |
| |
| REG_VARIABLE(CFG_RATE_FOR_TX_MGMT_2G, WLAN_PARAM_HexInteger, |
| hdd_config_t, rate_for_tx_mgmt_2g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RATE_FOR_TX_MGMT_2G_DEFAULT, |
| CFG_RATE_FOR_TX_MGMT_2G_MIN, |
| CFG_RATE_FOR_TX_MGMT_2G_MAX), |
| |
| REG_VARIABLE(CFG_RATE_FOR_TX_MGMT_5G, WLAN_PARAM_HexInteger, |
| hdd_config_t, rate_for_tx_mgmt_5g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RATE_FOR_TX_MGMT_5G_DEFAULT, |
| CFG_RATE_FOR_TX_MGMT_5G_MIN, |
| CFG_RATE_FOR_TX_MGMT_5G_MAX), |
| |
| REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableFirstScan2GOnly, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT, |
| CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN, |
| CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, skipDfsChnlInP2pSearch, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT, |
| CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN, |
| CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ), |
| |
| REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ignoreDynamicDtimInP2pMode, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT, |
| CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN, |
| CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ), |
| |
| REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t,numBuffAdvert , |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_NUM_BUFF_ADVERT_DEFAULT, |
| CFG_NUM_BUFF_ADVERT_MIN, |
| CFG_NUM_BUFF_ADVERT_MAX ), |
| |
| REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, configMccParam, |
| VAR_FLAGS_OPTIONAL, |
| CFG_MCC_CONFIG_PARAM_DEFAULT, |
| CFG_MCC_CONFIG_PARAM_MIN, |
| CFG_MCC_CONFIG_PARAM_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer, |
| hdd_config_t, enableRxSTBC, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_RX_STBC_DEFAULT, |
| CFG_ENABLE_RX_STBC_MIN, |
| CFG_ENABLE_RX_STBC_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_TX_STBC, WLAN_PARAM_Integer, |
| hdd_config_t, enableTxSTBC, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_TX_STBC_DEFAULT, |
| CFG_ENABLE_TX_STBC_MIN, |
| CFG_ENABLE_TX_STBC_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_RX_LDPC, WLAN_PARAM_Integer, |
| hdd_config_t, enableRxLDPC, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_RX_LDPC_DEFAULT, |
| CFG_ENABLE_RX_LDPC_MIN, |
| CFG_ENABLE_RX_LDPC_MAX ), |
| |
| REG_VARIABLE( CFG_PPS_ENABLE_5G_EBT, WLAN_PARAM_Integer, |
| hdd_config_t, enable5gEBT, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PPS_ENABLE_5G_EBT_FEATURE_DEFAULT, |
| CFG_PPS_ENABLE_5G_EBT_FEATURE_MIN, |
| CFG_PPS_ENABLE_5G_EBT_FEATURE_MAX ), |
| |
| #ifdef FEATURE_WLAN_TDLS |
| REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableTDLSSupport, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_SUPPORT_ENABLE_DEFAULT, |
| CFG_TDLS_SUPPORT_ENABLE_MIN, |
| CFG_TDLS_SUPPORT_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableTDLSImplicitTrigger, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT, |
| CFG_TDLS_IMPLICIT_TRIGGER_MIN, |
| CFG_TDLS_IMPLICIT_TRIGGER_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSTxStatsPeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_TX_STATS_PERIOD_DEFAULT, |
| CFG_TDLS_TX_STATS_PERIOD_MIN, |
| CFG_TDLS_TX_STATS_PERIOD_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSTxPacketThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT, |
| CFG_TDLS_TX_PACKET_THRESHOLD_MIN, |
| CFG_TDLS_TX_PACKET_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSDiscoveryPeriod, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_DISCOVERY_PERIOD_DEFAULT, |
| CFG_TDLS_DISCOVERY_PERIOD_MIN, |
| CFG_TDLS_DISCOVERY_PERIOD_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSMaxDiscoveryAttempt, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT, |
| CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN, |
| CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSIdleTimeout, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_IDLE_TIMEOUT_DEFAULT, |
| CFG_TDLS_IDLE_TIMEOUT_MIN, |
| CFG_TDLS_IDLE_TIMEOUT_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSIdlePacketThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT, |
| CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN, |
| CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSRSSIHysteresis, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_RSSI_HYSTERESIS_DEFAULT, |
| CFG_TDLS_RSSI_HYSTERESIS_MIN, |
| CFG_TDLS_RSSI_HYSTERESIS_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger, |
| hdd_config_t, fTDLSRSSITriggerThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT, |
| CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN, |
| CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger, |
| hdd_config_t, fTDLSRSSITeardownThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT, |
| CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN, |
| CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_RSSI_DELTA, WLAN_PARAM_SignedInteger, |
| hdd_config_t, fTDLSRSSIDelta, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_RSSI_DELTA_DEFAULT, |
| CFG_TDLS_RSSI_DELTA_MIN, |
| CFG_TDLS_RSSI_DELTA_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger, |
| hdd_config_t, fTDLSUapsdMask, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT, |
| CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN, |
| CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableTDLSBufferSta, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT, |
| CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN, |
| CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableTDLSOffChannel, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_DEFAULT, |
| CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MIN, |
| CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSPrefOffChanNum, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_DEFAULT, |
| CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_MIN, |
| CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_PREFERRED_OFF_CHANNEL_BW, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSPrefOffChanBandwidth, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_DEFAULT, |
| CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MIN, |
| CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSPuapsdInactivityTimer, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT, |
| CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN, |
| CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSRxFrameThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT, |
| CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN, |
| CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSPuapsdPTIWindow, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_DEFAULT, |
| CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_MIN, |
| CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSPuapsdPTRTimeout, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_DEFAULT, |
| CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_MIN, |
| CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_EXTERNAL_CONTROL, WLAN_PARAM_Integer, |
| hdd_config_t, fTDLSExternalControl, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_EXTERNAL_CONTROL_DEFAULT, |
| CFG_TDLS_EXTERNAL_CONTROL_MIN, |
| CFG_TDLS_EXTERNAL_CONTROL_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_WMM_MODE_ENABLE, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableTDLSWmmMode, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_WMM_MODE_ENABLE_DEFAULT, |
| CFG_TDLS_WMM_MODE_ENABLE_MIN, |
| CFG_TDLS_WMM_MODE_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_SCAN_ENABLE, WLAN_PARAM_Integer, |
| hdd_config_t, enable_tdls_scan, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_SCAN_ENABLE_DEFAULT, |
| CFG_TDLS_SCAN_ENABLE_MIN, |
| CFG_TDLS_SCAN_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_TDLS_PEER_KICKOUT_THRESHOLD, WLAN_PARAM_Integer, |
| hdd_config_t, tdls_peer_kickout_threshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_PEER_KICKOUT_THRESHOLD_DEFAULT, |
| CFG_TDLS_PEER_KICKOUT_THRESHOLD_MIN, |
| CFG_TDLS_PEER_KICKOUT_THRESHOLD_MAX ), |
| |
| #endif |
| |
| #ifdef WLAN_SOFTAP_VSTA_FEATURE |
| REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableVSTASupport, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VSTA_SUPPORT_ENABLE_DEFAULT, |
| CFG_VSTA_SUPPORT_ENABLE_MIN, |
| CFG_VSTA_SUPPORT_ENABLE_MAX ), |
| #endif |
| REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableLpwrImgTransition, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT, |
| CFG_ENABLE_LPWR_IMG_TRANSITION_MIN, |
| CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ), |
| |
| #ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE |
| REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableActiveModeOffload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT, |
| CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN, |
| CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ), |
| #endif |
| REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableLpwrImgTransition, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT, |
| CFG_ENABLE_LPWR_IMG_TRANSITION_MIN, |
| CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ), |
| |
| |
| REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, scanAgingTimeout, |
| VAR_FLAGS_OPTIONAL, |
| CFG_SCAN_AGING_PARAM_DEFAULT, |
| CFG_SCAN_AGING_PARAM_MIN, |
| CFG_SCAN_AGING_PARAM_MAX ), |
| |
| REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, enableTxLdpc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT, |
| CFG_TX_LDPC_ENABLE_FEATURE_MIN, |
| CFG_TX_LDPC_ENABLE_FEATURE_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableMCCAdaptiveScheduler, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT, |
| CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN, |
| CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ), |
| |
| REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, isAndroidPsEn, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ANDRIOD_POWER_SAVE_DEFAULT, |
| CFG_ANDRIOD_POWER_SAVE_MIN, |
| CFG_ANDRIOD_POWER_SAVE_MAX), |
| |
| REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, AdHocChannel5G, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT, |
| CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN, |
| CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX), |
| |
| REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, AdHocChannel24G, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT, |
| CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN, |
| CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX), |
| |
| #ifdef WLAN_FEATURE_11AC |
| REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, enableTxBF, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT, |
| CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN, |
| CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ), |
| |
| REG_VARIABLE( CFG_VHT_ENABLE_TXBF_IN_20MHZ, WLAN_PARAM_Integer, |
| hdd_config_t, enableTxBFin20MHz, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VHT_ENABLE_TXBF_IN_20MHZ_DEFAULT, |
| CFG_VHT_ENABLE_TXBF_IN_20MHZ_MIN, |
| CFG_VHT_ENABLE_TXBF_IN_20MHZ_MAX ), |
| |
| REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer, |
| hdd_config_t, txBFCsnValue, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT, |
| CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN, |
| CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ), |
| #endif |
| |
| REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sapAllowAllChannel, |
| VAR_FLAGS_OPTIONAL, |
| CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT, |
| CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN, |
| CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ), |
| |
| #ifdef WLAN_FEATURE_11AC |
| REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer, |
| hdd_config_t, disableLDPCWithTxbfAP, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT, |
| CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN, |
| CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ), |
| #endif |
| |
| REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String, |
| hdd_config_t, listOfNonDfsCountryCode, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT), |
| |
| REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer, |
| hdd_config_t, enableSSR, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_SSR_DEFAULT, |
| CFG_ENABLE_SSR_MIN, |
| CFG_ENABLE_SSR_MAX, |
| cbNotifySetEnableSSR, 0 ), |
| |
| REG_VARIABLE( CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer, |
| hdd_config_t, cfgMaxMediumTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MAX_MEDIUM_TIME_STADEFAULT, |
| CFG_MAX_MEDIUM_TIME_STAMIN, |
| CFG_MAX_MEDIUM_TIME_STAMAX ), |
| |
| #ifdef WLAN_FEATURE_11AC |
| REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableVhtFor24GHzBand, |
| VAR_FLAGS_OPTIONAL, |
| CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT, |
| CFG_ENABLE_VHT_FOR_24GHZ_MIN, |
| CFG_ENABLE_VHT_FOR_24GHZ_MAX), |
| |
| REG_VARIABLE( CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enable_vendor_vht_for_24ghz_band, |
| VAR_FLAGS_OPTIONAL, |
| CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_DEFAULT, |
| CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_MIN, |
| CFG_ENABLE_VENDOR_VHT_FOR_24GHZ_MAX), |
| #endif |
| |
| #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD |
| REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer, |
| hdd_config_t, bFastRoamInConIniFeatureEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT, |
| CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN, |
| CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX, |
| cbNotifySetEnableFastRoamInConcurrency, 0 ), |
| #endif |
| |
| REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableAdaptRxDrain, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK , |
| CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT, |
| CFG_ENABLE_ADAPT_RX_DRAIN_MIN, |
| CFG_ENABLE_ADAPT_RX_DRAIN_MAX), |
| |
| REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, flexConnectPowerFactor, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX, |
| CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT, |
| CFG_FLEX_CONNECT_POWER_FACTOR_MIN, |
| CFG_FLEX_CONNECT_POWER_FACTOR_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer, |
| hdd_config_t, enableIbssHeartBeatOffload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT, |
| CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN, |
| CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX), |
| |
| REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, antennaDiversity, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT, |
| CFG_ANTENNA_DIVERSITY_PARAM_MIN, |
| CFG_ANTENNA_DIVERSITY_PARAM_MAX), |
| |
| REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fEnableSNRMonitoring, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK , |
| CFG_ENABLE_SNR_MONITORING_DEFAULT, |
| CFG_ENABLE_SNR_MONITORING_MIN, |
| CFG_ENABLE_SNR_MONITORING_MAX), |
| |
| #ifdef FEATURE_WLAN_SCAN_PNO |
| REG_VARIABLE( CFG_PNO_SCAN_SUPPORT, WLAN_PARAM_Integer, |
| hdd_config_t, configPNOScanSupport, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PNO_SCAN_SUPPORT_DEFAULT, |
| CFG_PNO_SCAN_SUPPORT_DISABLE, |
| CFG_PNO_SCAN_SUPPORT_ENABLE), |
| |
| REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer, |
| hdd_config_t, configPNOScanTimerRepeatValue, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT, |
| CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN, |
| CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX), |
| |
| REG_VARIABLE( CFG_PNO_SLOW_SCAN_MULTIPLIER, WLAN_PARAM_Integer, |
| hdd_config_t, pno_slow_scan_multiplier, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PNO_SLOW_SCAN_MULTIPLIER_DEFAULT, |
| CFG_PNO_SLOW_SCAN_MULTIPLIER_MIN, |
| CFG_PNO_SLOW_SCAN_MULTIPLIER_MAX), |
| #endif |
| REG_VARIABLE(CFG_MAX_AMSDU_NUM_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, max_amsdu_num, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MAX_AMSDU_NUM_DEFAULT, |
| CFG_MAX_AMSDU_NUM_MIN, |
| CFG_MAX_AMSDU_NUM_MAX), |
| |
| REG_VARIABLE( CFG_STRICT_5GHZ_PREF_BY_MARGIN , WLAN_PARAM_Integer, |
| hdd_config_t, nSelect5GHzMargin, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT, |
| CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN, |
| CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_TCP_CHKSUM_OFFLOAD, WLAN_PARAM_Integer, |
| hdd_config_t, enableTCPChkSumOffld, |
| VAR_FLAGS_OPTIONAL, |
| CFG_ENABLE_TCP_CHKSUM_OFFLOAD_DEFAULT, |
| CFG_ENABLE_TCP_CHKSUM_OFFLOAD_MIN, |
| CFG_ENABLE_TCP_CHKSUM_OFFLOAD_MAX), |
| |
| REG_VARIABLE( CFG_ENABLE_IP_CHKSUM_OFFLOAD, WLAN_PARAM_Integer, |
| hdd_config_t, enableIPChecksumOffload, |
| VAR_FLAGS_OPTIONAL, |
| CFG_ENABLE_IP_CHKSUM_OFFLOAD_DEFAULT, |
| CFG_ENABLE_IP_CHKSUM_OFFLOAD_DISABLE, |
| CFG_ENABLE_IP_CHKSUM_OFFLOAD_ENABLE ), |
| |
| REG_VARIABLE( CFG_POWERSAVE_OFFLOAD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enablePowersaveOffload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_POWERSAVE_OFFLOAD_DEFAULT, |
| CFG_POWERSAVE_OFFLOAD_MIN, |
| CFG_POWERSAVE_OFFLOAD_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_FW_UART_PRINT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enablefwprint, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_FW_UART_PRINT_DEFAULT, |
| CFG_ENABLE_FW_UART_PRINT_DISABLE, |
| CFG_ENABLE_FW_UART_PRINT_ENABLE), |
| |
| REG_VARIABLE( CFG_ENABLE_FW_LOG_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enablefwlog, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_FW_LOG_DEFAULT, |
| CFG_ENABLE_FW_LOG_DISABLE, |
| CFG_ENABLE_FW_LOG_ENABLE), |
| |
| REG_VARIABLE( CFG_ENABLE_FW_SELF_RECOVERY_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableFwSelfRecovery, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_FW_SELF_RECOVERY_DEFAULT, |
| CFG_ENABLE_FW_SELF_RECOVERY_DISABLE, |
| CFG_ENABLE_FW_SELF_RECOVERY_ENABLE), |
| |
| #ifdef IPA_OFFLOAD |
| REG_VARIABLE( CFG_IPA_OFFLOAD_CONFIG_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, IpaConfig, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IPA_OFFLOAD_CONFIG_DEFAULT, |
| CFG_IPA_OFFLOAD_CONFIG_MIN, |
| CFG_IPA_OFFLOAD_CONFIG_MAX), |
| |
| REG_VARIABLE( CFG_IPA_DESC_SIZE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, IpaDescSize, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IPA_DESC_SIZE_DEFAULT, |
| CFG_IPA_DESC_SIZE_MIN, |
| CFG_IPA_DESC_SIZE_MAX ), |
| |
| REG_VARIABLE( CFG_IPA_HIGH_BANDWIDTH_MBPS, WLAN_PARAM_Integer, |
| hdd_config_t, IpaHighBandwidthMbps, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IPA_HIGH_BANDWIDTH_MBPS_DEFAULT, |
| CFG_IPA_HIGH_BANDWIDTH_MBPS_MIN, |
| CFG_IPA_HIGH_BANDWIDTH_MBPS_MAX), |
| |
| REG_VARIABLE( CFG_IPA_MEDIUM_BANDWIDTH_MBPS, WLAN_PARAM_Integer, |
| hdd_config_t, IpaMediumBandwidthMbps, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IPA_MEDIUM_BANDWIDTH_MBPS_DEFAULT, |
| CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MIN, |
| CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MAX), |
| |
| REG_VARIABLE( CFG_IPA_LOW_BANDWIDTH_MBPS, WLAN_PARAM_Integer, |
| hdd_config_t, IpaLowBandwidthMbps, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IPA_LOW_BANDWIDTH_MBPS_DEFAULT, |
| CFG_IPA_LOW_BANDWIDTH_MBPS_MIN, |
| CFG_IPA_LOW_BANDWIDTH_MBPS_MAX), |
| #endif |
| REG_VARIABLE( CFG_P2P_LISTEN_OFFLOAD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fP2pListenOffload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_P2P_LISTEN_OFFLOAD_DEFAULT, |
| CFG_P2P_LISTEN_OFFLOAD_DISABLE, |
| CFG_P2P_LISTEN_OFFLOAD_ENABLE ), |
| |
| #ifdef WLAN_FEATURE_11AC |
| REG_VARIABLE( CFG_VHT_AMPDU_LEN_EXPONENT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fVhtAmpduLenExponent, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK , |
| CFG_VHT_AMPDU_LEN_EXPONENT_DEFAULT, |
| CFG_VHT_AMPDU_LEN_EXPONENT_MIN, |
| CFG_VHT_AMPDU_LEN_EXPONENT_MAX), |
| |
| REG_VARIABLE( CFG_VHT_MPDU_LEN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, vhtMpduLen, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK , |
| CFG_VHT_MPDU_LEN_DEFAULT, |
| CFG_VHT_MPDU_LEN_MIN, |
| CFG_VHT_MPDU_LEN_MAX), |
| #endif |
| |
| REG_VARIABLE( CFG_MAX_WOW_FILTERS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, maxWoWFilters, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK , |
| CFG_MAX_WOW_FILTERS_DEFAULT, |
| CFG_MAX_WOW_FILTERS_MIN, |
| CFG_MAX_WOW_FILTERS_MAX), |
| |
| REG_VARIABLE( CFG_WOW_STATUS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, wowEnable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WOW_STATUS_DEFAULT, |
| CFG_WOW_ENABLE_MIN, |
| CFG_WOW_ENABLE_MAX), |
| |
| REG_VARIABLE( CFG_COALESING_IN_IBSS_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, isCoalesingInIBSSAllowed, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_COALESING_IN_IBSS_DEFAULT, |
| CFG_COALESING_IN_IBSS_MIN, |
| CFG_COALESING_IN_IBSS_MAX ), |
| |
| REG_VARIABLE( CFG_IBSS_ATIM_WIN_SIZE_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, ibssATIMWinSize, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IBSS_ATIM_WIN_SIZE_DEFAULT, |
| CFG_IBSS_ATIM_WIN_SIZE_MIN, |
| CFG_IBSS_ATIM_WIN_SIZE_MAX ), |
| |
| REG_VARIABLE( CFG_SAP_MAX_NO_PEERS, WLAN_PARAM_Integer, |
| hdd_config_t, max_sap_peers, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_MAX_NO_PEERS_DEFAULT, |
| CFG_SAP_MAX_NO_PEERS_MIN, |
| CFG_SAP_MAX_NO_PEERS_MAX), |
| |
| REG_VARIABLE( CFG_GO_MAX_NO_PEERS, WLAN_PARAM_Integer, |
| hdd_config_t, max_go_peers, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_GO_MAX_NO_PEERS_DEFAULT, |
| CFG_GO_MAX_NO_PEERS_MIN, |
| CFG_GO_MAX_NO_PEERS_MAX), |
| |
| REG_VARIABLE( CFG_IBSS_IS_POWER_SAVE_ALLOWED_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, isIbssPowerSaveAllowed, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IBSS_IS_POWER_SAVE_ALLOWED_DEFAULT, |
| CFG_IBSS_IS_POWER_SAVE_ALLOWED_MIN, |
| CFG_IBSS_IS_POWER_SAVE_ALLOWED_MAX ), |
| |
| REG_VARIABLE( CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, isIbssPowerCollapseAllowed, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_DEFAULT, |
| CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MIN, |
| CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MAX ), |
| |
| REG_VARIABLE( CFG_IBSS_AWAKE_ON_TX_RX_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, isIbssAwakeOnTxRx, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IBSS_AWAKE_ON_TX_RX_DEFAULT, |
| CFG_IBSS_AWAKE_ON_TX_RX_MIN, |
| CFG_IBSS_AWAKE_ON_TX_RX_MAX ), |
| |
| REG_VARIABLE( CFG_IBSS_INACTIVITY_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ibssInactivityCount, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IBSS_INACTIVITY_TIME_DEFAULT, |
| CFG_IBSS_INACTIVITY_TIME_MIN, |
| CFG_IBSS_INACTIVITY_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_IBSS_TXSP_END_INACTIVITY_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ibssTxSpEndInactivityTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IBSS_TXSP_END_INACTIVITY_DEFAULT, |
| CFG_IBSS_TXSP_END_INACTIVITY_MIN, |
| CFG_IBSS_TXSP_END_INACTIVITY_MAX ), |
| |
| REG_VARIABLE( CFG_IBSS_PS_WARMUP_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ibssPsWarmupTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IBSS_PS_WARMUP_TIME_DEFAULT, |
| CFG_IBSS_PS_WARMUP_TIME_MIN, |
| CFG_IBSS_PS_WARMUP_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ibssPs1RxChainInAtimEnable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_DEFAULT, |
| CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MIN, |
| CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MAX ), |
| |
| #if defined(CONFIG_HL_SUPPORT) && defined(QCA_BAD_PEER_TX_FLOW_CL) |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_ENABLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_txctl_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_ENABLE_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_ENABLE_MIN, |
| CFG_BAD_PEER_TX_CTL_ENABLE_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_PERIOD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_txctl_prd, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_PERIOD_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_PERIOD_MIN, |
| CFG_BAD_PEER_TX_CTL_PERIOD_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_txctl_txq_lmt, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_MIN, |
| CFG_BAD_PEER_TX_CTL_TXQ_LIMIT_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_tgt_backoff, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_MIN, |
| CFG_BAD_PEER_TX_CTL_TGT_BACKOFF_T_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_tgt_report_prd, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_MIN, |
| CFG_BAD_PEER_TX_CTL_TGT_REPORT_PRD_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_cond_ieee80211b, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_MIN, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEB_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_delta_ieee80211b, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_MIN, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEB_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_pct_ieee80211b, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_MIN, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_MAX, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEB_DEFAULT ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_tput_ieee80211b, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_MIN, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEB_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_limit_ieee80211b, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_MIN, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEB_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_cond_ieee80211ag, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_MIN, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAG_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_delta_ieee80211ag, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_MIN, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAG_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_pct_ieee80211ag, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_MIN, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAG_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_tput_ieee80211ag, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_MIN, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAG_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_limit_ieee80211ag, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_MIN, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAG_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_cond_ieee80211n, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_MIN, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEN_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_delta_ieee80211n, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_MIN, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEN_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_pct_ieee80211n, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_MIN, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEN_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_tput_ieee80211n, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_MIN, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEN_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_limit_ieee80211n, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_MIN, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEN_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_cond_ieee80211ac, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_MIN, |
| CFG_BAD_PEER_TX_CTL_COND_LEVEL_IEEEAC_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_delta_ieee80211ac, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_MIN, |
| CFG_BAD_PEER_TX_CTL_DELTA_LEVEL_IEEEAC_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_pct_ieee80211ac, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_MIN, |
| CFG_BAD_PEER_TX_CTL_PCT_LEVEL_IEEEAC_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_tput_ieee80211ac, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_MIN, |
| CFG_BAD_PEER_TX_CTL_TPUT_LEVEL_IEEEAC_MAX ), |
| |
| REG_VARIABLE( CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bad_peer_limit_ieee80211ac, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_DEFAULT, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_MIN, |
| CFG_BAD_PEER_TX_CTL_TX_LIMIT_LEVEL_IEEEAC_MAX ), |
| #endif |
| REG_VARIABLE( CFG_THERMAL_TEMP_MIN_LEVEL0_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermalTempMinLevel0, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_TEMP_MIN_LEVEL0_DEFAULT, |
| CFG_THERMAL_TEMP_MIN_LEVEL0_MIN, |
| CFG_THERMAL_TEMP_MIN_LEVEL0_MAX ), |
| |
| REG_VARIABLE( CFG_THERMAL_TEMP_MAX_LEVEL0_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermalTempMaxLevel0, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_TEMP_MAX_LEVEL0_DEFAULT, |
| CFG_THERMAL_TEMP_MAX_LEVEL0_MIN, |
| CFG_THERMAL_TEMP_MAX_LEVEL0_MAX ), |
| |
| REG_VARIABLE( CFG_THERMAL_TEMP_MIN_LEVEL1_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermalTempMinLevel1, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_TEMP_MIN_LEVEL1_DEFAULT, |
| CFG_THERMAL_TEMP_MIN_LEVEL1_MIN, |
| CFG_THERMAL_TEMP_MIN_LEVEL1_MAX ), |
| |
| REG_VARIABLE( CFG_THERMAL_TEMP_MAX_LEVEL1_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermalTempMaxLevel1, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_TEMP_MAX_LEVEL1_DEFAULT, |
| CFG_THERMAL_TEMP_MAX_LEVEL1_MIN, |
| CFG_THERMAL_TEMP_MAX_LEVEL1_MAX ), |
| |
| REG_VARIABLE( CFG_THERMAL_TEMP_MIN_LEVEL2_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermalTempMinLevel2, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_TEMP_MIN_LEVEL2_DEFAULT, |
| CFG_THERMAL_TEMP_MIN_LEVEL2_MIN, |
| CFG_THERMAL_TEMP_MIN_LEVEL2_MAX ), |
| |
| REG_VARIABLE( CFG_THERMAL_TEMP_MAX_LEVEL2_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermalTempMaxLevel2, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_TEMP_MAX_LEVEL2_DEFAULT, |
| CFG_THERMAL_TEMP_MAX_LEVEL2_MIN, |
| CFG_THERMAL_TEMP_MAX_LEVEL2_MAX ), |
| |
| REG_VARIABLE( CFG_THERMAL_TEMP_MIN_LEVEL3_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermalTempMinLevel3, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_TEMP_MIN_LEVEL3_DEFAULT, |
| CFG_THERMAL_TEMP_MIN_LEVEL3_MIN, |
| CFG_THERMAL_TEMP_MIN_LEVEL3_MAX ), |
| |
| REG_VARIABLE( CFG_THERMAL_TEMP_MAX_LEVEL3_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermalTempMaxLevel3, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_TEMP_MAX_LEVEL3_DEFAULT, |
| CFG_THERMAL_TEMP_MAX_LEVEL3_MIN, |
| CFG_THERMAL_TEMP_MAX_LEVEL3_MAX ), |
| |
| #ifdef FEATURE_WLAN_THERMAL_SHUTDOWN |
| REG_VARIABLE( CFG_THERMAL_SHUTDOWN_ENABLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermal_shutdown_enabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_SHUTDOWN_ENABLE_DEFAULT, |
| CFG_THERMAL_SHUTDOWN_ENABLE_MIN, |
| CFG_THERMAL_SHUTDOWN_ENABLE_MAX), |
| |
| REG_VARIABLE( CFG_THERMAL_SHUTDOWN_AUTO_ENABLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermal_shutdown_auto_enabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_SHUTDOWN_AUTO_ENABLE_DEFAULT, |
| CFG_THERMAL_SHUTDOWN_AUTO_ENABLE_MIN, |
| CFG_THERMAL_SHUTDOWN_AUTO_ENABLE_MAX), |
| |
| REG_VARIABLE( CFG_THERMAL_SHUTDOWN_TEMP_RESUME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermal_resume_threshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_SHUTDOWN_TEMP_RESUME_DEFAULT, |
| CFG_THERMAL_SHUTDOWN_TEMP_RESUME_MIN, |
| CFG_THERMAL_SHUTDOWN_TEMP_RESUME_MAX), |
| |
| REG_VARIABLE( CFG_THERMAL_SHUTDOWN_TEMP_WARNING_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermal_warning_threshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_SHUTDOWN_TEMP_WARNING_DEFAULT, |
| CFG_THERMAL_SHUTDOWN_TEMP_WARNING_MIN, |
| CFG_THERMAL_SHUTDOWN_TEMP_WARNING_MAX), |
| |
| REG_VARIABLE( CFG_THERMAL_SHUTDOWN_TEMP_SUSPEND_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermal_suspend_threshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_SHUTDOWN_TEMP_SUSPEND_DEFAULT, |
| CFG_THERMAL_SHUTDOWN_TEMP_SUSPEND_MIN, |
| CFG_THERMAL_SHUTDOWN_TEMP_SUSPEND_MAX), |
| |
| REG_VARIABLE( CFG_THERMAL_SAMPLE_RATE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, thermal_sample_rate, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_THERMAL_SAMPLE_RATE_DEFAULT, |
| CFG_THERMAL_SAMPLE_RATE_MIN, |
| CFG_THERMAL_SAMPLE_RATE_MAX), |
| #endif /* FEATURE_WLAN_THERMAL_SHUTDOWN */ |
| |
| /* Runtime DPD Recaliberation INI Parameters BEGINS */ |
| REG_VARIABLE( CFG_DPD_RECALIB_ENABLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dpd_recalib_enabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DPD_RECALIB_ENABLE_DEFAULT, |
| CFG_DPD_RECALIB_ENABLE_MIN, |
| CFG_DPD_RECALIB_ENABLE_MAX), |
| |
| REG_VARIABLE( CFG_DPD_RECALIB_DELTA_DEGREE_HIGH_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dpd_recalib_delta_degreehigh, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DPD_RECALIB_DELTA_DEGREE_HIGH_DEFAULT, |
| CFG_DPD_RECALIB_DELTA_DEGREE_HIGH_MIN, |
| CFG_DPD_RECALIB_DELTA_DEGREE_HIGH_MAX), |
| |
| REG_VARIABLE( CFG_DPD_RECALIB_DELTA_DEGREE_LOW_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dpd_recalib_delta_degreelow, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DPD_RECALIB_DELTA_DEGREE_LOW_DEFAULT, |
| CFG_DPD_RECALIB_DELTA_DEGREE_LOW_MIN, |
| CFG_DPD_RECALIB_DELTA_DEGREE_LOW_MAX), |
| |
| REG_VARIABLE( CFG_DPD_RECALIB_COOLING_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dpd_recalib_cooling_time, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DPD_RECALIB_COOLING_TIME_DEFAULT, |
| CFG_DPD_RECALIB_COOLING_TIME_MIN, |
| CFG_DPD_RECALIB_COOLING_TIME_MAX), |
| |
| REG_VARIABLE( CFG_DPD_RECALIB_DURATION_MAX_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dpd_recalib_duration_max, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DPD_RECALIB_DURATION_MAX_DEFAULT, |
| CFG_DPD_RECALIB_DURATION_MAX_MIN, |
| CFG_DPD_RECALIB_DURATION_MAX_MAX), |
| /* DPD Runtime Recaliberation INI Parameters END */ |
| |
| REG_VARIABLE( CFG_SET_TXPOWER_LIMIT2G_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, TxPower2g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SET_TXPOWER_LIMIT2G_DEFAULT, |
| CFG_SET_TXPOWER_LIMIT2G_MIN, |
| CFG_SET_TXPOWER_LIMIT2G_MAX ), |
| |
| REG_VARIABLE( CFG_SET_TXPOWER_LIMIT5G_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, TxPower5g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SET_TXPOWER_LIMIT5G_DEFAULT, |
| CFG_SET_TXPOWER_LIMIT5G_MIN, |
| CFG_SET_TXPOWER_LIMIT5G_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_DEBUG_CONNECT_ISSUE, WLAN_PARAM_Integer, |
| hdd_config_t, gEnableDebugLog, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_DEBUG_CONNECT_ISSUE_DEFAULT, |
| CFG_ENABLE_DEBUG_CONNECT_ISSUE_MIN , |
| CFG_ENABLE_DEBUG_CONNECT_ISSUE_MAX), |
| |
| REG_VARIABLE( CFG_RX_HANDLE, WLAN_PARAM_Integer, |
| hdd_config_t, rxhandle, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RX_HANDLE_DEFAULT, |
| CFG_RX_HANDLE_MIN, |
| CFG_RX_HANDLE_MAX), |
| |
| REG_VARIABLE_STRING( CFG_RPS_RX_QUEUE_CPU_MAP_LIST_NAME, WLAN_PARAM_String, |
| hdd_config_t, cpu_map_list, |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_RPS_RX_QUEUE_CPU_MAP_LIST_DEFAULT ), |
| |
| REG_VARIABLE( CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fDfsPhyerrFilterOffload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_DEFAULT, |
| CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_MIN, |
| CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_OVERLAP_CH, WLAN_PARAM_Integer, |
| hdd_config_t, gEnableOverLapCh, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_ENABLE_OVERLAP_CH_DEFAULT, |
| CFG_ENABLE_OVERLAP_CH_MIN, |
| CFG_ENABLE_OVERLAP_CH_MAX ), |
| |
| REG_VARIABLE( CFG_REG_CHANGE_DEF_COUNTRY_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, fRegChangeDefCountry, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_REG_CHANGE_DEF_COUNTRY_DEFAULT, |
| CFG_REG_CHANGE_DEF_COUNTRY_MIN, |
| CFG_REG_CHANGE_DEF_COUNTRY_MAX), |
| |
| REG_VARIABLE( CFG_SAP_SCAN_BAND_PREFERENCE, WLAN_PARAM_Integer, |
| hdd_config_t, acsScanBandPreference, |
| #ifndef WLAN_FEATURE_MBSSID |
| VAR_FLAGS_DYNAMIC_CFG | |
| #endif |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_SAP_SCAN_BAND_PREFERENCE_DEFAULT, |
| CFG_SAP_SCAN_BAND_PREFERENCE_MIN, |
| CFG_SAP_SCAN_BAND_PREFERENCE_MAX ), |
| |
| REG_VARIABLE( CFG_AUTO_CHANNEL_SELECT_WEIGHT, WLAN_PARAM_HexInteger, |
| hdd_config_t, auto_channel_select_weight, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_AUTO_CHANNEL_SELECT_WEIGHT_DEFAULT, |
| CFG_AUTO_CHANNEL_SELECT_WEIGHT_MIN, |
| CFG_AUTO_CHANNEL_SELECT_WEIGHT_MAX ), |
| |
| #ifdef QCA_LL_TX_FLOW_CT |
| REG_VARIABLE( CFG_LL_TX_FLOW_LWM, WLAN_PARAM_Integer, |
| hdd_config_t, TxFlowLowWaterMark, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LL_TX_FLOW_LWM_DEFAULT, |
| CFG_LL_TX_FLOW_LWM_MIN, |
| CFG_LL_TX_FLOW_LWM_MAX ), |
| |
| REG_VARIABLE( CFG_LL_TX_FLOW_HWM_OFFSET, WLAN_PARAM_Integer, |
| hdd_config_t, TxFlowHighWaterMarkOffset, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LL_TX_FLOW_HWM_OFFSET_DEFAULT, |
| CFG_LL_TX_FLOW_HWM_OFFSET_MIN, |
| CFG_LL_TX_FLOW_HWM_OFFSET_MAX ), |
| |
| REG_VARIABLE( CFG_LL_TX_FLOW_MAX_Q_DEPTH, WLAN_PARAM_Integer, |
| hdd_config_t, TxFlowMaxQueueDepth, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LL_TX_FLOW_MAX_Q_DEPTH_DEFAULT, |
| CFG_LL_TX_FLOW_MAX_Q_DEPTH_MIN, |
| CFG_LL_TX_FLOW_MAX_Q_DEPTH_MAX ), |
| |
| REG_VARIABLE( CFG_LL_TX_LBW_FLOW_LWM, WLAN_PARAM_Integer, |
| hdd_config_t, TxLbwFlowLowWaterMark, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LL_TX_LBW_FLOW_LWM_DEFAULT, |
| CFG_LL_TX_LBW_FLOW_LWM_MIN, |
| CFG_LL_TX_LBW_FLOW_LWM_MAX ), |
| |
| REG_VARIABLE( CFG_LL_TX_LBW_FLOW_HWM_OFFSET, WLAN_PARAM_Integer, |
| hdd_config_t, TxLbwFlowHighWaterMarkOffset, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LL_TX_LBW_FLOW_HWM_OFFSET_DEFAULT, |
| CFG_LL_TX_LBW_FLOW_HWM_OFFSET_MIN, |
| CFG_LL_TX_LBW_FLOW_HWM_OFFSET_MAX ), |
| |
| REG_VARIABLE( CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH, WLAN_PARAM_Integer, |
| hdd_config_t, TxLbwFlowMaxQueueDepth, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_DEFAULT, |
| CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_MIN, |
| CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_MAX ), |
| |
| REG_VARIABLE( CFG_LL_TX_HBW_FLOW_LWM, WLAN_PARAM_Integer, |
| hdd_config_t, TxHbwFlowLowWaterMark, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LL_TX_HBW_FLOW_LWM_DEFAULT, |
| CFG_LL_TX_HBW_FLOW_LWM_MIN, |
| CFG_LL_TX_HBW_FLOW_LWM_MAX ), |
| |
| REG_VARIABLE( CFG_LL_TX_HBW_FLOW_HWM_OFFSET, WLAN_PARAM_Integer, |
| hdd_config_t, TxHbwFlowHighWaterMarkOffset, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LL_TX_HBW_FLOW_HWM_OFFSET_DEFAULT, |
| CFG_LL_TX_HBW_FLOW_HWM_OFFSET_MIN, |
| CFG_LL_TX_HBW_FLOW_HWM_OFFSET_MAX ), |
| |
| REG_VARIABLE( CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH, WLAN_PARAM_Integer, |
| hdd_config_t, TxHbwFlowMaxQueueDepth, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_DEFAULT, |
| CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MIN, |
| CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MAX ), |
| #endif /* QCA_LL_TX_FLOW_CT */ |
| |
| REG_VARIABLE( CFG_INITIAL_DWELL_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nInitialDwellTime, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_INITIAL_DWELL_TIME_DEFAULT, |
| CFG_INITIAL_DWELL_TIME_MIN, |
| CFG_INITIAL_DWELL_TIME_MAX ), |
| |
| REG_VARIABLE( CFG_INITIAL_SCAN_NO_DFS_CHNL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, initial_scan_no_dfs_chnl, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_INITIAL_SCAN_NO_DFS_CHNL_DEFAULT, |
| CFG_INITIAL_SCAN_NO_DFS_CHNL_MIN, |
| CFG_INITIAL_SCAN_NO_DFS_CHNL_MAX ), |
| |
| REG_VARIABLE( CFG_ACS_BAND_SWITCH_THRESHOLD, WLAN_PARAM_Integer, |
| hdd_config_t, acsBandSwitchThreshold, |
| #ifndef WLAN_FEATURE_MBSSID |
| VAR_FLAGS_DYNAMIC_CFG | |
| #endif |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_ACS_BAND_SWITCH_THRESHOLD_DEFAULT, |
| CFG_ACS_BAND_SWITCH_THRESHOLD_MIN, |
| CFG_ACS_BAND_SWITCH_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_SAP_MAX_OFFLOAD_PEERS, WLAN_PARAM_Integer, |
| hdd_config_t, apMaxOffloadPeers, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_SAP_MAX_OFFLOAD_PEERS_DEFAULT, |
| CFG_SAP_MAX_OFFLOAD_PEERS_MIN, |
| CFG_SAP_MAX_OFFLOAD_PEERS_MAX ), |
| |
| REG_VARIABLE( CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS, WLAN_PARAM_Integer, |
| hdd_config_t, apMaxOffloadReorderBuffs, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_DEFAULT, |
| CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MIN, |
| CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MAX ), |
| |
| REG_VARIABLE( CFG_ADVERTISE_CONCURRENT_OPERATION_NAME , WLAN_PARAM_Integer, |
| hdd_config_t, advertiseConcurrentOperation, |
| VAR_FLAGS_OPTIONAL, |
| CFG_ADVERTISE_CONCURRENT_OPERATION_DEFAULT, |
| CFG_ADVERTISE_CONCURRENT_OPERATION_MIN, |
| CFG_ADVERTISE_CONCURRENT_OPERATION_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_MEMORY_DEEP_SLEEP, WLAN_PARAM_Integer, |
| hdd_config_t, enableMemDeepSleep, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_MEMORY_DEEP_SLEEP_DEFAULT, |
| CFG_ENABLE_MEMORY_DEEP_SLEEP_MIN, |
| CFG_ENABLE_MEMORY_DEEP_SLEEP_MAX ), |
| |
| REG_VARIABLE( CFG_DEFAULT_RATE_INDEX_24GH, WLAN_PARAM_Integer, |
| hdd_config_t, defaultRateIndex24Ghz, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DEFAULT_RATE_INDEX_24GH_DEFAULT, |
| CFG_DEFAULT_RATE_INDEX_24GH_MIN, |
| CFG_DEFAULT_RATE_INDEX_24GH_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_OVERRIDE_COUNTRY_CODE, WLAN_PARAM_String, |
| hdd_config_t, overrideCountryCode, |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_OVERRIDE_COUNTRY_CODE_DEFAULT), |
| |
| REG_VARIABLE( CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, debugP2pRemainOnChannel, |
| VAR_FLAGS_OPTIONAL, |
| CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_DEFAULT, |
| CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MIN, |
| CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_PACKET_LOG, WLAN_PARAM_Integer, |
| hdd_config_t, enablePacketLog, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_PACKET_LOG_DEFAULT, |
| CFG_ENABLE_PACKET_LOG_MIN, |
| CFG_ENABLE_PACKET_LOG_MAX ), |
| REG_VARIABLE( CFG_EDCA_FROM_HOSTAPD, WLAN_PARAM_Integer, |
| hdd_config_t, enable_hostapd_edca_local, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_EDCA_FROM_HOSTAPD_DEFAULT, |
| CFG_EDCA_FROM_HOSTAPD_MIN, |
| CFG_EDCA_FROM_HOSTAPD_MAX), |
| |
| #ifdef WLAN_FEATURE_ROAM_OFFLOAD |
| REG_VARIABLE( CFG_ROAMING_OFFLOAD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, isRoamOffloadEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_ROAMING_OFFLOAD_DEFAULT, |
| CFG_ROAMING_OFFLOAD_MIN, |
| CFG_ROAMING_OFFLOAD_MAX), |
| #endif |
| #ifdef FEATURE_BUS_BANDWIDTH |
| REG_VARIABLE( CFG_BUS_BANDWIDTH_HIGH_THRESHOLD, WLAN_PARAM_Integer, |
| hdd_config_t, busBandwidthHighThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_DEFAULT, |
| CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_MIN, |
| CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD, WLAN_PARAM_Integer, |
| hdd_config_t, busBandwidthMediumThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_DEFAULT, |
| CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_MIN, |
| CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_BUS_BANDWIDTH_LOW_THRESHOLD, WLAN_PARAM_Integer, |
| hdd_config_t, busBandwidthLowThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BUS_BANDWIDTH_LOW_THRESHOLD_DEFAULT, |
| CFG_BUS_BANDWIDTH_LOW_THRESHOLD_MIN, |
| CFG_BUS_BANDWIDTH_LOW_THRESHOLD_MAX ), |
| |
| REG_VARIABLE( CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL, WLAN_PARAM_Integer, |
| hdd_config_t, busBandwidthComputeInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_DEFAULT, |
| CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MIN, |
| CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MAX), |
| |
| REG_VARIABLE( CFG_TCP_DELACK_THRESHOLD_HIGH, WLAN_PARAM_Integer, |
| hdd_config_t, tcpDelackThresholdHigh, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TCP_DELACK_THRESHOLD_HIGH_DEFAULT, |
| CFG_TCP_DELACK_THRESHOLD_HIGH_MIN, |
| CFG_TCP_DELACK_THRESHOLD_HIGH_MAX ), |
| |
| REG_VARIABLE( CFG_TCP_DELACK_THRESHOLD_LOW, WLAN_PARAM_Integer, |
| hdd_config_t, tcpDelackThresholdLow, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TCP_DELACK_THRESHOLD_LOW_DEFAULT, |
| CFG_TCP_DELACK_THRESHOLD_LOW_MIN, |
| CFG_TCP_DELACK_THRESHOLD_LOW_MAX ), |
| |
| REG_VARIABLE( CFG_TCP_DELACK_TIMER_COUNT, WLAN_PARAM_Integer, |
| hdd_config_t, tcpDelackTimerCount, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TCP_DELACK_TIMER_COUNT_DEFAULT, |
| CFG_TCP_DELACK_TIMER_COUNT_MIN, |
| CFG_TCP_DELACK_TIMER_COUNT_MAX ), |
| |
| REG_VARIABLE( CFG_TCP_TX_HIGH_TPUT_THRESHOLD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, tcp_tx_high_tput_thres, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TCP_TX_HIGH_TPUT_THRESHOLD_DEFAULT, |
| CFG_TCP_TX_HIGH_TPUT_THRESHOLD_MIN, |
| CFG_TCP_TX_HIGH_TPUT_THRESHOLD_MAX ), |
| #endif |
| #ifdef QCA_SUPPORT_TXRX_HL_BUNDLE |
| |
| REG_VARIABLE( CFG_PKT_BUNDLE_THRESHOLD_HIGH, WLAN_PARAM_Integer, |
| hdd_config_t, pkt_bundle_threshold_high, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PKT_BUNDLE_THRESHOLD_HIGH_DEFAULT, |
| CFG_PKT_BUNDLE_THRESHOLD_HIGH_MIN, |
| CFG_PKT_BUNDLE_THRESHOLD_HIGH_MAX ), |
| |
| REG_VARIABLE( CFG_PKT_BUNDLE_THRESHOLD_LOW, WLAN_PARAM_Integer, |
| hdd_config_t, pkt_bundle_threshold_low, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PKT_BUNDLE_THRESHOLD_LOW_DEFAULT, |
| CFG_PKT_BUNDLE_THRESHOLD_LOW_MIN, |
| CFG_PKT_BUNDLE_THRESHOLD_LOW_MAX ), |
| |
| REG_VARIABLE( CFG_PKT_BUNDLE_TIMER_IN_MS, WLAN_PARAM_Integer, |
| hdd_config_t, pkt_bundle_timer_value, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PKT_BUNDLE_TIMER_IN_MS_DEFAULT, |
| CFG_PKT_BUNDLE_TIMER_IN_MS_MIN, |
| CFG_PKT_BUNDLE_TIMER_IN_MS_MAX ), |
| |
| REG_VARIABLE( CFG_PKT_BUNDLE_SIZE, WLAN_PARAM_Integer, |
| hdd_config_t, pkt_bundle_size, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PKT_BUNDLE_SIZE_DEFAULT, |
| CFG_PKT_BUNDLE_SIZE_MIN, |
| CFG_PKT_BUNDLE_SIZE_MAX ), |
| |
| #endif |
| |
| #ifdef QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK |
| |
| REG_VARIABLE(CFG_DEL_ACK_THRESHOLD_HIGH, WLAN_PARAM_Integer, |
| hdd_config_t, del_ack_threshold_high, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DEL_ACK_THRESHOLD_HIGH_DEFAULT, |
| CFG_DEL_ACK_THRESHOLD_HIGH_MIN, |
| CFG_DEL_ACK_THRESHOLD_HIGH_MAX), |
| |
| REG_VARIABLE(CFG_DEL_ACK_THRESHOLD_LOW, WLAN_PARAM_Integer, |
| hdd_config_t, del_ack_threshold_low, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DEL_ACK_THRESHOLD_LOW_DEFAULT, |
| CFG_DEL_ACK_THRESHOLD_LOW_MIN, |
| CFG_DEL_ACK_THRESHOLD_LOW_MAX), |
| |
| REG_VARIABLE(CFG_DEL_ACK_TIMER_IN_MS, WLAN_PARAM_Integer, |
| hdd_config_t, del_ack_timer_value, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DEL_ACK_TIMER_IN_MS_DEFAULT, |
| CFG_DEL_ACK_TIMER_IN_MS_MIN, |
| CFG_DEL_ACK_TIMER_IN_MS_MAX), |
| |
| REG_VARIABLE(CFG_DEL_ACK_PKT_COUNT, WLAN_PARAM_Integer, |
| hdd_config_t, del_ack_pkt_count, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DEL_ACK_PKT_COUNT_DEFAULT, |
| CFG_DEL_ACK_PKT_COUNT_MIN, |
| CFG_DEL_ACK_PKT_COUNT_MAX), |
| |
| REG_VARIABLE(CFG_DEL_ACK_ENABLE, WLAN_PARAM_Integer, |
| hdd_config_t, del_ack_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DEL_ACK_ENABLE_DEFAULT, |
| CFG_DEL_ACK_ENABLE_MIN, |
| CFG_DEL_ACK_ENABLE_MAX), |
| #endif |
| |
| REG_VARIABLE( CFG_ENABLE_FW_LOG_TYPE , WLAN_PARAM_Integer, |
| hdd_config_t, enableFwLogType, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_FW_LOG_TYPE_DEFAULT, |
| CFG_ENABLE_FW_LOG_TYPE_MIN, |
| CFG_ENABLE_FW_LOG_TYPE_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_FW_DEBUG_LOG_LEVEL, WLAN_PARAM_Integer, |
| hdd_config_t, enableFwLogLevel, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_FW_DEBUG_LOG_LEVEL_DEFAULT, |
| CFG_ENABLE_FW_DEBUG_LOG_LEVEL_MIN, |
| CFG_ENABLE_FW_DEBUG_LOG_LEVEL_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_FW_RTS_PROFILE, WLAN_PARAM_Integer, |
| hdd_config_t, rts_profile, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_FW_RTS_PROFILE_DEFAULT, |
| CFG_ENABLE_FW_RTS_PROFILE_MIN, |
| CFG_ENABLE_FW_RTS_PROFILE_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_ENABLE_FW_MODULE_LOG_LEVEL, WLAN_PARAM_String, |
| hdd_config_t, enableFwModuleLogLevel, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_ENABLE_FW_MODULE_LOG_DEFAULT), |
| |
| |
| |
| #ifdef WLAN_FEATURE_11W |
| REG_VARIABLE(CFG_PMF_SA_QUERY_MAX_RETRIES_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, pmfSaQueryMaxRetries, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PMF_SA_QUERY_MAX_RETRIES_DEFAULT, |
| CFG_PMF_SA_QUERY_MAX_RETRIES_MIN, |
| CFG_PMF_SA_QUERY_MAX_RETRIES_MAX ), |
| |
| REG_VARIABLE(CFG_PMF_SA_QUERY_RETRY_INTERVAL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, pmfSaQueryRetryInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PMF_SA_QUERY_RETRY_INTERVAL_DEFAULT, |
| CFG_PMF_SA_QUERY_RETRY_INTERVAL_MIN, |
| CFG_PMF_SA_QUERY_RETRY_INTERVAL_MAX ), |
| #endif |
| REG_VARIABLE(CFG_MAX_CONCURRENT_CONNECTIONS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, gMaxConcurrentActiveSessions, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MAX_CONCURRENT_CONNECTIONS_DEFAULT, |
| CFG_MAX_CONCURRENT_CONNECTIONS_MIN, |
| CFG_MAX_CONCURRENT_CONNECTIONS_MAX ), |
| |
| #ifdef FEATURE_GREEN_AP |
| REG_VARIABLE(CFG_ENABLE_GREEN_AP_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, enableGreenAP, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_GREEN_AP_FEATURE_DEFAULT, |
| CFG_ENABLE_GREEN_AP_FEATURE_MIN, |
| CFG_ENABLE_GREEN_AP_FEATURE_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_EGAP_ENABLE_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, enable_egap, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_EGAP_ENABLE_FEATURE_DEFAULT, |
| CFG_ENABLE_EGAP_ENABLE_FEATURE_MIN, |
| CFG_ENABLE_EGAP_ENABLE_FEATURE_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_EGAP_INACT_TIME_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, egap_inact_time, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_EGAP_INACT_TIME_FEATURE_DEFAULT, |
| CFG_ENABLE_EGAP_INACT_TIME_FEATURE_MIN, |
| CFG_ENABLE_EGAP_INACT_TIME_FEATURE_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_EGAP_WAIT_TIME_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, egap_wait_time, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_EGAP_WAIT_TIME_FEATURE_DEFAULT, |
| CFG_ENABLE_EGAP_WAIT_TIME_FEATURE_MIN, |
| CFG_ENABLE_EGAP_WAIT_TIME_FEATURE_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_EGAP_FLAGS_FEATURE, WLAN_PARAM_Integer, |
| hdd_config_t, egap_feature_flag, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_EGAP_FLAGS_FEATURE_DEFAULT, |
| CFG_ENABLE_EGAP_FLAGS_FEATURE_MIN, |
| CFG_ENABLE_EGAP_FLAGS_FEATURE_MAX), |
| #endif |
| |
| REG_VARIABLE(CFG_ENABLE_CRASH_INJECT, WLAN_PARAM_Integer, |
| hdd_config_t, crash_inject_enabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_CRASH_INJECT_DEFAULT, |
| CFG_ENABLE_CRASH_INJECT_MIN, |
| CFG_ENABLE_CRASH_INJECT_MAX), |
| |
| REG_VARIABLE(CFG_IGNORE_CAC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ignoreCAC, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IGNORE_CAC_DEFAULT, |
| CFG_IGNORE_CAC_MIN, |
| CFG_IGNORE_CAC_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, IsSapDfsChSifsBurstEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_DEFAULT, |
| CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_MIN, |
| CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_MAX ), |
| |
| REG_VARIABLE(CFG_DFS_RADAR_PRI_MULTIPLIER_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dfsRadarPriMultiplier, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DFS_RADAR_PRI_MULTIPLIER_DEFAULT, |
| CFG_DFS_RADAR_PRI_MULTIPLIER_MIN, |
| CFG_DFS_RADAR_PRI_MULTIPLIER_MAX), |
| |
| REG_VARIABLE( CFG_REORDER_OFFLOAD_SUPPORT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, reorderOffloadSupport, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_REORDER_OFFLOAD_SUPPORT_DEFAULT, |
| CFG_REORDER_OFFLOAD_SUPPORT_MIN, |
| CFG_REORDER_OFFLOAD_SUPPORT_MAX ), |
| #ifdef IPA_UC_OFFLOAD |
| REG_VARIABLE( CFG_IPA_UC_OFFLOAD_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, IpaUcOffloadEnabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_IPA_UC_OFFLOAD_ENABLED_DEFAULT, |
| CFG_IPA_UC_OFFLOAD_ENABLED_MIN, |
| CFG_IPA_UC_OFFLOAD_ENABLED_MAX ), |
| |
| REG_VARIABLE( CFG_IPA_UC_TX_BUF_COUNT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, IpaUcTxBufCount, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_IPA_UC_TX_BUF_COUNT_DEFAULT, |
| CFG_IPA_UC_TX_BUF_COUNT_MIN, |
| CFG_IPA_UC_TX_BUF_COUNT_MAX ), |
| |
| REG_VARIABLE( CFG_IPA_UC_TX_BUF_SIZE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, IpaUcTxBufSize, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_IPA_UC_TX_BUF_SIZE_DEFAULT, |
| CFG_IPA_UC_TX_BUF_SIZE_MIN, |
| CFG_IPA_UC_TX_BUF_SIZE_MAX ), |
| |
| REG_VARIABLE( CFG_IPA_UC_RX_IND_RING_COUNT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, IpaUcRxIndRingCount, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_IPA_UC_RX_IND_RING_COUNT_DEFAULT, |
| CFG_IPA_UC_RX_IND_RING_COUNT_MIN, |
| CFG_IPA_UC_RX_IND_RING_COUNT_MAX ), |
| |
| REG_VARIABLE( CFG_IPA_UC_TX_PARTITION_BASE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, IpaUcTxPartitionBase, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_IPA_UC_TX_PARTITION_BASE_DEFAULT, |
| CFG_IPA_UC_TX_PARTITION_BASE_MIN, |
| CFG_IPA_UC_TX_PARTITION_BASE_MAX ), |
| #endif /* IPA_UC_OFFLOAD */ |
| #ifdef WLAN_LOGGING_SOCK_SVC_ENABLE |
| REG_VARIABLE(CFG_WLAN_LOGGING_SUPPORT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, wlanLoggingEnable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WLAN_LOGGING_SUPPORT_DEFAULT, |
| CFG_WLAN_LOGGING_SUPPORT_DISABLE, |
| CFG_WLAN_LOGGING_SUPPORT_ENABLE ), |
| |
| REG_VARIABLE(CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, wlanLoggingFEToConsole, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_DEFAULT, |
| CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_DISABLE, |
| CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_ENABLE ), |
| |
| REG_VARIABLE(CFG_WLAN_LOGGING_NUM_BUF_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, wlanLoggingNumBuf, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WLAN_LOGGING_NUM_BUF_DEFAULT, |
| CFG_WLAN_LOGGING_NUM_BUF_MIN, |
| CFG_WLAN_LOGGING_NUM_BUF_MAX ), |
| #endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */ |
| |
| REG_VARIABLE( CFG_ENABLE_SIFS_BURST, WLAN_PARAM_Integer, |
| hdd_config_t, enableSifsBurst, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_SIFS_BURST_DEFAULT, |
| CFG_ENABLE_SIFS_BURST_MIN, |
| CFG_ENABLE_SIFS_BURST_MAX ), |
| |
| #ifdef WLAN_FEATURE_LPSS |
| REG_VARIABLE(CFG_ENABLE_LPASS_SUPPORT, WLAN_PARAM_Integer, |
| hdd_config_t, enablelpasssupport, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_LPASS_SUPPORT_DEFAULT, |
| CFG_ENABLE_LPASS_SUPPORT_MIN, |
| CFG_ENABLE_LPASS_SUPPORT_MAX), |
| #endif |
| |
| #ifdef WLAN_FEATURE_NAN |
| REG_VARIABLE(CFG_ENABLE_NAN_SUPPORT, WLAN_PARAM_Integer, |
| hdd_config_t, enable_nan_support, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_NAN_SUPPORT_DEFAULT, |
| CFG_ENABLE_NAN_SUPPORT_MIN, |
| CFG_ENABLE_NAN_SUPPORT_MAX), |
| #endif |
| |
| REG_VARIABLE( CFG_ENABLE_SELF_RECOVERY, WLAN_PARAM_Integer, |
| hdd_config_t, enableSelfRecovery, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_SELF_RECOVERY_DEFAULT, |
| CFG_ENABLE_SELF_RECOVERY_MIN, |
| CFG_ENABLE_SELF_RECOVERY_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_AC_TXQ_OPTIMIZE, WLAN_PARAM_HexInteger, |
| hdd_config_t, enable_ac_txq_optimize, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_AC_TXQ_OPTIMIZE_DEFAULT, |
| CFG_ENABLE_AC_TXQ_OPTIMIZE_MIN, |
| CFG_ENABLE_AC_TXQ_OPTIMIZE_MAX ), |
| |
| #ifdef FEATURE_WLAN_FORCE_SAP_SCC |
| REG_VARIABLE(CFG_SAP_SCC_CHAN_AVOIDANCE, WLAN_PARAM_Integer, |
| hdd_config_t, SapSccChanAvoidance, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_SCC_CHAN_AVOIDANCE_DEFAULT, |
| CFG_SAP_SCC_CHAN_AVOIDANCE_MIN, |
| CFG_SAP_SCC_CHAN_AVOIDANCE_MAX), |
| #endif /* FEATURE_WLAN_FORCE_SAP_SCC */ |
| |
| REG_VARIABLE( CFG_ENABLE_SAP_SUSPEND, WLAN_PARAM_Integer, |
| hdd_config_t, enableSapSuspend, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_SAP_SUSPEND_DEFAULT, |
| CFG_ENABLE_SAP_SUSPEND_MIN, |
| CFG_ENABLE_SAP_SUSPEND_MAX ), |
| |
| #ifdef WLAN_FEATURE_EXTWOW_SUPPORT |
| REG_VARIABLE( CFG_EXTWOW_GO_TO_SUSPEND, WLAN_PARAM_Integer, |
| hdd_config_t, extWowGotoSuspend, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_GO_TO_SUSPEND_DEFAULT, |
| CFG_EXTWOW_GO_TO_SUSPEND_MIN, |
| CFG_EXTWOW_GO_TO_SUSPEND_MAX ), |
| |
| REG_VARIABLE( CFG_EXTWOW_APP1_WAKE_PIN_NUMBER, WLAN_PARAM_Integer, |
| hdd_config_t, extWowApp1WakeupPinNumber, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_DEFAULT, |
| CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MIN, |
| CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MAX ), |
| |
| REG_VARIABLE( CFG_EXTWOW_APP2_WAKE_PIN_NUMBER, WLAN_PARAM_Integer, |
| hdd_config_t, extWowApp2WakeupPinNumber, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_DEFAULT, |
| CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MIN, |
| CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MAX ), |
| |
| REG_VARIABLE( CFG_EXTWOW_KA_INIT_PING_INTERVAL, WLAN_PARAM_Integer, |
| hdd_config_t, extWowApp2KAInitPingInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_KA_INIT_PING_INTERVAL_DEFAULT, |
| CFG_EXTWOW_KA_INIT_PING_INTERVAL_MIN, |
| CFG_EXTWOW_KA_INIT_PING_INTERVAL_MAX ), |
| |
| REG_VARIABLE( CFG_EXTWOW_KA_MIN_PING_INTERVAL, WLAN_PARAM_Integer, |
| hdd_config_t, extWowApp2KAMinPingInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_KA_MIN_PING_INTERVAL_DEFAULT, |
| CFG_EXTWOW_KA_MIN_PING_INTERVAL_MIN, |
| CFG_EXTWOW_KA_MIN_PING_INTERVAL_MAX ), |
| |
| REG_VARIABLE( CFG_EXTWOW_KA_MAX_PING_INTERVAL, WLAN_PARAM_Integer, |
| hdd_config_t, extWowApp2KAMaxPingInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_KA_MAX_PING_INTERVAL_DEFAULT, |
| CFG_EXTWOW_KA_MAX_PING_INTERVAL_MIN, |
| CFG_EXTWOW_KA_MAX_PING_INTERVAL_MAX ), |
| |
| REG_VARIABLE( CFG_EXTWOW_KA_INC_PING_INTERVAL, WLAN_PARAM_Integer, |
| hdd_config_t, extWowApp2KAIncPingInterval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_KA_INC_PING_INTERVAL_DEFAULT, |
| CFG_EXTWOW_KA_INC_PING_INTERVAL_MIN, |
| CFG_EXTWOW_KA_INC_PING_INTERVAL_MAX ), |
| |
| REG_VARIABLE( CFG_EXTWOW_TCP_SRC_PORT, WLAN_PARAM_Integer, |
| hdd_config_t, extWowApp2TcpSrcPort, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_TCP_SRC_PORT_DEFAULT, |
| CFG_EXTWOW_TCP_SRC_PORT_MIN, |
| CFG_EXTWOW_TCP_SRC_PORT_MAX ), |
| |
| REG_VARIABLE( CFG_EXTWOW_TCP_DST_PORT, WLAN_PARAM_Integer, |
| hdd_config_t, extWowApp2TcpDstPort, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_TCP_DST_PORT_DEFAULT, |
| CFG_EXTWOW_TCP_DST_PORT_MIN, |
| CFG_EXTWOW_TCP_DST_PORT_MAX ), |
| |
| REG_VARIABLE( CFG_EXTWOW_TCP_TX_TIMEOUT, WLAN_PARAM_Integer, |
| hdd_config_t, extWowApp2TcpTxTimeout, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_TCP_TX_TIMEOUT_DEFAULT, |
| CFG_EXTWOW_TCP_TX_TIMEOUT_MIN, |
| CFG_EXTWOW_TCP_TX_TIMEOUT_MAX ), |
| |
| REG_VARIABLE( CFG_EXTWOW_TCP_RX_TIMEOUT, WLAN_PARAM_Integer, |
| hdd_config_t, extWowApp2TcpRxTimeout, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTWOW_TCP_RX_TIMEOUT_DEFAULT, |
| CFG_EXTWOW_TCP_RX_TIMEOUT_MIN, |
| CFG_EXTWOW_TCP_RX_TIMEOUT_MAX ), |
| #endif |
| REG_VARIABLE( CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, gEnableDeauthToDisassocMap, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_DEFAULT, |
| CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_MIN, |
| CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_MAX ), |
| |
| #ifdef DHCP_SERVER_OFFLOAD |
| REG_VARIABLE( CFG_DHCP_SERVER_OFFLOAD_SUPPORT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enableDHCPServerOffload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DHCP_SERVER_OFFLOAD_SUPPORT_DEFAULT, |
| CFG_DHCP_SERVER_OFFLOAD_SUPPORT_MIN, |
| CFG_DHCP_SERVER_OFFLOAD_SUPPORT_MAX ), |
| |
| REG_VARIABLE( CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dhcpMaxNumClients, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_DEFAULT, |
| CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_MIN, |
| CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_MAX ), |
| |
| REG_VARIABLE( CFG_DHCP_SERVER_OFFLOAD_CLIENT_IPBASE_NAME, |
| WLAN_PARAM_Integer, hdd_config_t, dhcp_client_start_ip, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DHCP_SERVER_OFFLOAD_CLIENT_IPBASE_DEFAULT, |
| CFG_DHCP_SERVER_OFFLOAD_CLIENT_IPBASE_MIN, |
| CFG_DHCP_SERVER_OFFLOAD_CLIENT_IPBASE_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_DHCP_SERVER_IP_NAME, WLAN_PARAM_String, |
| hdd_config_t, dhcpServerIP, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_DHCP_SERVER_IP_DEFAULT ), |
| #endif /* DHCP_SERVER_OFFLOAD */ |
| |
| REG_VARIABLE(CFG_ENABLE_DEAUTH_BEFORE_CONNECTION, WLAN_PARAM_Integer, |
| hdd_config_t, sendDeauthBeforeCon, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_DEFAULT, |
| CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MIN, |
| CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MAX), |
| |
| REG_VARIABLE( CFG_IGNORE_PEER_ERP_INFO_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ignorePeerErpInfo, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IGNORE_PEER_ERP_INFO_DEFAULT, |
| CFG_IGNORE_PEER_ERP_INFO_MIN, |
| CFG_IGNORE_PEER_ERP_INFO_MAX ), |
| |
| REG_VARIABLE( CFG_ENABLE_MAC_ADDR_SPOOFING, WLAN_PARAM_Integer, |
| hdd_config_t, enable_mac_spoofing, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_MAC_ADDR_SPOOFING_DEFAULT, |
| CFG_ENABLE_MAC_ADDR_SPOOFING_MIN, |
| CFG_ENABLE_MAC_ADDR_SPOOFING_MAX ), |
| #ifdef IPA_UC_STA_OFFLOAD |
| REG_VARIABLE( CFG_IPA_UC_STA_OFFLOAD, WLAN_PARAM_Integer, |
| hdd_config_t, ipa_uc_sta_offload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IPA_UC_STA_OFFLOAD_DEFAULT, |
| CFG_IPA_UC_STA_OFFLOAD_MIN, |
| CFG_IPA_UC_STA_OFFLOAD_MAX ), |
| #endif |
| |
| REG_VARIABLE( CFG_ENABLE_CUSTOM_CONC_RULE1_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, conc_custom_rule1, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_DEFAULT, |
| CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_MIN, |
| CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_MAX), |
| |
| REG_VARIABLE( CFG_ENABLE_CUSTOM_CONC_RULE2_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, conc_custom_rule2, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_DEFAULT, |
| CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_MIN, |
| CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_MAX), |
| |
| REG_VARIABLE( CFG_ENABLE_STA_CONNECTION_IN_5GHZ, WLAN_PARAM_Integer, |
| hdd_config_t, is_sta_connection_in_5gz_enabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_ENABLE_STA_CONNECTION_IN_5GHZ_DEFAULT, |
| CFG_ENABLE_STA_CONNECTION_IN_5GHZ_MIN, |
| CFG_ENABLE_STA_CONNECTION_IN_5GHZ_MAX), |
| |
| #ifdef MDNS_OFFLOAD |
| REG_VARIABLE( CFG_MDNS_OFFLOAD_SUPPORT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enable_mdns_offload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MDNS_OFFLOAD_SUPPORT_DEFAULT, |
| CFG_MDNS_OFFLOAD_SUPPORT_MIN, |
| CFG_MDNS_OFFLOAD_SUPPORT_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_MDNS_FQDN_NAME, WLAN_PARAM_String, |
| hdd_config_t, mdns_fqdn, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_MDNS_FQDN_DEFAULT ), |
| |
| REG_VARIABLE_STRING( CFG_MDNS_UNIQUE_FQDN_NAME, WLAN_PARAM_String, |
| hdd_config_t, mdns_uniquefqdn, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_MDNS_UNIQUE_FQDN_DEFAULT ), |
| |
| REG_VARIABLE_STRING( CFG_MDNS_RESPONSE_TYPE_A_NAME, WLAN_PARAM_String, |
| hdd_config_t, mdns_resp_type_a, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_MDNS_RESPONSE_TYPE_A_DEFAULT ), |
| |
| REG_VARIABLE( CFG_MDNS_RESPONSE_TYPE_A_IPV4_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, mdns_resp_type_a_ipv4, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MDNS_RESPONSE_TYPE_A_IPV4_DEFAULT, |
| CFG_MDNS_RESPONSE_TYPE_A_IPV4_MIN, |
| CFG_MDNS_RESPONSE_TYPE_A_IPV4_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_MDNS_RESPONSE_TYPE_TXT_NAME, WLAN_PARAM_String, |
| hdd_config_t, mdns_resp_type_txt, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_MDNS_RESPONSE_TYPE_TXT_DEFAULT ), |
| |
| REG_VARIABLE_STRING( CFG_MDNS_RESPONSE_TYPE_TXT_CNT_NAME, WLAN_PARAM_String, |
| hdd_config_t, mdns_resp_type_txt_content, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_MDNS_RESPONSE_TYPE_TXT_CNT_DEFAULT ), |
| |
| REG_VARIABLE_STRING( CFG_MDNS_RESPONSE_TYPE_PTR_NAME, WLAN_PARAM_String, |
| hdd_config_t, mdns_resp_type_ptr, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_MDNS_RESPONSE_TYPE_PTR_DEFAULT ), |
| |
| REG_VARIABLE_STRING( CFG_MDNS_RESPONSE_TYPE_PTR_DN_NAME, WLAN_PARAM_String, |
| hdd_config_t, mdns_resp_type_ptr_dname, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_MDNS_RESPONSE_TYPE_PTR_DN_DEFAULT ), |
| |
| REG_VARIABLE_STRING( CFG_MDNS_RESPONSE_TYPE_SRV_NAME, WLAN_PARAM_String, |
| hdd_config_t, mdns_resp_type_srv, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_MDNS_RESPONSE_TYPE_SRV_DEFAULT ), |
| |
| REG_VARIABLE( CFG_MDNS_RESPONSE_TYPE_SRV_PRIORITY_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, mdns_resp_type_srv_priority, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MDNS_RESPONSE_TYPE_SRV_PRIORITY_DEFAULT, |
| CFG_MDNS_RESPONSE_TYPE_SRV_PRIORITY_MIN, |
| CFG_MDNS_RESPONSE_TYPE_SRV_PRIORITY_MAX ), |
| |
| REG_VARIABLE( CFG_MDNS_RESPONSE_TYPE_SRV_WEIGHT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, mdns_resp_type_srv_weight, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MDNS_RESPONSE_TYPE_SRV_WEIGHT_DEFAULT, |
| CFG_MDNS_RESPONSE_TYPE_SRV_WEIGHT_MIN, |
| CFG_MDNS_RESPONSE_TYPE_SRV_WEIGHT_MAX ), |
| |
| REG_VARIABLE( CFG_MDNS_RESPONSE_TYPE_SRV_PORT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, mdns_resp_type_srv_port, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MDNS_RESPONSE_TYPE_SRV_PORT_DEFAULT, |
| CFG_MDNS_RESPONSE_TYPE_SRV_PORT_MIN, |
| CFG_MDNS_RESPONSE_TYPE_SRV_PORT_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_MDNS_RESPONSE_TYPE_SRV_TGT_NAME, WLAN_PARAM_String, |
| hdd_config_t, mdns_resp_type_srv_target, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_MDNS_RESPONSE_TYPE_SRV_TGT_DEFAULT ), |
| #endif /* MDNS_OFFLOAD */ |
| |
| #ifdef SAP_AUTH_OFFLOAD |
| REG_VARIABLE( CFG_ENABLE_SAP_AUTH_OFL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enable_sap_auth_offload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_SAP_AUTH_OFL_DEFAULT, |
| CFG_ENABLE_SAP_AUTH_OFL_MIN, |
| CFG_ENABLE_SAP_AUTH_OFL_MAX ), |
| |
| REG_VARIABLE( CFG_SAP_AUTH_OFL_SECURITY_TYPE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sap_auth_offload_sec_type, |
| VAR_FLAGS_OPTIONAL | CFG_SAP_AUTH_OFL_SECURITY_TYPE_DEFAULT, |
| CFG_SAP_AUTH_OFL_SECURITY_TYPE_DEFAULT, |
| CFG_SAP_AUTH_OFL_SECURITY_TYPE_MIN, |
| CFG_SAP_AUTH_OFL_SECURITY_TYPE_MAX ), |
| |
| REG_VARIABLE_STRING( CFG_SAP_AUTH_OFL_KEY_NAME, WLAN_PARAM_String, |
| hdd_config_t, sap_auth_offload_key, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_SAP_AUTH_OFL_KEY_DEFAULT ), |
| |
| REG_VARIABLE( CFG_CONNECT_FAIL_COUNT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, connect_fail_count, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_CONNECT_FAIL_COUNT_DEFAULT, |
| CFG_CONNECT_FAIL_COUNT_MIN, |
| CFG_CONNECT_FAIL_COUNT_MAX ), |
| |
| REG_VARIABLE( CFG_CONNECT_FAIL_DURATION_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, connect_fail_duration, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_CONNECT_FAIL_DURATION_DEFAULT, |
| CFG_CONNECT_FAIL_DURATION_MIN, |
| CFG_CONNECT_FAIL_DURATION_MAX ), |
| |
| REG_VARIABLE( CFG_CONNECT_BLOCK_DURATION_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, connect_block_duration, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_CONNECT_BLOCK_DURATION_DEFAULT, |
| CFG_CONNECT_BLOCK_DURATION_MIN, |
| CFG_CONNECT_BLOCK_DURATION_MAX ), |
| #endif /* SAP_AUTH_OFFLOAD */ |
| |
| #ifdef WLAN_FEATURE_SAP_TO_FOLLOW_STA_CHAN |
| REG_VARIABLE( CFG_SAP_CHANNEL_SWITCH_WITH_CSA_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sap_ch_switch_with_csa, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_CHANNEL_SWITCH_WITH_CSA_DEFAULT, |
| CFG_SAP_CHANNEL_SWITCH_WITH_CSA_MIN, |
| CFG_SAP_CHANNEL_SWITCH_WITH_CSA_MAX ), |
| |
| #endif//#ifdef WLAN_FEATURE_SAP_TO_FOLLOW_STA_CHAN |
| |
| REG_VARIABLE(CFG_DOT11P_MODE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dot11p_mode, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DOT11P_MODE_DEFAULT, |
| CFG_DOT11P_MODE_MIN, |
| CFG_DOT11P_MODE_MAX), |
| |
| REG_VARIABLE( CFG_ENABLE_RAMDUMP_COLLECTION, WLAN_PARAM_Integer, |
| hdd_config_t, is_ramdump_enabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_RAMDUMP_COLLECTION_DEFAULT, |
| CFG_ENABLE_RAMDUMP_COLLECTION_MIN, |
| CFG_ENABLE_RAMDUMP_COLLECTION_MAX ), |
| |
| REG_VARIABLE(CFG_SAP_DOT11MC, WLAN_PARAM_Integer, |
| hdd_config_t, sap_dot11mc, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_DOT11MC_DEFAULT, |
| CFG_SAP_DOT11MC_MIN, |
| CFG_SAP_DOT11MC_MAX ), |
| |
| REG_VARIABLE( CFG_STA_MIRACAST_MCC_REST_TIME_VAL, WLAN_PARAM_Integer, |
| hdd_config_t, sta_miracast_mcc_rest_time_val, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_STA_MIRACAST_MCC_REST_TIME_VAL_DEFAULT, |
| CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MIN, |
| CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MAX ), |
| |
| #ifdef FEATURE_AP_MCC_CH_AVOIDANCE |
| REG_VARIABLE(CFG_SAP_MCC_CHANNEL_AVOIDANCE_NAME, |
| WLAN_PARAM_Integer, |
| hdd_config_t, |
| sap_channel_avoidance, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, |
| CFG_SAP_MCC_CHANNEL_AVOIDANCE_DEFAULT, |
| CFG_SAP_MCC_CHANNEL_AVOIDANCE_MIN, |
| CFG_SAP_MCC_CHANNEL_AVOIDANCE_MAX ), |
| #endif /* FEATURE_AP_MCC_CH_AVOIDANCE */ |
| |
| REG_VARIABLE(CFG_SAP_P2P_11AC_OVERRIDE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sap_p2p_11ac_override, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_P2P_11AC_OVERRIDE_DEFAULT, |
| CFG_SAP_P2P_11AC_OVERRIDE_MIN, |
| CFG_SAP_P2P_11AC_OVERRIDE_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_NON_DFS_CHAN_ON_RADAR, WLAN_PARAM_Integer, |
| hdd_config_t, prefer_non_dfs_on_radar, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_DEFAULT, |
| CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MIN, |
| CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MAX), |
| /* For P2P */ |
| REG_VARIABLE(CFG_BTC_BT_INTERVAL_PAGE_P2P, WLAN_PARAM_Integer, |
| hdd_config_t, coex_page_p2p_bt_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_BT_INTERVAL_PAGE_P2P_DEFAULT, |
| CFG_BTC_BT_INTERVAL_PAGE_P2P_MIN, |
| CFG_BTC_BT_INTERVAL_PAGE_P2P_MAX), |
| |
| REG_VARIABLE(CFG_BTC_WLAN_INTERVAL_PAGE_P2P, WLAN_PARAM_Integer, |
| hdd_config_t, coex_page_p2p_wlan_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_PAGE_P2P_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_PAGE_P2P_MIN, |
| CFG_BTC_WLAN_INTERVAL_PAGE_P2P_MAX), |
| /* For STA */ |
| REG_VARIABLE(CFG_BTC_BT_INTERVAL_PAGE_STA, WLAN_PARAM_Integer, |
| hdd_config_t, coex_page_sta_bt_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_BT_INTERVAL_PAGE_STA_DEFAULT, |
| CFG_BTC_BT_INTERVAL_PAGE_STA_MIN, |
| CFG_BTC_BT_INTERVAL_PAGE_STA_MAX), |
| |
| REG_VARIABLE(CFG_BTC_WLAN_INTERVAL_PAGE_STA, WLAN_PARAM_Integer, |
| hdd_config_t, coex_page_sta_wlan_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_PAGE_STA_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_PAGE_STA_MIN, |
| CFG_BTC_WLAN_INTERVAL_PAGE_STA_MAX), |
| /* For SAP */ |
| REG_VARIABLE(CFG_BTC_BT_INTERVAL_PAGE_SAP, WLAN_PARAM_Integer, |
| hdd_config_t, coex_page_sap_bt_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_BT_INTERVAL_PAGE_SAP_DEFAULT, |
| CFG_BTC_BT_INTERVAL_PAGE_SAP_MIN, |
| CFG_BTC_BT_INTERVAL_PAGE_SAP_MAX), |
| |
| REG_VARIABLE(CFG_BTC_WLAN_INTERVAL_PAGE_SAP, WLAN_PARAM_Integer, |
| hdd_config_t, coex_page_sap_wlan_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_PAGE_SAP_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_PAGE_SAP_MIN, |
| CFG_BTC_WLAN_INTERVAL_PAGE_SAP_MAX), |
| |
| /* During WLAN Conn */ |
| REG_VARIABLE(CFG_BTC_WLAN_CONN_PARAM0, WLAN_PARAM_Integer, |
| hdd_config_t, coex_config_wlan_conn_val0, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_CONN_PARAM0_DEFAULT, |
| CFG_BTC_WLAN_CONN_PARAM0_MIN, |
| CFG_BTC_WLAN_CONN_PARAM0_MAX), |
| |
| REG_VARIABLE(CFG_BTC_WLAN_CONN_PARAM1, WLAN_PARAM_Integer, |
| hdd_config_t, coex_config_wlan_conn_val1, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_CONN_PARAM1_DEFAULT, |
| CFG_BTC_WLAN_CONN_PARAM1_MIN, |
| CFG_BTC_WLAN_CONN_PARAM1_MAX), |
| |
| REG_VARIABLE(CFG_BTC_DYNAMIC_WLAN_BT_COEX, WLAN_PARAM_Integer, |
| hdd_config_t, dynamic_wlan_bt_coex, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_DYNAMIC_WLAN_BT_COEX_DEFAULT, |
| CFG_BTC_DYNAMIC_WLAN_BT_COEX_MIN, |
| CFG_BTC_DYNAMIC_WLAN_BT_COEX_MAX), |
| |
| REG_VARIABLE(CFG_BTC_ANTENNA_ISOLATION, WLAN_PARAM_Integer, |
| hdd_config_t, antenna_isolation, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_ANTENNA_ISOLATION_DEFAULT, |
| CFG_BTC_ANTENNA_ISOLATION_MIN, |
| CFG_BTC_ANTENNA_ISOLATION_MAX), |
| |
| REG_VARIABLE(CFG_BTC_BT_INTERVAL_PAGE_P2P_STA, WLAN_PARAM_Integer, |
| hdd_config_t, coex_page_p2p_sta_bt_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_BT_INTERVAL_PAGE_P2P_STA_DEFAULT, |
| CFG_BTC_BT_INTERVAL_PAGE_P2P_STA_MIN, |
| CFG_BTC_BT_INTERVAL_PAGE_P2P_STA_MAX), |
| |
| REG_VARIABLE(CFG_BTC_WLAN_INTERVAL_PAGE_P2P_STA, WLAN_PARAM_Integer, |
| hdd_config_t, coex_page_p2p_sta_wlan_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_PAGE_P2P_STA_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_PAGE_P2P_STA_MIN, |
| CFG_BTC_WLAN_INTERVAL_PAGE_P2P_STA_MAX), |
| |
| REG_VARIABLE(CFG_BTC_BT_INTERVAL_INQ_STA, WLAN_PARAM_Integer, |
| hdd_config_t, coex_inquiry_sta_bt_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_BT_INTERVAL_INQ_STA_DEFAULT, |
| CFG_BTC_BT_INTERVAL_INQ_STA_MIN, |
| CFG_BTC_BT_INTERVAL_INQ_STA_MAX), |
| |
| REG_VARIABLE(CFG_BTC_WLAN_INTERVAL_INQ_STA, WLAN_PARAM_Integer, |
| hdd_config_t, coex_inquiry_sta_wlan_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_INQ_STA_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_INQ_STA_MIN, |
| CFG_BTC_WLAN_INTERVAL_INQ_STA_MAX), |
| |
| REG_VARIABLE(CFG_BTC_BT_INTERVAL_INQ_SAP, WLAN_PARAM_Integer, |
| hdd_config_t, coex_inquiry_sap_bt_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_BT_INTERVAL_INQ_SAP_DEFAULT, |
| CFG_BTC_BT_INTERVAL_INQ_SAP_MIN, |
| CFG_BTC_BT_INTERVAL_INQ_SAP_MAX), |
| |
| REG_VARIABLE(CFG_BTC_WLAN_INTERVAL_INQ_SAP, WLAN_PARAM_Integer, |
| hdd_config_t, coex_inquiry_sap_wlan_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_INQ_SAP_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_INQ_SAP_MIN, |
| CFG_BTC_WLAN_INTERVAL_INQ_SAP_MAX), |
| |
| REG_VARIABLE(CFG_BTC_BT_INTERVAL_INQ_P2P, WLAN_PARAM_Integer, |
| hdd_config_t, coex_inquiry_p2p_bt_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_BT_INTERVAL_INQ_P2P_DEFAULT, |
| CFG_BTC_BT_INTERVAL_INQ_P2P_MIN, |
| CFG_BTC_BT_INTERVAL_INQ_P2P_MAX), |
| |
| REG_VARIABLE(CFG_BTC_WLAN_INTERVAL_INQ_P2P, WLAN_PARAM_Integer, |
| hdd_config_t, coex_inquiry_p2p_wlan_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_INQ_P2P_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_INQ_P2P_MIN, |
| CFG_BTC_WLAN_INTERVAL_INQ_P2P_MAX), |
| |
| REG_VARIABLE(CFG_BTC_BT_INTERVAL_INQ_P2P_STA, WLAN_PARAM_Integer, |
| hdd_config_t, coex_inquiry_p2p_sta_bt_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_BT_INTERVAL_INQ_P2P_STA_DEFAULT, |
| CFG_BTC_BT_INTERVAL_INQ_P2P_STA_MIN, |
| CFG_BTC_BT_INTERVAL_INQ_P2P_STA_MAX), |
| |
| REG_VARIABLE(CFG_BTC_WLAN_INTERVAL_INQ_P2P_STA, WLAN_PARAM_Integer, |
| hdd_config_t, coex_inquiry_p2p_sta_wlan_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_INQ_P2P_STA_DEFAULT, |
| CFG_BTC_WLAN_INTERVAL_INQ_P2P_STA_MIN, |
| CFG_BTC_WLAN_INTERVAL_INQ_P2P_STA_MAX), |
| |
| REG_VARIABLE(CFG_BTC_WLAN_COEX_TX_POWER, WLAN_PARAM_Integer, |
| hdd_config_t, coex_tx_power, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BTC_WLAN_COEX_TX_POWER_DEFAULT, |
| CFG_BTC_WLAN_COEX_TX_POWER_MIN, |
| CFG_BTC_WLAN_COEX_TX_POWER_MAX), |
| |
| REG_VARIABLE(CFG_INFORM_BSS_RSSI_RAW_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, inform_bss_rssi_raw, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_INFORM_BSS_RSSI_RAW_DEFAULT, |
| CFG_INFORM_BSS_RSSI_RAW_MIN, |
| CFG_INFORM_BSS_RSSI_RAW_MAX), |
| #ifdef WLAN_FEATURE_TSF |
| REG_VARIABLE(CFG_SET_TSF_GPIO_PIN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, tsf_gpio_pin, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SET_TSF_GPIO_PIN_DEFAULT, |
| CFG_SET_TSF_GPIO_PIN_MIN, |
| CFG_SET_TSF_GPIO_PIN_MAX), |
| |
| #ifdef WLAN_FEATURE_TSF_PLUS |
| REG_VARIABLE(CFG_SET_TSF_PTP_OPT_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, tsf_ptp_options, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SET_TSF_PTP_OPT_DEFAULT, |
| CFG_SET_TSF_PTP_OPT_MIN, |
| CFG_SET_TSF_PTP_OPT_MAX), |
| #endif /* WLAN_FEATURE_TSF_PLUS */ |
| #endif |
| REG_VARIABLE(CFG_FINE_TIME_MEAS_CAPABILITY, WLAN_PARAM_HexInteger, |
| hdd_config_t, fine_time_meas_cap, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FINE_TIME_MEAS_CAPABILITY_DEFAULT, |
| CFG_FINE_TIME_MEAS_CAPABILITY_MIN, |
| CFG_FINE_TIME_MEAS_CAPABILITY_MAX), |
| |
| REG_VARIABLE(CFG_P2P_LISTEN_DEFER_INTERVAL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, p2p_listen_defer_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_P2P_LISTEN_DEFER_INTERVAL_DEFAULT, |
| CFG_P2P_LISTEN_DEFER_INTERVAL_MIN, |
| CFG_P2P_LISTEN_DEFER_INTERVAL_MAX), |
| |
| REG_VARIABLE(CFG_MULTICAST_HOST_FW_MSGS, WLAN_PARAM_Integer, |
| hdd_config_t, multicast_host_fw_msgs, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MULTICAST_HOST_FW_MSGS_DEFAULT, |
| CFG_MULTICAST_HOST_FW_MSGS_MIN, |
| CFG_MULTICAST_HOST_FW_MSGS_MAX), |
| |
| REG_VARIABLE(CFG_DROPPED_PKT_DISCONNECT_TH_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, pkt_err_disconn_th, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DROPPED_PKT_DISCONNECT_TH_DEFAULT, |
| CFG_DROPPED_PKT_DISCONNECT_TH_MIN, |
| CFG_DROPPED_PKT_DISCONNECT_TH_MAX), |
| |
| REG_VARIABLE(CFG_TX_CHAIN_MASK_CCK, WLAN_PARAM_Integer, |
| hdd_config_t, tx_chain_mask_cck, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TX_CHAIN_MASK_CCK_DEFAULT, |
| CFG_TX_CHAIN_MASK_CCK_MIN, |
| CFG_TX_CHAIN_MASK_CCK_MAX), |
| |
| REG_VARIABLE(CFG_TX_CHAIN_MASK_1SS, WLAN_PARAM_Integer, |
| hdd_config_t, tx_chain_mask_1ss, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TX_CHAIN_MASK_1SS_DEFAULT, |
| CFG_TX_CHAIN_MASK_1SS_MIN, |
| CFG_TX_CHAIN_MASK_1SS_MAX), |
| |
| REG_VARIABLE(CFG_TX_SCH_DELAY, WLAN_PARAM_Integer, |
| hdd_config_t, tx_sch_delay, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TX_SCH_DELAY_DEFAULT, |
| CFG_TX_SCH_DELAY_MIN, |
| CFG_TX_SCH_DELAY_MAX), |
| |
| REG_VARIABLE(CFG_SELF_GEN_FRM_PWR, WLAN_PARAM_Integer, |
| hdd_config_t, self_gen_frm_pwr, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SELF_GEN_FRM_PWR_DEFAULT, |
| CFG_SELF_GEN_FRM_PWR_MIN, |
| CFG_SELF_GEN_FRM_PWR_MAX), |
| |
| #ifdef FEATURE_WLAN_EXTSCAN |
| REG_VARIABLE(CFG_EXTSCAN_ALLOWED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, extscan_enabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTSCAN_ALLOWED_DEF, |
| CFG_EXTSCAN_ALLOWED_MIN, |
| CFG_EXTSCAN_ALLOWED_MAX ), |
| |
| REG_VARIABLE(CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, extscan_passive_max_chn_time, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_DEFAULT, |
| CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MIN, |
| CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MAX ), |
| |
| REG_VARIABLE(CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, extscan_passive_min_chn_time, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_DEFAULT, |
| CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MIN, |
| CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MAX), |
| |
| REG_VARIABLE(CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, extscan_active_max_chn_time, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT, |
| CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MIN, |
| CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MAX), |
| |
| REG_VARIABLE(CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, extscan_active_min_chn_time, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_DEFAULT, |
| CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MIN, |
| CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MAX), |
| #endif |
| |
| |
| #ifdef WLAN_FEATURE_UDP_RESPONSE_OFFLOAD |
| REG_VARIABLE(CFG_UDP_RESP_OFFLOAD_SUPPORT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, udp_resp_offload_support, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_UDP_RESP_OFFLOAD_SUPPORT_DEFAULT, |
| CFG_UDP_RESP_OFFLOAD_SUPPORT_MIN, |
| CFG_UDP_RESP_OFFLOAD_SUPPORT_MAX), |
| |
| REG_VARIABLE(CFG_UDP_RESP_OFFLOAD_DEST_PORT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, dest_port, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_UDP_RESP_OFFLOAD_DEST_PORT_DEFAULT, |
| CFG_UDP_RESP_OFFLOAD_DEST_PORT_MIN, |
| CFG_UDP_RESP_OFFLOAD_DEST_PORT_MAX), |
| |
| REG_VARIABLE_STRING(CFG_UDP_RESP_OFFLOAD_PAYLOAD_FILTER_NAME, |
| WLAN_PARAM_String, |
| hdd_config_t, payload_filter, |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_UDP_RESP_OFFLOAD_PAYLOAD_FILTER_DEFAULT), |
| |
| REG_VARIABLE_STRING(CFG_UDP_RESP_OFFLOAD_RESPONSE_PAYLOAD_NAME, |
| WLAN_PARAM_String, |
| hdd_config_t, response_payload, |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_UDP_RESP_OFFLOAD_RESPONSE_PAYLOAD_DEFAULT), |
| |
| #endif |
| |
| #ifdef WLAN_FEATURE_WOW_PULSE |
| REG_VARIABLE(CFG_WOW_PULSE_SUPPORT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, wow_pulse_support, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WOW_PULSE_SUPPORT_DEFAULT, |
| CFG_WOW_PULSE_SUPPORT_MIN, |
| CFG_WOW_PULSE_SUPPORT_MAX), |
| |
| REG_VARIABLE(CFG_WOW_PULSE_PIN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, wow_pulse_pin, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WOW_PULSE_PIN_DEFAULT, |
| CFG_WOW_PULSE_PIN_MIN, |
| CFG_WOW_PULSE_PIN_MAX), |
| |
| REG_VARIABLE(CFG_WOW_PULSE_INTERVAL_LOW_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, wow_pulse_interval_low, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WOW_PULSE_INTERVAL_LOW_DEFAULT, |
| CFG_WOW_PULSE_INTERVAL_LOW_MIN, |
| CFG_WOW_PULSE_INTERVAL_LOW_MAX), |
| |
| REG_VARIABLE(CFG_WOW_PULSE_INTERVAL_HIGH_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, wow_pulse_interval_high, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_WOW_PULSE_INTERVAL_HIGH_DEFAULT, |
| CFG_WOW_PULSE_INTERVAL_HIGH_MIN, |
| CFG_WOW_PULSE_INTERVAL_HIGH_MAX), |
| #endif |
| |
| REG_VARIABLE(CFG_MIB_STATS_ENABLED_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, mib_stats_enabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MIB_STATS_ENABLED_DEFAULT, |
| CFG_MIB_STATS_ENABLED_MIN, |
| CFG_MIB_STATS_ENABLED_MAX), |
| |
| REG_VARIABLE(CFG_DBG_MAX_MGMT_TX_FAILURE_COUNT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, max_mgmt_tx_fail_count, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DBG_MAX_MGMT_TX_FAILURE_COUNT_DEFAULT, |
| CFG_DBG_MAX_MGMT_TX_FAILURE_COUNT_MIN, |
| CFG_DBG_MAX_MGMT_TX_FAILURE_COUNT_MAX), |
| |
| REG_VARIABLE(CFG_FIRST_SCAN_BUCKET_THRESHOLD_NAME, WLAN_PARAM_SignedInteger, |
| hdd_config_t, first_scan_bucket_threshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_FIRST_SCAN_BUCKET_THRESHOLD_DEFAULT, |
| CFG_FIRST_SCAN_BUCKET_THRESHOLD_MIN, |
| CFG_FIRST_SCAN_BUCKET_THRESHOLD_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_FATAL_EVENT_TRIGGER, WLAN_PARAM_Integer, |
| hdd_config_t, enable_fatal_event, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_FATAL_EVENT_TRIGGER_DEFAULT, |
| CFG_ENABLE_FATAL_EVENT_TRIGGER_MIN, |
| CFG_ENABLE_FATAL_EVENT_TRIGGER_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_GO_CTS2SELF_FOR_STA, |
| WLAN_PARAM_Integer, |
| hdd_config_t, enable_go_cts2self_for_sta, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_GO_CTS2SELF_FOR_STA_DEFAULT, |
| CFG_ENABLE_GO_CTS2SELF_FOR_STA_MIN, |
| CFG_ENABLE_GO_CTS2SELF_FOR_STA_MAX), |
| |
| REG_VARIABLE(CFG_INDOOR_CHANNEL_SUPPORT_NAME, |
| WLAN_PARAM_Integer, |
| hdd_config_t, indoor_channel_support, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_INDOOR_CHANNEL_SUPPORT_DEFAULT, |
| CFG_INDOOR_CHANNEL_SUPPORT_MIN, |
| CFG_INDOOR_CHANNEL_SUPPORT_MAX), |
| |
| REG_VARIABLE(CFG_SAP_TX_LEAKAGE_THRESHOLD_NAME, |
| WLAN_PARAM_Integer, |
| hdd_config_t, sap_tx_leakage_threshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_TX_LEAKAGE_THRESHOLD_DEFAULT, |
| CFG_SAP_TX_LEAKAGE_THRESHOLD_MIN, |
| CFG_SAP_TX_LEAKAGE_THRESHOLD_MAX), |
| |
| REG_VARIABLE(CFG_IGNORE_PEER_HT_MODE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ignore_peer_ht_opmode, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_IGNORE_PEER_HT_MODE_DEFAULT, |
| CFG_IGNORE_PEER_HT_MODE_MIN, |
| CFG_IGNORE_PEER_HT_MODE_MAX), |
| #ifdef WLAN_FEATURE_NAN_DATAPATH |
| REG_VARIABLE(CFG_ENABLE_NAN_DATAPATH_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enable_nan_datapath, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_NAN_DATAPATH_DEFAULT, |
| CFG_ENABLE_NAN_DATAPATH_MIN, |
| CFG_ENABLE_NAN_DATAPATH_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_NAN_NDI_CHANNEL_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, nan_datapath_ndi_channel, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_NAN_NDI_CHANNEL_DEFAULT, |
| CFG_ENABLE_NAN_NDI_CHANNEL_MIN, |
| CFG_ENABLE_NAN_NDI_CHANNEL_MAX), |
| #endif |
| REG_VARIABLE( CFG_OPTIMIZE_CA_EVENT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, goptimize_chan_avoid_event, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_OPTIMIZE_CA_EVENT_DEFAULT, |
| CFG_OPTIMIZE_CA_EVENT_DISABLE, |
| CFG_OPTIMIZE_CA_EVENT_ENABLE ), |
| |
| REG_VARIABLE(CFG_USE_OTP_MAC, WLAN_PARAM_Integer, |
| hdd_config_t, g_use_otpmac, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_USE_OTP_MAC_DEFAULT, |
| CFG_USE_OTP_MAC_MIN, |
| CFG_USE_OTP_MAC_MAX), |
| |
| REG_VARIABLE(CFG_TX_AGGREGATION_SIZE, WLAN_PARAM_Integer, |
| hdd_config_t, tx_aggregation_size, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TX_AGGREGATION_SIZE_DEFAULT, |
| CFG_TX_AGGREGATION_SIZE_MIN, |
| CFG_TX_AGGREGATION_SIZE_MAX), |
| |
| REG_VARIABLE(CFG_RX_AGGREGATION_SIZE, WLAN_PARAM_Integer, |
| hdd_config_t, rx_aggregation_size, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RX_AGGREGATION_SIZE_DEFAULT, |
| CFG_RX_AGGREGATION_SIZE_MIN, |
| CFG_RX_AGGREGATION_SIZE_MAX), |
| REG_VARIABLE(CFG_CREATE_BUG_REPORT_FOR_SCAN, WLAN_PARAM_Integer, |
| hdd_config_t, bug_report_for_scan_results, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_CREATE_BUG_REPORT_FOR_SCAN_DEFAULT, |
| CFG_CREATE_BUG_REPORT_FOR_SCAN_DISABLE, |
| CFG_CREATE_BUG_REPORT_FOR_SCAN_ENABLE), |
| |
| REG_VARIABLE(CFG_ENABLE_EDCA_INI_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enable_edca_params, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_EDCA_INI_DEFAULT, |
| CFG_ENABLE_EDCA_INI_MIN, |
| CFG_ENABLE_EDCA_INI_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_VO_CWMIN_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_vo_cwmin, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_VO_CWMIN_VALUE_DEFAULT, |
| CFG_EDCA_VO_CWMIN_VALUE_MIN, |
| CFG_EDCA_VO_CWMIN_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_VI_CWMIN_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_vi_cwmin, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_VI_CWMIN_VALUE_DEFAULT, |
| CFG_EDCA_VI_CWMIN_VALUE_MIN, |
| CFG_EDCA_VI_CWMIN_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_BK_CWMIN_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_bk_cwmin, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_BK_CWMIN_VALUE_DEFAULT, |
| CFG_EDCA_BK_CWMIN_VALUE_MIN, |
| CFG_EDCA_BK_CWMIN_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_BE_CWMIN_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_be_cwmin, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_BE_CWMIN_VALUE_DEFAULT, |
| CFG_EDCA_BE_CWMIN_VALUE_MIN, |
| CFG_EDCA_BE_CWMIN_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_VO_CWMAX_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_vo_cwmax, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_VO_CWMAX_VALUE_DEFAULT, |
| CFG_EDCA_VO_CWMAX_VALUE_MIN, |
| CFG_EDCA_VO_CWMAX_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_VI_CWMAX_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_vi_cwmax, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_VI_CWMAX_VALUE_DEFAULT, |
| CFG_EDCA_VI_CWMAX_VALUE_MIN, |
| CFG_EDCA_VI_CWMAX_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_BK_CWMAX_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_bk_cwmax, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_BK_CWMAX_VALUE_DEFAULT, |
| CFG_EDCA_BK_CWMAX_VALUE_MIN, |
| CFG_EDCA_BK_CWMAX_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_BE_CWMAX_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_be_cwmax, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_BE_CWMAX_VALUE_DEFAULT, |
| CFG_EDCA_BE_CWMAX_VALUE_MIN, |
| CFG_EDCA_BE_CWMAX_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_VO_AIFS_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_vo_aifs, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_VO_AIFS_VALUE_DEFAULT, |
| CFG_EDCA_VO_AIFS_VALUE_MIN, |
| CFG_EDCA_VO_AIFS_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_VI_AIFS_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_vi_aifs, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_VI_AIFS_VALUE_DEFAULT, |
| CFG_EDCA_VI_AIFS_VALUE_MIN, |
| CFG_EDCA_VI_AIFS_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_BK_AIFS_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_bk_aifs, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_BK_AIFS_VALUE_DEFAULT, |
| CFG_EDCA_BK_AIFS_VALUE_MIN, |
| CFG_EDCA_BK_AIFS_VALUE_MAX), |
| |
| REG_VARIABLE(CFG_EDCA_BE_AIFS_VALUE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, edca_be_aifs, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_EDCA_BE_AIFS_VALUE_DEFAULT, |
| CFG_EDCA_BE_AIFS_VALUE_MIN, |
| CFG_EDCA_BE_AIFS_VALUE_MAX), |
| |
| REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_VO, WLAN_PARAM_String, |
| hdd_config_t, tx_sched_wrr_vo, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_ENABLE_TX_SCHED_WRR_VO_DEFAULT), |
| |
| REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_VI, WLAN_PARAM_String, |
| hdd_config_t, tx_sched_wrr_vi, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_ENABLE_TX_SCHED_WRR_VI_DEFAULT), |
| |
| REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_BE, WLAN_PARAM_String, |
| hdd_config_t, tx_sched_wrr_be, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_ENABLE_TX_SCHED_WRR_BE_DEFAULT), |
| |
| REG_VARIABLE_STRING(CFG_ENABLE_TX_SCHED_WRR_BK, WLAN_PARAM_String, |
| hdd_config_t, tx_sched_wrr_bk, |
| VAR_FLAGS_OPTIONAL, |
| (void *) CFG_ENABLE_TX_SCHED_WRR_BK_DEFAULT), |
| |
| REG_VARIABLE(CFG_TGT_GTX_USR_CFG_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, tgt_gtx_usr_cfg, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TGT_GTX_USR_CFG_DEFAULT, |
| CFG_TGT_GTX_USR_CFG_MIN, |
| CFG_TGT_GTX_USR_CFG_MAX), |
| |
| REG_VARIABLE(CFG_SAP_INTERNAL_RESTART_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sap_internal_restart, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_INTERNAL_RESTART_DEFAULT, |
| CFG_SAP_INTERNAL_RESTART_MIN, |
| CFG_SAP_INTERNAL_RESTART_MAX), |
| |
| REG_VARIABLE(CFG_BUG_ON_REINIT_FAILURE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, bug_on_reinit_failure, |
| VAR_FLAGS_OPTIONAL | |
| VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BUG_ON_REINIT_FAILURE_DEFAULT, |
| CFG_BUG_ON_REINIT_FAILURE_MIN, |
| CFG_BUG_ON_REINIT_FAILURE_MAX), |
| |
| REG_VARIABLE(CFG_SAP_FORCE_11N_FOR_11AC_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sap_force_11n_for_11ac, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_FORCE_11N_FOR_11AC_DEFAULT, |
| CFG_SAP_FORCE_11N_FOR_11AC_MIN, |
| CFG_SAP_FORCE_11N_FOR_11AC_MAX), |
| |
| REG_VARIABLE(CFG_SAP_MAX_INACTIVITY_OVERRIDE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sap_max_inactivity_override, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_MAX_INACTIVITY_OVERRIDE_DEFAULT, |
| CFG_SAP_MAX_INACTIVITY_OVERRIDE_MIN, |
| CFG_SAP_MAX_INACTIVITY_OVERRIDE_MAX), |
| |
| REG_VARIABLE(CFG_ACTIVE_MODE_OFFLOAD, WLAN_PARAM_Integer, |
| hdd_config_t, active_mode_offload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ACTIVE_MODE_OFFLOAD_DEFAULT, |
| CFG_ACTIVE_MODE_OFFLOAD_MIN, |
| CFG_ACTIVE_MODE_OFFLOAD_MAX), |
| |
| REG_VARIABLE(CFG_STA_CHANGE_COUNTRYCODE_DYN_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sta_change_cc_via_beacon, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_STA_CHANGE_COUNTRYCODE_DYN_DEFAULT, |
| CFG_STA_CHANGE_COUNTRYCODE_DYN_DISABLE, |
| CFG_STA_CHANGE_COUNTRYCODE_DYN_ENABLE), |
| |
| REG_VARIABLE(CFG_SIFS_BURST_DURATION_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sifs_burst_duration, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SIFS_BURST_DURATION_DEFAULT, |
| CFG_SIFS_BURST_DURATION_MIN, |
| CFG_SIFS_BURST_DURATION_MAX), |
| |
| REG_VARIABLE(CFG_BPF_PACKET_FILTER_OFFLOAD, WLAN_PARAM_Integer, |
| struct hdd_config, bpf_packet_filter_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_BPF_PACKET_FILTER_OFFLOAD_DEFAULT, |
| CFG_BPF_PACKET_FILTER_OFFLOAD_MIN, |
| CFG_BPF_PACKET_FILTER_OFFLOAD_MAX), |
| |
| REG_VARIABLE(CFG_TDLS_ENABLE_DEFER_TIMER, WLAN_PARAM_Integer, |
| hdd_config_t, tdls_enable_defer_time, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TDLS_ENABLE_DEFER_TIMER_DEFAULT, |
| CFG_TDLS_ENABLE_DEFER_TIMER_MIN, |
| CFG_TDLS_ENABLE_DEFER_TIMER_MAX), |
| |
| REG_VARIABLE(CFG_HOST_WAKEUP_GPIO_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, host_wakeup_gpio, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_HOST_WAKEUP_GPIO_DEFAULT, |
| CFG_HOST_WAKEUP_GPIO_MIN, |
| CFG_HOST_WAKEUP_GPIO_MAX), |
| |
| REG_VARIABLE(CFG_HOST_WAKEUP_TYPE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, host_wakeup_type, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_HOST_WAKEUP_TYPE_DEFAULT, |
| CFG_HOST_WAKEUP_TYPE_MIN, |
| CFG_HOST_WAKEUP_TYPE_MAX), |
| |
| REG_VARIABLE(CFG_TARGET_WAKEUP_GPIO_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, target_wakeup_gpio, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TARGET_WAKEUP_GPIO_DEFAULT, |
| CFG_TARGET_WAKEUP_GPIO_MIN, |
| CFG_TARGET_WAKEUP_GPIO_MAX), |
| |
| REG_VARIABLE(CFG_TARGET_WAKEUP_TYPE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, target_wakeup_type, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_TARGET_WAKEUP_TYPE_DEFAULT, |
| CFG_TARGET_WAKEUP_TYPE_MIN, |
| CFG_TARGET_WAKEUP_TYPE_MAX), |
| |
| REG_VARIABLE(CFG_MAX_SCHED_SCAN_PLAN_INT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, max_sched_scan_plan_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MAX_SCHED_SCAN_PLAN_INT_DEFAULT, |
| CFG_MAX_SCHED_SCAN_PLAN_INT_MIN, |
| CFG_MAX_SCHED_SCAN_PLAN_INT_MAX), |
| |
| REG_VARIABLE(CFG_MAX_SCHED_SCAN_PLAN_ITRNS_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, max_sched_scan_plan_iterations, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_MAX_SCHED_SCAN_PLAN_ITRNS_DEFAULT, |
| CFG_MAX_SCHED_SCAN_PLAN_ITRNS_MIN, |
| CFG_MAX_SCHED_SCAN_PLAN_ITRNS_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_5G_BAND_PREF_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, enable_5g_band_pref, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_5G_BAND_PREF_DEFAULT, |
| CFG_ENABLE_5G_BAND_PREF_MIN, |
| CFG_ENABLE_5G_BAND_PREF_MAX), |
| |
| REG_VARIABLE(CFG_5G_RSSI_BOOST_THRESHOLD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, rssi_boost_threshold_5g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_5G_RSSI_BOOST_THRESHOLD_DEFAULT, |
| CFG_5G_RSSI_BOOST_THRESHOLD_MIN, |
| CFG_5G_RSSI_BOOST_THRESHOLD_MAX), |
| |
| REG_VARIABLE(CFG_5G_RSSI_BOOST_FACTOR_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, rssi_boost_factor_5g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_5G_RSSI_BOOST_FACTOR_DEFAULT, |
| CFG_5G_RSSI_BOOST_FACTOR_MIN, |
| CFG_5G_RSSI_BOOST_FACTOR_MAX), |
| |
| REG_VARIABLE(CFG_5G_MAX_RSSI_BOOST_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, max_rssi_boost_5g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_5G_MAX_RSSI_BOOST_DEFAULT, |
| CFG_5G_MAX_RSSI_BOOST_MIN, |
| CFG_5G_MAX_RSSI_BOOST_MAX), |
| |
| REG_VARIABLE(CFG_5G_RSSI_PENALIZE_THRESHOLD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, rssi_penalize_threshold_5g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_5G_RSSI_PENALIZE_THRESHOLD_DEFAULT, |
| CFG_5G_RSSI_PENALIZE_THRESHOLD_MIN, |
| CFG_5G_RSSI_PENALIZE_THRESHOLD_MAX), |
| |
| REG_VARIABLE(CFG_5G_RSSI_PENALIZE_FACTOR_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, rssi_penalize_factor_5g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_5G_RSSI_PENALIZE_FACTOR_DEFAULT, |
| CFG_5G_RSSI_PENALIZE_FACTOR_MIN, |
| CFG_5G_RSSI_PENALIZE_FACTOR_MAX), |
| |
| REG_VARIABLE(CFG_5G_MAX_RSSI_PENALIZE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, max_rssi_penalize_5g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_5G_MAX_RSSI_PENALIZE_DEFAULT, |
| CFG_5G_MAX_RSSI_PENALIZE_MIN, |
| CFG_5G_MAX_RSSI_PENALIZE_MAX), |
| |
| REG_VARIABLE(CFG_PRB_REQ_IE_WHITELIST_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, probe_req_ie_whitelist, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PRB_REQ_IE_WHITELIST_DEFAULT, |
| CFG_PRB_REQ_IE_WHITELIST_MIN, |
| CFG_PRB_REQ_IE_WHITELIST_MAX), |
| |
| REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP0_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, probe_req_ie_bitmap_0, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP0_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP0_MIN, |
| CFG_PRB_REQ_IE_BIT_MAP0_MAX), |
| |
| REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP1_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, probe_req_ie_bitmap_1, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP1_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP1_MIN, |
| CFG_PRB_REQ_IE_BIT_MAP1_MAX), |
| |
| REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP2_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, probe_req_ie_bitmap_2, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP2_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP2_MIN, |
| CFG_PRB_REQ_IE_BIT_MAP2_MAX), |
| |
| REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP3_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, probe_req_ie_bitmap_3, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP3_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP3_MIN, |
| CFG_PRB_REQ_IE_BIT_MAP3_MAX), |
| |
| REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP4_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, probe_req_ie_bitmap_4, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP4_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP4_MIN, |
| CFG_PRB_REQ_IE_BIT_MAP4_MAX), |
| |
| REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP5_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, probe_req_ie_bitmap_5, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP5_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP5_MIN, |
| CFG_PRB_REQ_IE_BIT_MAP5_MAX), |
| |
| REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP6_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, probe_req_ie_bitmap_6, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP6_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP6_MIN, |
| CFG_PRB_REQ_IE_BIT_MAP6_MAX), |
| |
| REG_VARIABLE(CFG_PRB_REQ_IE_BIT_MAP7_NAME, WLAN_PARAM_HexInteger, |
| hdd_config_t, probe_req_ie_bitmap_7, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP7_DEFAULT, |
| CFG_PRB_REQ_IE_BIT_MAP7_MIN, |
| CFG_PRB_REQ_IE_BIT_MAP7_MAX), |
| |
| REG_VARIABLE_STRING(CFG_PROBE_REQ_OUI_NAME, WLAN_PARAM_String, |
| hdd_config_t, probe_req_ouis, |
| VAR_FLAGS_OPTIONAL, |
| (void *)CFG_PROBE_REQ_OUI_DEFAULT), |
| |
| REG_VARIABLE(CFG_SUB_20_CHANNEL_WIDTH_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sub_20_channel_width, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SUB_20_CHANNEL_WIDTH_DEFAULT, |
| CFG_SUB_20_CHANNEL_WIDTH_MIN, |
| CFG_SUB_20_CHANNEL_WIDTH_MAX), |
| |
| REG_VARIABLE(CFG_RX_WAKELOCK_TIMEOUT_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, rx_wakelock_timeout, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_RX_WAKELOCK_TIMEOUT_DEFAULT, |
| CFG_RX_WAKELOCK_TIMEOUT_MIN, |
| CFG_RX_WAKELOCK_TIMEOUT_MAX), |
| |
| REG_VARIABLE(CFG_SAP_CH_SWITCH_BEACON_CNT, WLAN_PARAM_Integer, |
| hdd_config_t, sap_chanswitch_beacon_cnt, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_CH_SWITCH_BEACON_CNT_DEFAULT, |
| CFG_SAP_CH_SWITCH_BEACON_CNT_MIN, |
| CFG_SAP_CH_SWITCH_BEACON_CNT_MAX), |
| |
| REG_VARIABLE(CFG_SAP_CH_SWITCH_MODE, WLAN_PARAM_Integer, |
| hdd_config_t, sap_chanswitch_mode, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_CH_SWITCH_MODE_DEFAULT, |
| CFG_SAP_CH_SWITCH_MODE_MIN, |
| CFG_SAP_CH_SWITCH_MODE_MAX), |
| |
| REG_VARIABLE(CFG_DFS_BEACON_TX_ENHANCED, WLAN_PARAM_Integer, |
| hdd_config_t, dfs_beacon_tx_enhanced, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_DFS_BEACON_TX_ENHANCED_DEFAULT, |
| CFG_DFS_BEACON_TX_ENHANCED_MIN, |
| CFG_DFS_BEACON_TX_ENHANCED_MAX), |
| |
| REG_VARIABLE(CFG_REDUCED_BEACON_INTERVAL, WLAN_PARAM_Integer, |
| hdd_config_t, reduced_beacon_interval, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_REDUCED_BEACON_INTERVAL_DEFAULT, |
| CFG_REDUCED_BEACON_INTERVAL_MIN, |
| CFG_REDUCED_BEACON_INTERVAL_MAX), |
| |
| REG_VARIABLE(CFG_NO_ACK_ENABLE, WLAN_PARAM_Integer, |
| hdd_config_t, gEnableNoAck, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_NO_ACK_DEFAULT, |
| CFG_NO_ACK_MIN, |
| CFG_NO_ACK_MAX), |
| |
| #ifdef FEATURE_COEX_PTA_CONFIG_ENABLE |
| REG_VARIABLE(CFG_COEX_PTA_CONFIG_ENABLE, WLAN_PARAM_Integer, |
| hdd_config_t, coex_pta_config_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_COEX_PTA_CONFIG_ENABLE_DEFAULT, |
| CFG_COEX_PTA_CONFIG_ENABLE_MIN, |
| CFG_COEX_PTA_CONFIG_ENABLE_MAX), |
| |
| REG_VARIABLE(CFG_COEX_PTA_CONFIG_PARAM, WLAN_PARAM_Integer, |
| hdd_config_t, coex_pta_config_param, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_COEX_PTA_CONFIG_PARAM_DEFAULT, |
| CFG_COEX_PTA_CONFIG_PARAM_MIN, |
| CFG_COEX_PTA_CONFIG_PARAM_MAX), |
| #endif |
| |
| REG_VARIABLE(CFG_ARP_AC_CATEGORY, WLAN_PARAM_Integer, |
| hdd_config_t, arp_ac_category, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ARP_AC_CATEGORY_DEFAULT, |
| CFG_ARP_AC_CATEGORY_MIN, |
| CFG_ARP_AC_CATEGORY_MAX), |
| |
| REG_VARIABLE(CFG_SAP_PROBE_RESP_OFFLOAD_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sap_probe_resp_offload, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SAP_PROBE_RESP_OFFLOAD_DEFAULT, |
| CFG_SAP_PROBE_RESP_OFFLOAD_MIN, |
| CFG_SAP_PROBE_RESP_OFFLOAD_MAX), |
| |
| REG_VARIABLE( CFG_STA_AUTH_RETRIES_FOR_CODE17_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, sta_auth_retries_for_code17, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_STA_AUTH_RETRIES_FOR_CODE17_DEFAULT, |
| CFG_STA_AUTH_RETRIES_FOR_CODE17_MIN, |
| CFG_STA_AUTH_RETRIES_FOR_CODE17_MAX ), |
| |
| REG_VARIABLE(CFG_SKIP_MAC_CONFIG, WLAN_PARAM_Integer, |
| hdd_config_t, skip_mac_config, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_SKIP_MAC_CONFIG_DEFAULT, |
| CFG_SKIP_MAC_CONFIG_MIN, |
| CFG_SKIP_MAC_CONFIG_MAX), |
| #ifdef WLAN_FEATURE_DSRC |
| REG_VARIABLE(CFG_OCB_TX_PER_PKT_STATS_ENABLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, ocb_tx_per_pkt_stats_enabled, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_OCB_TX_PER_PKT_STATS_ENABLE_DEFAULT, |
| CFG_OCB_TX_PER_PKT_STATS_ENABLE_MIN, |
| CFG_OCB_TX_PER_PKT_STATS_ENABLE_MAX), |
| #endif |
| |
| REG_VARIABLE(CFG_CCA_THRESHOLD_ENABLE_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, cca_threshold_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_CCA_THRESHOLD_ENABLE_DEFAULT, |
| CFG_CCA_THRESHOLD_ENABLE_MIN, |
| CFG_CCA_THRESHOLD_ENABLE_MAX), |
| |
| REG_VARIABLE(CFG_CCA_THRESHOLD_2G_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, cca_threshold_2g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_CCA_THRESHOLD_2G_DEFAULT, |
| CFG_CCA_THRESHOLD_2G_MIN, |
| CFG_CCA_THRESHOLD_2G_MAX), |
| |
| REG_VARIABLE(CFG_CCA_THRESHOLD_5G_NAME, WLAN_PARAM_Integer, |
| hdd_config_t, cca_threshold_5g, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_CCA_THRESHOLD_5G_DEFAULT, |
| CFG_CCA_THRESHOLD_5G_MIN, |
| CFG_CCA_THRESHOLD_5G_MAX), |
| |
| REG_VARIABLE(CFG_ENABLE_MONITOR_ON_STA, WLAN_PARAM_Integer, |
| hdd_config_t, mon_on_sta_enable, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, |
| CFG_ENABLE_MONITOR_ON_STA_DEFAULT, |
| CFG_ENABLE_MONITOR_ON_STA_MIN, |
| CFG_ENABLE_MONITOR_ON_STA_MAX), |
| }; |
| |
| |
| #ifdef WLAN_FEATURE_MBSSID |
| REG_TABLE_ENTRY mbssid_sap_dyn_ini_reg_table[] = |
| { |
| REG_VARIABLE( CFG_SAP_SCAN_BAND_PREFERENCE, WLAN_PARAM_Integer, |
| mbssid_sap_dyn_ini_config_t, acsScanBandPreference, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK |
| | VAR_FLAGS_DYNAMIC_CFG, |
| CFG_SAP_SCAN_BAND_PREFERENCE_DEFAULT, |
| CFG_SAP_SCAN_BAND_PREFERENCE_MIN, |
| CFG_SAP_SCAN_BAND_PREFERENCE_MAX ), |
| |
| REG_VARIABLE( CFG_ACS_BAND_SWITCH_THRESHOLD, WLAN_PARAM_Integer, |
| mbssid_sap_dyn_ini_config_t, acsBandSwitchThreshold, |
| VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK |
| | VAR_FLAGS_DYNAMIC_CFG, |
| CFG_ACS_BAND_SWITCH_THRESHOLD_DEFAULT, |
| CFG_ACS_BAND_SWITCH_THRESHOLD_MIN, |
| CFG_ACS_BAND_SWITCH_THRESHOLD_MAX ), |
| }; |
| #endif |
| |
| /* |
| * This function returns a pointer to the character after the occurrence |
| * of a new line character. It also modifies the original string by replacing |
| * the '\n' character with the null character. |
| * Function returns NULL if no new line character was found before end of |
| * string was reached |
| */ |
| static char* get_next_line(char* str) |
| { |
| char c; |
| |
| if( str == NULL || *str == '\0') { |
| return NULL; |
| } |
| |
| c = *str; |
| while(c != '\n' && c != '\0' && c != 0xd) { |
| str = str + 1; |
| c = *str; |
| } |
| |
| if (c == '\0' ) { |
| return NULL; |
| } |
| else |
| { |
| *str = '\0'; |
| return (str+1); |
| } |
| |
| return NULL; |
| } |
| |
| // look for space. Ascii values to look are - |
| // 0x09 == horizontal tab |
| // 0x0a == Newline ("\n") |
| // 0x0b == vertical tab |
| // 0x0c == Newpage or feed form. |
| // 0x0d == carriage return (CR or "\r") |
| // Null ('\0') should not considered as space. |
| #define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ') |
| |
| /* |
| * This function trims any leading and trailing white spaces |
| */ |
| static char *i_trim(char *str) |
| |
| { |
| char *ptr; |
| |
| if(*str == '\0') return str; |
| |
| /* Find the first non white-space*/ |
| for (ptr = str; i_isspace(*ptr); ptr++); |
| if (*ptr == '\0') |
| return str; |
| |
| /* This is the new start of the string*/ |
| str = ptr; |
| |
| /* Find the last non white-space */ |
| ptr += strlen(ptr) - 1; |
| for (; ptr != str && i_isspace(*ptr); ptr--); |
| /* Null terminate the following character */ |
| ptr[1] = '\0'; |
| |
| return str; |
| } |
| |
| |
| //Structure to store each entry in qcom_cfg.ini file |
| typedef struct |
| { |
| char *name; |
| char *value; |
| }tCfgIniEntry; |
| |
| static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx, |
| tCfgIniEntry* iniTable, unsigned long entries); |
| |
| #ifdef WLAN_CFG_DEBUG |
| void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries) |
| { |
| unsigned long i; |
| |
| for (i = 0; i < entries; i++) { |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]", |
| WLAN_INI_FILE, iniTable[i].name, iniTable[i].value); |
| } |
| } |
| #endif |
| |
| #ifdef FEATURE_RUNTIME_PM |
| static void disable_runtime_pm(hdd_config_t *cfg_ini) |
| { |
| cfg_ini->runtime_pm = 0; |
| } |
| #else |
| static void disable_runtime_pm(hdd_config_t *cfg_ini) |
| { |
| } |
| #endif |
| |
| #ifdef FEATURE_WLAN_AUTO_SHUTDOWN |
| static void disable_auto_shutdown(hdd_config_t *cfg_ini) |
| { |
| cfg_ini->WlanAutoShutdown = 0; |
| } |
| #else |
| static void disable_auto_shutdown(hdd_config_t *cfg_ini) |
| { |
| } |
| #endif |
| |
| /** |
| * hdd_override_all_ps() - overrides to disables all the powersave features. |
| * @hdd_ctx: Pointer to HDD context. |
| * |
| * Overrides below powersave ini configurations. |
| * gEnableImps=0 |
| * gEnableBmps=0 |
| * gRuntimePM=0 |
| * gWlanAutoShutdown = 0 |
| * gEnableSuspend=0 |
| * gEnablePowerSaveOffload=0 |
| * gEnableWoW=0 |
| */ |
| static void hdd_override_all_ps(hdd_context_t *hdd_ctx) |
| { |
| hdd_config_t *cfg_ini = hdd_ctx->cfg_ini; |
| |
| cfg_ini->fIsImpsEnabled = 0; |
| cfg_ini->fIsBmpsEnabled = 0; |
| disable_runtime_pm(cfg_ini); |
| disable_auto_shutdown(cfg_ini); |
| cfg_ini->enablePowersaveOffload = 0; |
| cfg_ini->wowEnable = 0; |
| } |
| |
| /* |
| * This function reads the qcom_cfg.ini file and |
| * parses each 'Name=Value' pair in the ini file |
| */ |
| VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx) |
| { |
| int status, i=0; |
| /** Pointer for firmware image data */ |
| const struct firmware *fw = NULL; |
| char *buffer, *line, *pTemp = NULL; |
| size_t size; |
| char *name, *value; |
| /* cfgIniTable is static to avoid excess stack usage */ |
| static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS]; |
| VOS_STATUS vos_status = VOS_STATUS_SUCCESS; |
| |
| memset(cfgIniTable, 0, sizeof(cfgIniTable)); |
| |
| status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev); |
| |
| if(status) |
| { |
| hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d",__func__, status); |
| vos_status = VOS_STATUS_E_FAILURE; |
| goto config_exit; |
| } |
| if(!fw || !fw->data || !fw->size) |
| { |
| hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed", |
| __func__, WLAN_INI_FILE); |
| vos_status = VOS_STATUS_E_FAILURE; |
| goto config_exit; |
| } |
| |
| hddLog(LOG1, "%s: qcom_cfg.ini Size %zu", __func__, fw->size); |
| |
| buffer = (char*)vos_mem_malloc(fw->size + 1); |
| buffer[fw->size] = '\0'; |
| |
| if(NULL == buffer) { |
| hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__); |
| release_firmware(fw); |
| return VOS_STATUS_E_FAILURE; |
| } |
| pTemp = buffer; |
| |
| vos_mem_copy((void*)buffer,(void *)fw->data, fw->size); |
| size = fw->size; |
| |
| while (buffer != NULL) |
| { |
| line = get_next_line(buffer); |
| buffer = i_trim(buffer); |
| |
| hddLog(LOG1, "%s: item", buffer); |
| |
| if(strlen((char*)buffer) == 0 || *buffer == '#') { |
| buffer = line; |
| continue; |
| } |
| else if(strncmp(buffer, "END", 3) == 0 ) { |
| break; |
| } |
| else |
| { |
| name = buffer; |
| while(*buffer != '=' && *buffer != '\0') |
| buffer++; |
| if(*buffer != '\0') { |
| *buffer++ = '\0'; |
| i_trim(name); |
| if(strlen (name) != 0) { |
| buffer = i_trim(buffer); |
| if(strlen(buffer)>0) { |
| value = buffer; |
| while (*buffer != '\0') |
| buffer++; |
| *buffer = '\0'; |
| cfgIniTable[i].name= name; |
| cfgIniTable[i++].value= value; |
| if(i >= MAX_CFG_INI_ITEMS) { |
| hddLog(LOGE,"%s: Number of items in %s > %d", |
| __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS); |
| break; |
| } |
| } |
| } |
| } |
| } |
| buffer = line; |
| } |
| |
| //Loop through the registry table and apply all these configs |
| vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i); |
| |
| if (VOS_MONITOR_MODE == hdd_get_conparam()) |
| hdd_override_all_ps(pHddCtx); |
| |
| config_exit: |
| release_firmware(fw); |
| vos_mem_free(pTemp); |
| return vos_status; |
| } |
| |
| |
| void print_hdd_cfg(hdd_context_t *pHddCtx) |
| { |
| int i; |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******"); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %u",pHddCtx->cfg_ini->RTSThreshold) ; |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%u]",pHddCtx->cfg_ini->nAutoBmpsTimerValue); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gIbssBssid] Value =["MAC_ADDRESS_STR"]", |
| MAC_ADDR_ARRAY(pHddCtx->cfg_ini->IbssBssid.bytes)); |
| |
| for (i=0; i < VOS_MAX_CONCURRENCY_PERSONA; i++) |
| { |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [Intf%dMacAddress] Value =["MAC_ADDRESS_STR"]", |
| i, MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[i].bytes)); |
| } |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]",pHddCtx->cfg_ini->apUapsdEnabled); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]", |
| pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1], |
| pHddCtx->cfg_ini->apCntryCode[2]); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]", pHddCtx->cfg_ini->nAPAutoShutOff); |
| #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gWlanMccToSccSwitchMode] Value = [%u]", pHddCtx->cfg_ini->WlanMccToSccSwitchMode); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gWlanBandSwitchEnable] Value = [%u]", pHddCtx->cfg_ini->wlan_band_switch_enable); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gWlanApP2pGOConcurrencyEnable] Value = [%u]", pHddCtx->cfg_ini->wlan_ap_p2pgo_conc_enable); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gWlanApP2pClientConcurEnable] Value = [%u]", pHddCtx->cfg_ini->wlan_ap_p2pclient_conc_enable); |
| #endif |
| #ifdef FEATURE_WLAN_AUTO_SHUTDOWN |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gWlanAutoShutdown] Value = [%u]", pHddCtx->cfg_ini->WlanAutoShutdown); |
| #endif |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableListenMode] Value = [%u]", pHddCtx->cfg_ini->nEnableListenMode); |
| VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]",pHddCtx->cfg_ini->apProtection); |
| VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]",pHddCtx->cfg_ini->apOBSSProtEnabled); |
| #ifdef FEATURE_AP_MCC_CH_AVOIDANCE |
| VOS_TRACE (VOS_MODULE_ID_HDD, |
| VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [sap_channel_avoidance] value = [%u]", |
| pHddCtx->cfg_ini->sap_channel_avoidance); |
| #endif /* FEATURE_AP_MCC_CH_AVOIDANCE */ |
| VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [%s] value = [%u]", CFG_SAP_P2P_11AC_OVERRIDE_NAME, |
| pHddCtx->cfg_ini->sap_p2p_11ac_override); |
| |
| VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [%s] value = [%u]", CFG_FORCE_SAP_ACS, |
| pHddCtx->cfg_ini->force_sap_acs); |
| |
| VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [%s] value = [%u]", CFG_FORCE_SAP_ACS_START_CH, |
| pHddCtx->cfg_ini->force_sap_acs_st_ch); |
| |
| VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [%s] value = [%u]", CFG_FORCE_SAP_ACS_END_CH, |
| pHddCtx->cfg_ini->force_sap_acs_end_ch); |
| |
| VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gACSBandSwitchThreshold] value = [%u]", pHddCtx->cfg_ini->acsBandSwitchThreshold); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode24GHz); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [%s] Value = [%u] ", |
| CFG_OVERRIDE_HT40_20_24GHZ_NAME, pHddCtx->cfg_ini->override_ht20_40_24g); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode5GHz); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%u]",pHddCtx->cfg_ini->dot11Mode); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv); |
| #ifdef FEATURE_WLAN_ESE |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%u] ",pHddCtx->cfg_ini->InfraInactivityInterval); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [EseEnabled] Value = [%u] ",pHddCtx->cfg_ini->isEseIniFeatureEnabled); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastTransitionEnabled); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTxPowerCap] Value = [%u] dBm ",pHddCtx->cfg_ini->nTxPowerCap); |
| #endif |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAllowTPCfromAP] Value = [%u] dBm ", pHddCtx->cfg_ini->allow_tpc_from_ap); |
| #ifdef FEATURE_WLAN_LFR |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastRoamEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [MAWCEnabled] Value = [%u] ",pHddCtx->cfg_ini->MAWCEnabled); |
| #endif |
| #if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR) |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->RoamRssiDiff); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [isWESModeEnabled] Value = [%u] ",pHddCtx->cfg_ini->isWESModeEnabled); |
| #endif |
| #ifdef FEATURE_WLAN_OKC |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%u] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled); |
| #endif |
| #ifdef FEATURE_WLAN_SCAN_PNO |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [configPNOScanSupport] Value = [%u] ",pHddCtx->cfg_ini->configPNOScanSupport); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [configPNOScanTimerRepeatValue] Value = [%u] ",pHddCtx->cfg_ini->configPNOScanTimerRepeatValue); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [pno_slow_scan_multiplier] Value = [%u] ",pHddCtx->cfg_ini->pno_slow_scan_multiplier); |
| #endif |
| #ifdef FEATURE_WLAN_TDLS |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableTDLSSupport] Value = [%u] ",pHddCtx->cfg_ini->fEnableTDLSSupport); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableTDLSImplicitTrigger] Value = [%u] ",pHddCtx->cfg_ini->fEnableTDLSImplicitTrigger); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fTDLSExternalControl] Value = [%u] ",pHddCtx->cfg_ini->fTDLSExternalControl); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fTDLSUapsdMask] Value = [%u] ",pHddCtx->cfg_ini->fTDLSUapsdMask); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableTDLSBufferSta] Value = [%u] ",pHddCtx->cfg_ini->fEnableTDLSBufferSta); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableTDLSWmmMode] Value = [%u] ",pHddCtx->cfg_ini->fEnableTDLSWmmMode); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [enable_tdls_scan] Value = [%u]", |
| pHddCtx->cfg_ini->enable_tdls_scan); |
| #endif |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableNoAck] Value = [%u] ",pHddCtx->cfg_ini->gEnableNoAck); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%u] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fhostArpOffload] Value = [%u] ",pHddCtx->cfg_ini->fhostArpOffload); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ssdp] Value = [%u] ", pHddCtx->cfg_ini->ssdp); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [%s] Value = [%u] ", CFG_ENABLE_HOST_BROADCAST_NAME, pHddCtx->cfg_ini->bcastptrn); |
| #ifdef FEATURE_RUNTIME_PM |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [runtime_pm] Value = [%u] ", pHddCtx->cfg_ini->runtime_pm); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [runtime_pm_delay] Value = [%u] ", pHddCtx->cfg_ini->runtime_pm_delay); |
| #endif |
| #ifdef FEATURE_SECURE_FIRMWARE |
| hddLog(LOG2, "Name = [enable_fw_hash_check] Value = [%u]", |
| pHddCtx->cfg_ini->enable_fw_hash_check); |
| #endif |
| #ifdef FEATURE_WLAN_RA_FILTERING |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RArateLimitInterval] Value = [%u] ", pHddCtx->cfg_ini->RArateLimitInterval); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [IsRArateLimitEnabled] Value = [%u] ", pHddCtx->cfg_ini->IsRArateLimitEnabled); |
| #endif |
| #ifdef WLAN_FEATURE_VOWIFI_11R |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%u] ",pHddCtx->cfg_ini->fFTResourceReqSupported); |
| #endif |
| |
| #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [nOpportunisticThresholdDiff] Value = [%u] ", |
| pHddCtx->cfg_ini->nOpportunisticThresholdDiff); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [nRoamRescanRssiDiff] Value = [%u] ", |
| pHddCtx->cfg_ini->nRoamRescanRssiDiff); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%u] ",pHddCtx->cfg_ini->nMaxNeighborReqTries); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanPeriod); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanResultsRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nEmptyScanRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nEmptyScanRefreshPeriod); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [nRoamBmissFirstBcnt] Value = [%u] ", |
| pHddCtx->cfg_ini->nRoamBmissFirstBcnt); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [nRoamBmissFinalBcnt] Value = [%u] ", |
| pHddCtx->cfg_ini->nRoamBmissFinalBcnt); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [nRoamBeaconRssiWeight] Value = [%u] ", |
| pHddCtx->cfg_ini->nRoamBeaconRssiWeight); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [allowDFSChannelRoam] Value = [%u] ", |
| pHddCtx->cfg_ini->allowDFSChannelRoam); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [nhi_rssi_scan_max_count] Value = [%u] ", |
| pHddCtx->cfg_ini->nhi_rssi_scan_max_count); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [nhi_rssi_scan_rssi_delta] Value = [%u] ", |
| pHddCtx->cfg_ini->nhi_rssi_scan_rssi_delta); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [nhi_rssi_scan_delay] Value = [%u] ", |
| pHddCtx->cfg_ini->nhi_rssi_scan_delay); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [nhi_rssi_scan_rssi_ub] Value = [%u] ", |
| pHddCtx->cfg_ini->nhi_rssi_scan_rssi_ub); |
| #endif |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSPnoChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enable_dfs_pno_chnl_scan); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [thermalMitigationEnable] Value = [%u] ",pHddCtx->cfg_ini->thermalMitigationEnable); |
| #ifdef WLAN_FEATURE_11AC |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]",pHddCtx->cfg_ini->vhtChannelWidth); |
| #endif |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ignoreDynamicDtimInP2pMode] Value = [%u] ",pHddCtx->cfg_ini->ignoreDynamicDtimInP2pMode); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableRxSTBC] Value = [%u] ",pHddCtx->cfg_ini->enableRxSTBC); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableLpwrImgTransition] Value = [%u] ",pHddCtx->cfg_ini->enableLpwrImgTransition); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableSSR] Value = [%u] ",pHddCtx->cfg_ini->enableSSR); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableVhtFor24GHzBand] Value = [%u] ",pHddCtx->cfg_ini->enableVhtFor24GHzBand); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEnableVendorVhtFor24GHzBand] Value = [%u] ", |
| pHddCtx->cfg_ini->enable_vendor_vht_for_24ghz_band); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gFlexConnectPowerFactor] Value = [%u] ", pHddCtx->cfg_ini->flexConnectPowerFactor); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableIbssHeartBeatOffload] Value = [%u] ", pHddCtx->cfg_ini->enableIbssHeartBeatOffload); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAntennaDiversity] Value = [%u] ", pHddCtx->cfg_ini->antennaDiversity); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApKeepAlivePeriod]Value = [%u]",pHddCtx->cfg_ini->apKeepAlivePeriod); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMaxAmsduNum] Value = [%u] ", pHddCtx->cfg_ini->max_amsdu_num); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nSelect5GHzMargin] Value = [%u] ",pHddCtx->cfg_ini->nSelect5GHzMargin); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gCoalesingInIBSS] Value = [%u] ",pHddCtx->cfg_ini->isCoalesingInIBSSAllowed); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssATIMWinSize] Value = [%u] ",pHddCtx->cfg_ini->ibssATIMWinSize); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssIsPowerSaveAllowed] Value = [%u] ",pHddCtx->cfg_ini->isIbssPowerSaveAllowed); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssIsPowerCollapseAllowed] Value = [%u] ",pHddCtx->cfg_ini->isIbssPowerCollapseAllowed); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssAwakeOnTxRx] Value = [%u] ",pHddCtx->cfg_ini->isIbssAwakeOnTxRx); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssInactivityTime] Value = [%u] ",pHddCtx->cfg_ini->ibssInactivityCount); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssTxSpEndInactivityTime] Value = [%u] ",pHddCtx->cfg_ini->ibssTxSpEndInactivityTime); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssPsWarmupTime] Value = [%u] ",pHddCtx->cfg_ini->ibssPsWarmupTime); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gIbssPs1RxChainInAtim] Value = [%u] ", |
| pHddCtx->cfg_ini->ibssPs1RxChainInAtimEnable); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gIgnorePeerErpInfo] Value = [%u] ", |
| pHddCtx->cfg_ini->ignorePeerErpInfo); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fDfsPhyerrFilterOffload] Value = [%u] ",pHddCtx->cfg_ini->fDfsPhyerrFilterOffload); |
| |
| #ifdef IPA_OFFLOAD |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIPAConfig] Value = [0x%x] ",pHddCtx->cfg_ini->IpaConfig); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIPADescSize] Value = [%u] ",pHddCtx->cfg_ini->IpaDescSize); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [IpaHighBandwidthMbpsg] Value = [%u] ",pHddCtx->cfg_ini->IpaHighBandwidthMbps); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [IpaMediumBandwidthMbps] Value = [%u] ",pHddCtx->cfg_ini->IpaMediumBandwidthMbps); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [IpaLowBandwidthMbps] Value = [%u] ",pHddCtx->cfg_ini->IpaLowBandwidthMbps); |
| #endif |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableOverLapCh] Value = [%u] ",pHddCtx->cfg_ini->gEnableOverLapCh); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAcsScanBandPreference] Value = [%u] ",pHddCtx->cfg_ini->acsScanBandPreference); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gMaxOffloadPeers] Value = [%u] ",pHddCtx->cfg_ini->apMaxOffloadPeers); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gMaxOffloadReorderBuffs] value = [%u] ",pHddCtx->cfg_ini->apMaxOffloadReorderBuffs); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [overrideCountryCode] Value = [%s] ",pHddCtx->cfg_ini->overrideCountryCode); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAllowDFSChannelRoam] Value = [%u] ",pHddCtx->cfg_ini->allowDFSChannelRoam); |
| hddLog(VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gMaxConcurrentActiveSessions] Value = [%u] ", pHddCtx->cfg_ini->gMaxConcurrentActiveSessions); |
| |
| #ifdef FEATURE_BUS_BANDWIDTH |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gBusBandwidthHighThreshold] Value = [%u] ", |
| pHddCtx->cfg_ini->busBandwidthHighThreshold); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gBusBandwidthMediumThreshold] Value = [%u] ", |
| pHddCtx->cfg_ini->busBandwidthMediumThreshold); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gBusBandwidthLowThreshold] Value = [%u] ", |
| pHddCtx->cfg_ini->busBandwidthLowThreshold); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gbusBandwidthComputeInterval] Value = [%u] ", |
| pHddCtx->cfg_ini->busBandwidthComputeInterval); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gTcpDelAckThresholdHigh] Value = [%u] ", |
| pHddCtx->cfg_ini->tcpDelackThresholdHigh); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gTcpDelAckThresholdLow] Value = [%u] ", |
| pHddCtx->cfg_ini->tcpDelackThresholdLow); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [tcpDelackTimerCount] Value = [%u] ", |
| pHddCtx->cfg_ini->tcpDelackTimerCount); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [%s] Value = [%u] ", CFG_TCP_TX_HIGH_TPUT_THRESHOLD_NAME, |
| pHddCtx->cfg_ini->tcp_tx_high_tput_thres); |
| |
| #endif |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gIgnoreCAC] Value = [%u] ", |
| pHddCtx->cfg_ini->ignoreCAC); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gSapPreferredChanLocation] Value = [%u] ", |
| pHddCtx->cfg_ini->gSapPreferredChanLocation); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gDisableDfsJapanW53] Value = [%u] ", |
| pHddCtx->cfg_ini->gDisableDfsJapanW53); |
| #ifdef FEATURE_GREEN_AP |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEnableGreenAp] Value = [%u] ", |
| pHddCtx->cfg_ini->enableGreenAP); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEenableEGAP] Value = [%u] ", |
| pHddCtx->cfg_ini->enable_egap); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEGAPInactTime] Value = [%u] ", |
| pHddCtx->cfg_ini->egap_inact_time); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEGAPWaitTime] Value = [%u] ", |
| pHddCtx->cfg_ini->egap_wait_time); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEGAPFeatures] Value = [%u] ", |
| pHddCtx->cfg_ini->egap_feature_flag); |
| #endif |
| #ifdef WLAN_FEATURE_ROAM_OFFLOAD |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [isRoamOffloadEnabled] Value = [%u]", |
| pHddCtx->cfg_ini->isRoamOffloadEnabled); |
| #endif |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, |
| "Name = [gEnableHostapdEdcaLocal] Value = [%u]", |
| pHddCtx->cfg_ini->enable_hostapd_edca_local); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEnableSifsBurst] Value = [%u]", |
| pHddCtx->cfg_ini->enableSifsBurst); |
| |
| #ifdef WLAN_FEATURE_LPSS |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEnableLpassSupport] Value = [%u] ", |
| pHddCtx->cfg_ini->enablelpasssupport); |
| #endif |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEnableSelfRecovery] Value = [%u]", |
| pHddCtx->cfg_ini->enableSelfRecovery); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEnableAcTxqOptimize] Value = [%u]", |
| pHddCtx->cfg_ini->enable_ac_txq_optimize); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEnableSapSuspend] Value = [%u]", |
| pHddCtx->cfg_ini->enableSapSuspend); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gIgnorePeerHTopMode] Value = [%u]", |
| pHddCtx->cfg_ini->ignore_peer_ht_opmode); |
| #ifdef WLAN_FEATURE_EXTWOW_SUPPORT |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWoWgotoSuspend] Value = [%u]", |
| pHddCtx->cfg_ini->extWowGotoSuspend); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWowApp1WakeupPinNumber] Value = [%u]", |
| pHddCtx->cfg_ini->extWowApp1WakeupPinNumber); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWowApp2WakeupPinNumber] Value = [%u]", |
| pHddCtx->cfg_ini->extWowApp2WakeupPinNumber); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWoWApp2KAInitPingInterval] Value = [%u]", |
| pHddCtx->cfg_ini->extWowApp2KAInitPingInterval); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWoWApp2KAMinPingInterval] Value = [%u]", |
| pHddCtx->cfg_ini->extWowApp2KAMinPingInterval); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWoWApp2KAMaxPingInterval] Value = [%u]", |
| pHddCtx->cfg_ini->extWowApp2KAMaxPingInterval); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWoWApp2KAIncPingInterval] Value = [%u]", |
| pHddCtx->cfg_ini->extWowApp2KAIncPingInterval); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWoWApp2TcpSrcPort] Value = [%u]", |
| pHddCtx->cfg_ini->extWowApp2TcpSrcPort); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWoWApp2TcpDstPort] Value = [%u]", |
| pHddCtx->cfg_ini->extWowApp2TcpDstPort); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWoWApp2TcpTxTimeout] Value = [%u]", |
| pHddCtx->cfg_ini->extWowApp2TcpTxTimeout); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gExtWoWApp2TcpRxTimeout] Value = [%u]", |
| pHddCtx->cfg_ini->extWowApp2TcpRxTimeout); |
| #endif |
| #ifdef IPA_UC_STA_OFFLOAD |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gIpaUcStaOffload] Value = [%u] ", |
| pHddCtx->cfg_ini->ipa_uc_sta_offload); |
| #endif |
| |
| #ifdef DHCP_SERVER_OFFLOAD |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gDHCPServerOffloadEnable] Value = [%u]", |
| pHddCtx->cfg_ini->enableDHCPServerOffload); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gDHCPMaxNumClients] Value = [%u]", |
| pHddCtx->cfg_ini->dhcpMaxNumClients); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gDHCPClientStartIP] Value = [%u]", |
| pHddCtx->cfg_ini->dhcp_client_start_ip); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gDHCPServerIP] Value = [%s]", |
| pHddCtx->cfg_ini->dhcpServerIP); |
| #endif |
| |
| #ifdef MDNS_OFFLOAD |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSOffloadEnable] Value = [%u]", |
| pHddCtx->cfg_ini->enable_mdns_offload); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSFqdn] Value = [%s]", |
| pHddCtx->cfg_ini->mdns_fqdn); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSUniqueFqdn] Value = [%s]", |
| pHddCtx->cfg_ini->mdns_uniquefqdn); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypeA] Value = [%s]", |
| pHddCtx->cfg_ini->mdns_resp_type_a); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypeAIpv4Addr] Value = [%u]", |
| pHddCtx->cfg_ini->mdns_resp_type_a_ipv4); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypeTXT] Value = [%s]", |
| pHddCtx->cfg_ini->mdns_resp_type_txt); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypeTXTContent] Value = [%s]", |
| pHddCtx->cfg_ini->mdns_resp_type_txt_content); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypePTR] Value = [%s]", |
| pHddCtx->cfg_ini->mdns_resp_type_ptr); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypePTRDomainName] Value = [%s]", |
| pHddCtx->cfg_ini->mdns_resp_type_ptr_dname); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypeSRV] Value = [%s]", |
| pHddCtx->cfg_ini->mdns_resp_type_srv); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypeSRVPriority] Value = [%u]", |
| pHddCtx->cfg_ini->mdns_resp_type_srv_priority); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypeSRVWeight] Value = [%u]", |
| pHddCtx->cfg_ini->mdns_resp_type_srv_weight); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypeSRVPort] Value = [%u]", |
| pHddCtx->cfg_ini->mdns_resp_type_srv_port); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gMDNSResponseTypeSRVTarget] Value = [%s]", |
| pHddCtx->cfg_ini->mdns_resp_type_srv_target); |
| #endif |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEnableFatalEvent] Value = [%u] ", |
| pHddCtx->cfg_ini->enable_fatal_event); |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [gEnableDumpCollect] Value = [%u]", |
| pHddCtx->cfg_ini->is_ramdump_enabled); |
| |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "Name = [sta_auth_retries_for_code17] Value = [%u] ", |
| pHddCtx->cfg_ini->sta_auth_retries_for_code17); |
| |
| hddLog(LOG2, "Name = [gP2PListenDeferInterval] Value = [%u]", |
| pHddCtx->cfg_ini->p2p_listen_defer_interval); |
| |
| hddLog(LOG2, "Name = [gfine_time_meas_cap] Value = [%u]", |
| pHddCtx->cfg_ini->fine_time_meas_cap); |
| hddLog(LOG2, "Name = [gmax_mgmt_tx_failure_count] Value = [%u]", |
| pHddCtx->cfg_ini->max_mgmt_tx_fail_count); |
| hddLog(LOG2, "Name = [%s] Value = [%d]", |
| CFG_FIRST_SCAN_BUCKET_THRESHOLD_NAME, |
| pHddCtx->cfg_ini->first_scan_bucket_threshold); |
| |
| hddLog(LOG2, "Name = [gdot11_mib_stats_enabled] Value = [%u]", |
| pHddCtx->cfg_ini->mib_stats_enabled); |
| hddLog(LOG2, "Name = [gEnable_go_cts2self_for_sta] Value = [%u]", |
| pHddCtx->cfg_ini->enable_go_cts2self_for_sta); |
| hddLog(LOG2, "Name = [ght_mpdu_density] Value = [%u]", |
| pHddCtx->cfg_ini->ht_mpdu_density); |
| hddLog(LOG2, "Name = [gMinRestTimeConc] Value = [%u]", |
| pHddCtx->cfg_ini->min_rest_time_conc); |
| hddLog(LOG2, "Name = [gIdleTimeConc] Value = [%u]", |
| pHddCtx->cfg_ini->idle_time_conc); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_USE_OTP_MAC, pHddCtx->cfg_ini->g_use_otpmac); |
| |
| hddLog(LOG2,"Name = [%s] Value = [%u]", |
| CFG_ENABLE_EDCA_INI_NAME, |
| pHddCtx->cfg_ini->enable_edca_params); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_VO_CWMIN_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_vo_cwmin); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_VI_CWMIN_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_vi_cwmin); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_BK_CWMIN_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_bk_cwmin); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_BE_CWMIN_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_be_cwmin); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_VO_CWMAX_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_vo_cwmax); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_VI_CWMAX_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_vi_cwmax); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_BK_CWMAX_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_bk_cwmax); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_BE_CWMAX_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_be_cwmax); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_VO_AIFS_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_vo_aifs); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_VI_AIFS_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_vi_aifs); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_BK_AIFS_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_bk_aifs); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_EDCA_BE_AIFS_VALUE_NAME, |
| pHddCtx->cfg_ini->edca_be_aifs); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_ENABLE_VHT_DYNAMIC_STA_CHAINMASK, |
| pHddCtx->cfg_ini->enable_dynamic_sta_chainmask); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_BUG_ON_REINIT_FAILURE_NAME, |
| pHddCtx->cfg_ini->bug_on_reinit_failure); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%s]", |
| CFG_ENABLE_TX_SCHED_WRR_VO, |
| pHddCtx->cfg_ini->tx_sched_wrr_vo); |
| hddLog(LOG2, "Name = [%s] Value = [%s]", |
| CFG_ENABLE_TX_SCHED_WRR_VI, |
| pHddCtx->cfg_ini->tx_sched_wrr_vi); |
| hddLog(LOG2, "Name = [%s] Value = [%s]", |
| CFG_ENABLE_TX_SCHED_WRR_BK, |
| pHddCtx->cfg_ini->tx_sched_wrr_bk); |
| hddLog(LOG2, "Name = [%s] Value = [%s]", |
| CFG_ENABLE_TX_SCHED_WRR_BE, |
| pHddCtx->cfg_ini->tx_sched_wrr_be); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_TGT_GTX_USR_CFG_NAME, |
| pHddCtx->cfg_ini->tgt_gtx_usr_cfg); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_SAP_INTERNAL_RESTART_NAME, |
| pHddCtx->cfg_ini->sap_internal_restart); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_SAP_FORCE_11N_FOR_11AC_NAME, |
| pHddCtx->cfg_ini->sap_force_11n_for_11ac); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_SAP_MAX_INACTIVITY_OVERRIDE_NAME, |
| pHddCtx->cfg_ini->sap_max_inactivity_override); |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_ACTIVE_MODE_OFFLOAD, |
| pHddCtx->cfg_ini->active_mode_offload); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_BPF_PACKET_FILTER_OFFLOAD, |
| pHddCtx->cfg_ini->bpf_packet_filter_enable); |
| hddLog(LOG2, "Name = [%s] Value = [%u] ", |
| CFG_SAP_PROBE_RESP_OFFLOAD_NAME, |
| pHddCtx->cfg_ini->sap_probe_resp_offload); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_SUB_20_CHANNEL_WIDTH_NAME, |
| pHddCtx->cfg_ini->sub_20_channel_width); |
| |
| hddLog(LOGE, "Name = [%s] Value = [%u]", |
| CFG_STA_CHANGE_COUNTRYCODE_DYN_NAME , |
| pHddCtx->cfg_ini->sta_change_cc_via_beacon); |
| |
| |
| hdd_ndp_print_ini_config(pHddCtx); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%u] ", |
| CFG_TDLS_ENABLE_DEFER_TIMER, |
| pHddCtx->cfg_ini->tdls_enable_defer_time); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%x] ", |
| CFG_PRB_REQ_IE_WHITELIST_NAME, |
| pHddCtx->cfg_ini->probe_req_ie_whitelist); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%x] ", |
| CFG_PRB_REQ_IE_BIT_MAP0_NAME, |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_0); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%x] ", |
| CFG_PRB_REQ_IE_BIT_MAP1_NAME, |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_1); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%x] ", |
| CFG_PRB_REQ_IE_BIT_MAP2_NAME, |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_2); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%x] ", |
| CFG_PRB_REQ_IE_BIT_MAP3_NAME, |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_3); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%x] ", |
| CFG_PRB_REQ_IE_BIT_MAP4_NAME, |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_4); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%x] ", |
| CFG_PRB_REQ_IE_BIT_MAP5_NAME, |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_5); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%x] ", |
| CFG_PRB_REQ_IE_BIT_MAP6_NAME, |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_6); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%x] ", |
| CFG_PRB_REQ_IE_BIT_MAP7_NAME, |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_7); |
| |
| hddLog(LOG2, "Name = [%s] Value =[%s]", |
| CFG_PROBE_REQ_OUI_NAME, |
| pHddCtx->cfg_ini->probe_req_ouis); |
| |
| hddLog(LOG2, "Name = [%s] Value = [%u]", |
| CFG_ARP_AC_CATEGORY, |
| pHddCtx->cfg_ini->arp_ac_category); |
| } |
| |
| #define CFG_VALUE_MAX_LEN 256 |
| #define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN) |
| static VOS_STATUS hdd_cfg_get_config(REG_TABLE_ENTRY *reg_table, |
| unsigned long cRegTableEntries, |
| v_U8_t *ini_struct, |
| hdd_context_t *pHddCtx, char *pBuf, int buflen) |
| { |
| unsigned int idx; |
| REG_TABLE_ENTRY *pRegEntry = reg_table; |
| v_U32_t value; |
| char valueStr[CFG_VALUE_MAX_LEN]; |
| char configStr[CFG_ENTRY_MAX_LEN]; |
| char *fmt; |
| void *pField; |
| v_MACADDR_t *pMacAddr; |
| char *pCur = pBuf; |
| int curlen; |
| |
| // start with an empty string |
| *pCur = '\0'; |
| |
| for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ ) |
| { |
| pField = ini_struct + pRegEntry->VarOffset; |
| |
| if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) || |
| ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) || |
| ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) ) |
| { |
| value = 0; |
| memcpy( &value, pField, pRegEntry->VarSize ); |
| if ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) |
| { |
| fmt = "%x"; |
| } |
| else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) |
| { |
| fmt = "%d"; |
| } |
| else |
| { |
| fmt = "%u"; |
| } |
| snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value); |
| } |
| else if ( WLAN_PARAM_String == pRegEntry->RegType ) |
| { |
| snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField); |
| } |
| else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType ) |
| { |
| pMacAddr = (v_MACADDR_t *) pField; |
| snprintf(valueStr, CFG_VALUE_MAX_LEN, |
| "%02x:%02x:%02x:%02x:%02x:%02x", |
| pMacAddr->bytes[0], |
| pMacAddr->bytes[1], |
| pMacAddr->bytes[2], |
| pMacAddr->bytes[3], |
| pMacAddr->bytes[4], |
| pMacAddr->bytes[5]); |
| } |
| else |
| { |
| snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)"); |
| } |
| curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN, |
| "%s=[%s]%s\n", |
| pRegEntry->RegName, |
| valueStr, |
| test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ? |
| "*" : ""); |
| |
| // ideally we want to return the config to the application |
| // however the config is too big so we just printk() for now |
| #ifdef RETURN_IN_BUFFER |
| if (curlen < buflen) |
| { |
| // copy string + '\0' |
| memcpy(pCur, configStr, curlen+1); |
| |
| // account for addition; |
| pCur += curlen; |
| buflen -= curlen; |
| } |
| else |
| { |
| // buffer space exhausted, return what we have |
| return VOS_STATUS_E_RESOURCES; |
| } |
| #else |
| printk(KERN_INFO "%s", configStr); |
| #endif // RETURN_IN_BUFFER |
| } |
| |
| #ifndef RETURN_IN_BUFFER |
| // notify application that output is in system log |
| snprintf(pCur, buflen, "WLAN configuration written to system log"); |
| #endif // RETURN_IN_BUFFER |
| |
| return VOS_STATUS_SUCCESS; |
| } |
| |
| VOS_STATUS hdd_cfg_get_global_config(hdd_context_t *pHddCtx, char *pBuf, |
| int buflen) |
| { |
| return hdd_cfg_get_config(g_registry_table, ARRAY_SIZE(g_registry_table), |
| (v_U8_t *) pHddCtx->cfg_ini, |
| pHddCtx, pBuf, buflen); |
| } |
| |
| #ifdef WLAN_FEATURE_MBSSID |
| VOS_STATUS hdd_cfg_get_sap_dyn_config(hdd_adapter_t *pAdapter, char *pBuf, |
| int buflen) |
| { |
| return hdd_cfg_get_config(mbssid_sap_dyn_ini_reg_table, |
| ARRAY_SIZE(mbssid_sap_dyn_ini_reg_table), |
| (v_U8_t *) &pAdapter->sap_dyn_ini_cfg, |
| WLAN_HDD_GET_CTX(pAdapter), |
| pBuf, buflen); |
| } |
| #endif |
| |
| static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries, |
| char *name, char** value) |
| { |
| VOS_STATUS status = VOS_STATUS_E_FAILURE; |
| unsigned long i; |
| |
| for (i = 0; i < entries; i++) { |
| if (strcmp(iniTable[i].name, name) == 0) { |
| *value = iniTable[i].value; |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ", |
| WLAN_INI_FILE, name, *value); |
| return VOS_STATUS_SUCCESS; |
| } |
| } |
| |
| return status; |
| } |
| |
| static int parseHexDigit(char c) |
| { |
| if (c >= '0' && c <= '9') |
| return c-'0'; |
| if (c >= 'a' && c <= 'f') |
| return c-'a'+10; |
| if (c >= 'A' && c <= 'F') |
| return c-'A'+10; |
| |
| return 0; |
| } |
| |
| /* convert string to 6 bytes mac address |
| * 00AA00BB00CC -> 0x00 0xAA 0x00 0xBB 0x00 0xCC |
| */ |
| static void update_mac_from_string(hdd_context_t *pHddCtx, tCfgIniEntry *macTable, int num) |
| { |
| int i = 0, j = 0, res = 0; |
| char *candidate = NULL; |
| v_MACADDR_t macaddr[VOS_MAX_CONCURRENCY_PERSONA]; |
| |
| memset(macaddr, 0, sizeof(macaddr)); |
| |
| for (i = 0; i < num; i++) |
| { |
| candidate = macTable[i].value; |
| for (j = 0; j < VOS_MAC_ADDR_SIZE; j++) { |
| res = hex2bin(&macaddr[i].bytes[j], &candidate[(j<<1)], 1); |
| if (res < 0) |
| break; |
| } |
| if (res == 0 && !vos_is_macaddr_zero(&macaddr[i])) { |
| vos_mem_copy((v_U8_t *)&pHddCtx->cfg_ini->intfMacAddr[i].bytes[0], |
| (v_U8_t *)&macaddr[i].bytes[0], VOS_MAC_ADDR_SIZE); |
| } |
| } |
| } |
| |
| /* |
| * This function tries to update mac address from cfg file. |
| * It overwrites the MAC address if config file exist. |
| */ |
| VOS_STATUS hdd_update_mac_config(hdd_context_t *pHddCtx) |
| { |
| int status, i = 0; |
| const struct firmware *fw = NULL; |
| char *line, *buffer = NULL, *temp = NULL; |
| char *name, *value; |
| tCfgIniEntry macTable[VOS_MAX_CONCURRENCY_PERSONA]; |
| tSirMacAddr customMacAddr; |
| |
| VOS_STATUS vos_status = VOS_STATUS_SUCCESS; |
| |
| memset(macTable, 0, sizeof(macTable)); |
| status = request_firmware(&fw, WLAN_MAC_FILE, pHddCtx->parent_dev); |
| |
| if (status) |
| { |
| hddLog(VOS_TRACE_LEVEL_WARN, "%s: request_firmware failed %d", |
| __func__, status); |
| vos_status = VOS_STATUS_E_FAILURE; |
| return vos_status; |
| } |
| if (!fw || !fw->data || !fw->size) |
| { |
| hddLog(VOS_TRACE_LEVEL_FATAL, "%s: invalid firmware", __func__); |
| vos_status = VOS_STATUS_E_INVAL; |
| goto config_exit; |
| } |
| |
| temp = buffer = (char *) vos_mem_malloc(fw->size + 1); |
| if (NULL == buffer) { |
| hddLog(VOS_TRACE_LEVEL_FATAL, "%s: unable to allocate memory",__func__); |
| release_firmware(fw); |
| return VOS_STATUS_E_NOMEM; |
| } |
| |
| vos_mem_copy((void*)buffer,(void *)fw->data, fw->size); |
| buffer[fw->size] = '\0'; |
| |
| /* data format: |
| * Intf0MacAddress=00AA00BB00CC |
| * Intf1MacAddress=00AA00BB00CD |
| * END |
| */ |
| while (buffer != NULL) |
| { |
| line = get_next_line(buffer); |
| buffer = i_trim(buffer); |
| |
| if (strlen((char *)buffer) == 0 || *buffer == '#') { |
| buffer = line; |
| continue; |
| } |
| if (strncmp(buffer, "END", 3) == 0) |
| break; |
| |
| name = buffer; |
| buffer = strchr(buffer, '='); |
| if (buffer) { |
| *buffer++ = '\0'; |
| i_trim(name); |
| if (strlen(name) != 0) { |
| buffer = i_trim(buffer); |
| if (strlen(buffer) == 12) { |
| value = buffer; |
| macTable[i].name = name; |
| macTable[i++].value = value; |
| if (i >= VOS_MAX_CONCURRENCY_PERSONA) |
| break; |
| } |
| } |
| } |
| buffer = line; |
| } |
| if (i <= VOS_MAX_CONCURRENCY_PERSONA) { |
| hddLog(VOS_TRACE_LEVEL_INFO, "%s: %d Mac addresses provided", __func__, i); |
| } |
| else { |
| hddLog(VOS_TRACE_LEVEL_ERROR, "%s: invalid number of Mac address provided, nMac = %d", |
| __func__, i); |
| vos_status = VOS_STATUS_E_INVAL; |
| goto config_exit; |
| } |
| |
| update_mac_from_string(pHddCtx, &macTable[0], i); |
| |
| vos_mem_copy(&customMacAddr, |
| &pHddCtx->cfg_ini->intfMacAddr[0].bytes[0], |
| sizeof(tSirMacAddr)); |
| sme_SetCustomMacAddr(customMacAddr); |
| |
| config_exit: |
| release_firmware(fw); |
| vos_mem_free(temp); |
| return vos_status; |
| } |
| |
| static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries) |
| { |
| VOS_STATUS match_status = VOS_STATUS_E_FAILURE; |
| VOS_STATUS ret_status = VOS_STATUS_SUCCESS; |
| unsigned int idx; |
| void *pField; |
| char *value_str = NULL; |
| unsigned long len_value_str; |
| char *candidate; |
| v_U32_t value; |
| v_S31_t svalue; |
| void *pStructBase = pHddCtx->cfg_ini; |
| REG_TABLE_ENTRY *pRegEntry = g_registry_table; |
| unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]); |
| v_U32_t cbOutString; |
| int i; |
| int rv; |
| |
| if (MAX_CFG_INI_ITEMS < cRegTableEntries) { |
| hddLog(LOGE, FL("MAX_CFG_INI_ITEMS too small, must be at least %ld"), |
| cRegTableEntries); |
| WARN_ON(1); |
| } |
| |
| for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ ) |
| { |
| //Calculate the address of the destination field in the structure. |
| pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset; |
| |
| match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str); |
| |
| if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) ) |
| { |
| // If we could not read the cfg item and it is required, this is an error. |
| hddLog(LOGE, "%s: Failed to read required config parameter %s", |
| __func__, pRegEntry->RegName); |
| ret_status = VOS_STATUS_E_FAILURE; |
| break; |
| } |
| |
| if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) || |
| ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) ) |
| { |
| // If successfully read from the registry, use the value read. |
| // If not, use the default value. |
| if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) { |
| rv = kstrtou32(value_str, 10, &value); |
| if (rv < 0) { |
| hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default", |
| __func__, pRegEntry->RegName); |
| value = pRegEntry->VarDefault; |
| } |
| } |
| else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) { |
| rv = kstrtou32(value_str, 16, &value); |
| if (rv < 0) { |
| hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default", |
| __func__, pRegEntry->RegName); |
| value = pRegEntry->VarDefault; |
| } |
| } |
| else { |
| value = pRegEntry->VarDefault; |
| } |
| |
| // If this parameter needs range checking, do it here. |
| if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK ) |
| { |
| if ( value > pRegEntry->VarMax ) |
| { |
| hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Maximum", |
| __func__, pRegEntry->RegName, value, pRegEntry->VarMax ); |
| value = pRegEntry->VarMax; |
| } |
| |
| if ( value < pRegEntry->VarMin ) |
| { |
| hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Minimum", |
| __func__, pRegEntry->RegName, value, pRegEntry->VarMin); |
| value = pRegEntry->VarMin; |
| } |
| } |
| // If this parameter needs range checking, do it here. |
| else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT ) |
| { |
| if ( value > pRegEntry->VarMax ) |
| { |
| hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Default= %lu", |
| __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault ); |
| value = pRegEntry->VarDefault; |
| } |
| |
| if ( value < pRegEntry->VarMin ) |
| { |
| hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Default= %lu", |
| __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault ); |
| value = pRegEntry->VarDefault; |
| } |
| } |
| |
| // Move the variable into the output field. |
| memcpy( pField, &value, pRegEntry->VarSize ); |
| } |
| else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) |
| { |
| // If successfully read from the registry, use the value read. |
| // If not, use the default value. |
| if (VOS_STATUS_SUCCESS == match_status) |
| { |
| rv = kstrtos32(value_str, 10, &svalue); |
| if (rv < 0) { |
| hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default", |
| __func__, pRegEntry->RegName); |
| svalue = (v_S31_t)pRegEntry->VarDefault; |
| } |
| } |
| else |
| { |
| svalue = (v_S31_t)pRegEntry->VarDefault; |
| } |
| |
| // If this parameter needs range checking, do it here. |
| if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK ) |
| { |
| if ( svalue > (v_S31_t)pRegEntry->VarMax ) |
| { |
| hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum " |
| "[%d > %d]. Enforcing Maximum", __func__, |
| pRegEntry->RegName, svalue, (int)pRegEntry->VarMax ); |
| svalue = (v_S31_t)pRegEntry->VarMax; |
| } |
| |
| if ( svalue < (v_S31_t)pRegEntry->VarMin ) |
| { |
| hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum " |
| "[%d < %d]. Enforcing Minimum", __func__, |
| pRegEntry->RegName, svalue, (int)pRegEntry->VarMin); |
| svalue = (v_S31_t)pRegEntry->VarMin; |
| } |
| } |
| // If this parameter needs range checking, do it here. |
| else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT ) |
| { |
| if ( svalue > (v_S31_t)pRegEntry->VarMax ) |
| { |
| hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum " |
| "[%d > %d]. Enforcing Default= %d", |
| __func__, pRegEntry->RegName, svalue, |
| (int)pRegEntry->VarMax, |
| (int)pRegEntry->VarDefault ); |
| svalue = (v_S31_t)pRegEntry->VarDefault; |
| } |
| |
| if ( svalue < (v_S31_t)pRegEntry->VarMin ) |
| { |
| hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum " |
| "[%d < %d]. Enforcing Default= %d", |
| __func__, pRegEntry->RegName, svalue, |
| (int)pRegEntry->VarMin, |
| (int)pRegEntry->VarDefault); |
| svalue = pRegEntry->VarDefault; |
| } |
| } |
| |
| // Move the variable into the output field. |
| memcpy( pField, &svalue, pRegEntry->VarSize ); |
| } |
| // Handle string parameters |
| else if ( WLAN_PARAM_String == pRegEntry->RegType ) |
| { |
| #ifdef WLAN_CFG_DEBUG |
| VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "RegName = %s, VarOffset %u VarSize %u VarDefault %s", |
| pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault); |
| #endif |
| if ( match_status == VOS_STATUS_SUCCESS) |
| { |
| len_value_str = strlen(value_str); |
| |
| if(len_value_str > (pRegEntry->VarSize - 1)) { |
| hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s", |
| __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE); |
| cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 ); |
| memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString ); |
| ( (v_U8_t *)pField )[ cbOutString ] = '\0'; |
| } |
| else |
| { |
| memcpy( pField, (void *)(value_str), len_value_str); |
| ( (v_U8_t *)pField )[ len_value_str ] = '\0'; |
| } |
| } |
| else |
| { |
| // Failed to read the string parameter from the registry. Use the default. |
| cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 ); |
| memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString ); |
| ( (v_U8_t *)pField )[ cbOutString ] = '\0'; |
| } |
| } |
| else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType ) |
| { |
| if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) { |
| hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]", |
| __func__, pRegEntry->VarSize, pRegEntry->RegName); |
| continue; |
| } |
| candidate = (char*)pRegEntry->VarDefault; |
| if ( match_status == VOS_STATUS_SUCCESS) { |
| len_value_str = strlen(value_str); |
| if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) { |
| hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s", |
| __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE); |
| } |
| else |
| candidate = value_str; |
| } |
| //parse the string and store it in the byte array |
| for(i=0; i<VOS_MAC_ADDR_SIZE; i++) |
| { |
| ((char*)pField)[i] = |
| (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1])); |
| } |
| } |
| else |
| { |
| hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table", |
| __func__, pRegEntry->RegName); |
| } |
| |
| // did we successfully parse a cfg item for this parameter? |
| if( (match_status == VOS_STATUS_SUCCESS) && |
| (idx < MAX_CFG_INI_ITEMS) ) |
| { |
| set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg); |
| } |
| } |
| |
| print_hdd_cfg(pHddCtx); |
| |
| return( ret_status ); |
| } |
| |
| #ifdef WLAN_FEATURE_MBSSID |
| v_VOID_t hdd_mbssid_apply_def_cfg_ini(hdd_adapter_t *pAdapter) |
| { |
| hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pAdapter); |
| hdd_config_t *iniConfig = pHddCtx->cfg_ini; |
| mbssid_sap_dyn_ini_config_t *sap_ini_cfg = &pAdapter->sap_dyn_ini_cfg; |
| |
| sap_ini_cfg->acsScanBandPreference = iniConfig->acsScanBandPreference; |
| sap_ini_cfg->acsBandSwitchThreshold = iniConfig->acsBandSwitchThreshold; |
| } |
| #endif |
| |
| eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode ) |
| { |
| switch (dot11Mode) |
| { |
| case (eHDD_DOT11_MODE_abg): |
| return eCSR_DOT11_MODE_abg; |
| case (eHDD_DOT11_MODE_11b): |
| return eCSR_DOT11_MODE_11b; |
| case (eHDD_DOT11_MODE_11g): |
| return eCSR_DOT11_MODE_11g; |
| default: |
| case (eHDD_DOT11_MODE_11n): |
| return eCSR_DOT11_MODE_11n; |
| case (eHDD_DOT11_MODE_11g_ONLY): |
| return eCSR_DOT11_MODE_11g_ONLY; |
| case (eHDD_DOT11_MODE_11n_ONLY): |
| return eCSR_DOT11_MODE_11n_ONLY; |
| case (eHDD_DOT11_MODE_11b_ONLY): |
| return eCSR_DOT11_MODE_11b_ONLY; |
| #ifdef WLAN_FEATURE_11AC |
| case (eHDD_DOT11_MODE_11ac_ONLY): |
| return eCSR_DOT11_MODE_11ac_ONLY; |
| case (eHDD_DOT11_MODE_11ac): |
| return eCSR_DOT11_MODE_11ac; |
| #else |
| /* If 11AC support is not compiled set Auto mode */ |
| case (eHDD_DOT11_MODE_11ac): |
| case (eHDD_DOT11_MODE_11ac_ONLY): |
| return eCSR_DOT11_MODE_AUTO; |
| #endif |
| case (eHDD_DOT11_MODE_AUTO): |
| return eCSR_DOT11_MODE_AUTO; |
| case (eHDD_DOT11_MODE_11a): |
| return eCSR_DOT11_MODE_11a; |
| } |
| |
| } |
| |
| #ifdef FEATURE_WLAN_SUB_20_MHZ |
| /** |
| * hdd_cfg_get_sub20_dyn_capabilities() |
| * @hdd_ctx_ptr: HDD context |
| * |
| * This function is used to get dynamic capabilities of sub 20MHz channel width |
| * Return: sub 20 channel width |
| */ |
| uint8_t hdd_cfg_get_sub20_dyn_capabilities(hdd_context_t *hdd_ctx_ptr) |
| { |
| hdd_config_t *config_ptr = hdd_ctx_ptr->cfg_ini; |
| uint8_t sub_20_channel_width = config_ptr->sub_20_channel_width; |
| |
| switch (sub_20_channel_width) { |
| case CFG_SUB_20_CHANNEL_WIDTH_DYN_5MHZ: |
| return SUB20_MODE_5MHZ; |
| case CFG_SUB_20_CHANNEL_WIDTH_DYN_10MHZ: |
| return SUB20_MODE_10MHZ; |
| case CFG_SUB_20_CHANNEL_WIDTH_DYN_ALL: |
| case CFG_SUB_20_CHANNEL_WIDTH_MANUAL: |
| return SUB20_MODE_5MHZ | SUB20_MODE_10MHZ; |
| default: |
| return SUB20_MODE_NONE; |
| } |
| } |
| /** |
| * hdd_cfg_get_static_sub20_channel_width() |
| * @hdd_ctx_ptr: HDD context |
| * |
| * This function is used to get static sub 20MHz channel width |
| * Return: sub 20 channel width |
| */ |
| uint8_t hdd_cfg_get_static_sub20_channel_width(hdd_context_t *hdd_ctx_ptr) |
| { |
| hdd_config_t *config_ptr = hdd_ctx_ptr->cfg_ini; |
| |
| if (config_ptr->sub_20_channel_width == |
| CFG_SUB_20_CHANNEL_WIDTH_5MHZ) { |
| return SUB20_MODE_5MHZ; |
| } else if (config_ptr->sub_20_channel_width == |
| CFG_SUB_20_CHANNEL_WIDTH_10MHZ) { |
| return SUB20_MODE_10MHZ; |
| } |
| return SUB20_MODE_NONE; |
| } |
| |
| /** |
| * hdd_cfg_is_sub20_channel_width_enabled() |
| * @hdd_ctx_ptr: HDD context |
| * |
| * This function is used to check if sub 20MHz enabled |
| * Return: true of false |
| */ |
| bool hdd_cfg_is_sub20_channel_width_enabled(hdd_context_t *hdd_ctx_ptr) |
| { |
| hdd_config_t *config_ptr = hdd_ctx_ptr->cfg_ini; |
| |
| return config_ptr->sub_20_channel_width != |
| CFG_SUB_20_CHANNEL_WIDTH_DISABLE; |
| } |
| |
| /** |
| * hdd_cfg_is_static_sub20_channel_width_enabled() |
| * @hdd_ctx_ptr: HDD context |
| * |
| * This function is used to check if static sub 20MHz enabled |
| * Return: true of false |
| */ |
| bool hdd_cfg_is_static_sub20_channel_width_enabled(hdd_context_t *hdd_ctx_ptr) |
| { |
| hdd_config_t *config_ptr = hdd_ctx_ptr->cfg_ini; |
| |
| return (config_ptr->sub_20_channel_width == |
| CFG_SUB_20_CHANNEL_WIDTH_5MHZ) || |
| (config_ptr->sub_20_channel_width == |
| CFG_SUB_20_CHANNEL_WIDTH_10MHZ); |
| } |
| |
| /** |
| * hdd_cfg_get_sub20_channel_config() |
| * @hdd_ctx_ptr: HDD context |
| * |
| * This function is used to get sub20 config |
| * Return: sub20 config value |
| */ |
| uint8_t hdd_cfg_get_sub20_channel_config(hdd_context_t *hdd_ctx_ptr) |
| { |
| hdd_config_t *config_ptr = hdd_ctx_ptr->cfg_ini; |
| |
| if (config_ptr->sub_20_channel_width >= CFG_SUB_20_CHANNEL_WIDTH_MIN && |
| config_ptr->sub_20_channel_width <= CFG_SUB_20_CHANNEL_WIDTH_MAX) |
| return config_ptr->sub_20_channel_width; |
| return 0; |
| } |
| #endif |
| |
| #ifdef WLAN_FEATURE_TSF_PLUS |
| bool hdd_cfg_is_ptp_opt_enable(hdd_context_t *hdd_ctx_ptr) |
| { |
| hdd_config_t *config_ptr = hdd_ctx_ptr->cfg_ini; |
| |
| return (config_ptr->tsf_ptp_options != 0); |
| } |
| #endif |
| |
| static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig) |
| { |
| hdd_config_t *pConfig = pHddCtx->cfg_ini; |
| |
| tPmcBmpsConfigParams bmpsParams; |
| |
| sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams); |
| |
| if (strcmp(pConfig->PowerUsageControl, "Min") == 0) |
| { |
| smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime; |
| bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval; |
| bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination; |
| bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval; |
| } |
| if (strcmp(pConfig->PowerUsageControl, "Max") == 0) |
| { |
| smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime; |
| bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval; |
| bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination; |
| bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval; |
| } |
| if (strcmp(pConfig->PowerUsageControl, "Mod") == 0) |
| { |
| smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime; |
| bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval; |
| bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination; |
| bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval; |
| } |
| |
| if (pConfig->fIsImpsEnabled) |
| { |
| sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE); |
| } |
| else |
| { |
| sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE); |
| } |
| |
| /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism |
| If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */ |
| sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn); |
| |
| if (pConfig->fIsBmpsEnabled) |
| { |
| sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE); |
| } |
| else |
| { |
| sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE); |
| } |
| |
| bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue; |
| |
| if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE) |
| { |
| hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params"); |
| } |
| |
| if(pConfig->fIsAutoBmpsTimerEnabled) |
| { |
| sme_StartAutoBmpsTimer(pHddCtx->hHal); |
| } |
| |
| } |
| |
| static void hdd_set_power_save_offload_config(hdd_context_t *pHddCtx) |
| { |
| hdd_config_t *pConfig = pHddCtx->cfg_ini; |
| tANI_U32 listenInterval = 0; |
| |
| if (strcmp(pConfig->PowerUsageControl, "Min") == 0) |
| { |
| listenInterval = pConfig->nBmpsMinListenInterval; |
| } |
| else if (strcmp(pConfig->PowerUsageControl, "Max") == 0) |
| { |
| listenInterval = pConfig->nBmpsMaxListenInterval; |
| } |
| else if (strcmp(pConfig->PowerUsageControl, "Mod") == 0) |
| { |
| listenInterval = pConfig->nBmpsModListenInterval; |
| } |
| |
| /* |
| * Based on Mode Set the LI |
| * Otherwise default LI value of 1 will |
| * be taken |
| */ |
| if (listenInterval) |
| { |
| /* |
| * setcfg for listenInterval. |
| * Make sure CFG is updated because PE reads this |
| * from CFG at the time of assoc or reassoc |
| */ |
| ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LISTEN_INTERVAL, listenInterval, |
| NULL, eANI_BOOLEAN_FALSE); |
| } |
| |
| if(pConfig->fIsBmpsEnabled) |
| { |
| sme_ConfigEnablePowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE); |
| } |
| else |
| { |
| sme_ConfigDisablePowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE); |
| } |
| } |
| |
| VOS_STATUS hdd_set_idle_ps_config(hdd_context_t *pHddCtx, v_U32_t val) |
| { |
| hdd_config_t *pConfig = pHddCtx->cfg_ini; |
| VOS_STATUS status = VOS_STATUS_SUCCESS; |
| |
| hddLog(LOG1, "hdd_set_idle_ps_config: Enter Val %d pconfig %pK ", |
| val, pConfig); |
| |
| if(pConfig && pConfig->fIsImpsEnabled) |
| { |
| status = sme_SetIdlePowersaveConfig(pHddCtx->pvosContext, val); |
| if(VOS_STATUS_SUCCESS != status) |
| { |
| hddLog(LOGE, "Fail to Set Idle PS Config val %d", val); |
| } |
| } |
| else |
| { |
| hddLog(LOG1, "hdd_set_idle_ps_config: IMPS not enabled in ini"); |
| } |
| return status; |
| } |
| |
| /** |
| * hdd_set_fine_time_meas_cap() - set fine timing measurement capability |
| * @hdd_ctx: HDD context |
| * @sme_config: pointer to SME config |
| * |
| * This function is used to pass fine timing measurement capability coming |
| * from INI to SME. This function make sure that configure INI is supported |
| * by the device. Use bit mask to mask out the unsupported capabilities. |
| * |
| * Return: None |
| */ |
| static void hdd_set_fine_time_meas_cap(hdd_context_t *hdd_ctx, |
| tSmeConfigParams *sme_config) |
| { |
| hdd_config_t *config = hdd_ctx->cfg_ini; |
| uint32_t capability = config->fine_time_meas_cap; |
| |
| /* Make sure only supported capabilities are enabled in INI */ |
| capability &= CFG_FINE_TIME_MEAS_CAPABILITY_MAX; |
| sme_config->fine_time_meas_cap = capability; |
| |
| hddLog(LOG1, FL("fine time meas capability - INI: %04x Enabled: %04x"), |
| config->fine_time_meas_cap, sme_config->fine_time_meas_cap); |
| |
| return; |
| } |
| |
| /** |
| * hdd_convert_string_to_u8_array() - used to convert string into u8 array |
| * @str: String to be converted |
| * @hex_array: Array where converted value is stored |
| * @len: Length of the populated array |
| * @array_max_len: Maximum length of the array |
| * @to_hex: true, if conversion required for hex string |
| * |
| * This API is called to convert string (each byte separated by |
| * a comma) into an u8 array |
| * |
| * Return: VOS_STATUS |
| */ |
| |
| static VOS_STATUS hdd_convert_string_to_array(char *str, uint8_t *array, |
| uint8_t *len, uint8_t array_max_len, bool to_hex) |
| { |
| char *format, *s = str; |
| |
| if (str == NULL || array == NULL || len == NULL) |
| return VOS_STATUS_E_INVAL; |
| |
| format = (to_hex) ? "%02x" : "%d"; |
| |
| *len = 0; |
| while ((s != NULL) && (*len < array_max_len)) { |
| int val; |
| /* Increment length only if sscanf successfully extracted |
| * one element. Any other return value means error. |
| * Ignore it. */ |
| if (sscanf(s, format, &val) == 1) { |
| array[*len] = (tANI_U8) val; |
| *len += 1; |
| } |
| |
| s = strpbrk(s, ","); |
| if (s) |
| s++; |
| } |
| |
| return VOS_STATUS_SUCCESS; |
| } |
| |
| /** |
| * hdd_hex_string_to_u8_array() - used to convert hex string into u8 array |
| * @str: Hexadecimal string |
| * @hex_array: Array where converted value is stored |
| * @len: Length of the populated array |
| * @array_max_len: Maximum length of the array |
| * |
| * This API is called to convert hexadecimal string (each byte separated by |
| * a comma) into an u8 array |
| * |
| * Return: VOS_STATUS |
| */ |
| VOS_STATUS hdd_hex_string_to_u8_array(char *str, uint8_t *hex_array, |
| uint8_t *len, uint8_t array_max_len) |
| { |
| return hdd_convert_string_to_array(str, hex_array, len, |
| array_max_len, true); |
| } |
| |
| /** |
| * hdd_string_to_u8_array() - used to convert decimal string into u8 array |
| * @str: Decimal string |
| * @hex_array: Array where converted value is stored |
| * @len: Length of the populated array |
| * @array_max_len: Maximum length of the array |
| * |
| * This API is called to convert decimal string (each byte separated by |
| * a comma) into an u8 array |
| * |
| * Return: VOS_STATUS |
| */ |
| |
| VOS_STATUS hdd_string_to_u8_array(char *str, uint8_t *array, |
| uint8_t *len, uint8_t array_max_len) |
| { |
| return hdd_convert_string_to_array(str, array, len, |
| array_max_len, false); |
| } |
| |
| /** |
| * hdd_hex_string_to_u16_array() - convert a hex string to a uint16 array |
| * @str: input string |
| * @int_array: pointer to input array of type uint16 |
| * @len: pointer to number of elements which the function adds to the array |
| * @int_array_max_len: maximum number of elements in input uint16 array |
| * |
| * This function is used to convert a space separated hex string to an array of |
| * uint16_t. For example, an input string str = "a b c d" would be converted to |
| * a unint16 array, int_array = {0xa, 0xb, 0xc, 0xd}, *len = 4. |
| * This assumes that input value int_array_max_len >= 4. |
| * |
| * Return: VOS_STATUS_SUCCESS - if the conversion is successful |
| * non zero value - if the conversion is a failure |
| */ |
| VOS_STATUS hdd_hex_string_to_u16_array(char *str, |
| uint16_t *int_array, uint8_t *len, uint8_t int_array_max_len) |
| { |
| char *s = str; |
| uint32_t val = 0; |
| if (str == NULL || int_array == NULL || len == NULL) |
| return VOS_STATUS_E_INVAL; |
| |
| hddLog(VOS_TRACE_LEVEL_ERROR, |
| FL("str %pK intArray %pK intArrayMaxLen %d"), |
| s, int_array, int_array_max_len); |
| |
| *len = 0; |
| |
| while ((s != NULL) && (*len < int_array_max_len)) { |
| /* |
| * Increment length only if sscanf successfully extracted one |
| * element. Any other return value means error. Ignore it. |
| */ |
| if (sscanf(s, "%x", &val) == 1) { |
| int_array[*len] = (uint16_t) val; |
| hddLog(VOS_TRACE_LEVEL_DEBUG, |
| FL("s %pK val %x intArray[%d]=0x%x"), |
| s, val, *len, int_array[*len]); |
| *len += 1; |
| } |
| s = strpbrk(s, " "); |
| if (s) |
| s++; |
| } |
| return VOS_STATUS_SUCCESS; |
| } |
| |
| #ifdef MDNS_OFFLOAD |
| VOS_STATUS hdd_string_to_string_array(char *data, uint8_t *datalist, |
| char separator, uint8_t *num_entries, |
| uint8_t max_entries, uint8_t max_len_entry) |
| { |
| uint8_t num = 0; |
| char *str = data; |
| char *field; |
| |
| if ((data == NULL) || ( datalist == NULL) || (num_entries == NULL)) |
| return VOS_STATUS_E_INVAL; |
| |
| /* parse the string */ |
| while (str && ('\0' != *str) && (num < max_entries)) { |
| field = str; |
| while (('\0' != *str) && (separator != *str)) |
| str++; |
| if ('\0' == *str) { |
| /* reach the end of string */ |
| if ('\0' != *field) { |
| strlcpy((char *)(datalist + (num * max_len_entry)), |
| field, max_len_entry); |
| num++; |
| } |
| break; |
| } |
| /* replace separator with NUL to terminate the data */ |
| *str++ = '\0'; |
| strlcpy((char *)(datalist + (num * max_len_entry)), |
| field, max_len_entry); |
| num++; |
| } |
| *num_entries = num; |
| |
| return VOS_STATUS_SUCCESS; |
| } |
| #endif |
| |
| v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx ) |
| { |
| v_BOOL_t fStatus = TRUE; |
| tANI_U32 val; |
| tANI_U16 val16; |
| |
| hdd_config_t *pConfig = pHddCtx->cfg_ini; |
| tSirMacHTCapabilityInfo *phtCapInfo; |
| |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ, |
| pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR, |
| pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MPDU_DENSITY, |
| pConfig->ht_mpdu_density, NULL, eANI_BOOLEAN_FALSE) == |
| eHAL_STATUS_FAILURE) { |
| fStatus = FALSE; |
| hddLog(LOGE, FL("Could not pass on WNI_CFG_MPDU_DENSITY to CCM")); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME, |
| pConfig->nPassiveMinChnTime, NULL, |
| eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_PASSIVE_MINIMUM_CHANNEL_TIME" |
| " to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME, |
| pConfig->nPassiveMaxChnTime, NULL, |
| eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME" |
| " to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM"); |
| } |
| |
| |
| #if defined WLAN_FEATURE_VOWIFI |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, |
| "Could not pass on WNI_CFG_MCAST_BCAST_FILTER_SETTING to CCM"); |
| } |
| #endif |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM"); |
| } |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_NULLDATA_DELAY_TIMEOUT configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM"); |
| } |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold, |
| NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM"); |
| } |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold, |
| NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM"); |
| } |
| |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled, |
| NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DFS_MASTER_ENABLED, |
| pConfig->enableDFSMasterCap, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| fStatus = FALSE; |
| hddLog(LOGE, |
| "Failure: Could not set value for WNI_CFG_DFS_MASTER_ENABLED"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_ENABLE_TXBF_20MHZ, |
| pConfig->enableTxBFin20MHz, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| fStatus = FALSE; |
| hddLog(LOGE, |
| "Failure: Could not set value for WNI_CFG_VHT_ENABLE_TXBF_20MHZ"); |
| } |
| |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24, |
| NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ, |
| pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM"); |
| } |
| |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM"); |
| } |
| |
| #ifdef WLAN_FEATURE_11AC |
| /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */ |
| /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */ |
| /* we update only the least significant 2 bits in the corresponding fields */ |
| if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) || |
| (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) || |
| (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) ) |
| { |
| { |
| /* Currently shortGI40Mhz is used for shortGI80Mhz */ |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_SHORT_GI_80MHZ, |
| pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE) |
| == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass WNI_VHT_SHORT_GI_80MHZ to CCM"); |
| } |
| // Hardware is capable of doing 128K AMPDU in 11AC mode |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_AMPDU_LEN_EXPONENT, |
| pConfig->fVhtAmpduLenExponent, NULL, |
| eANI_BOOLEAN_FALSE) |
| == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_VHT_AMPDU_LEN_EXPONENT to CCM"); |
| } |
| |
| /* Change MU Bformee only when TxBF is enabled */ |
| if (pConfig->enableTxBF) |
| { |
| ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_MU_BEAMFORMEE_CAP, |
| &val); |
| |
| if(val != pConfig->enableMuBformee) |
| { |
| if(ccmCfgSetInt(pHddCtx->hHal, |
| WNI_CFG_VHT_MU_BEAMFORMEE_CAP, |
| pConfig->enableMuBformee, NULL, |
| eANI_BOOLEAN_FALSE) ==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_VHT_MU_BEAMFORMEE_CAP to CCM"); |
| } |
| } |
| } |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_MAX_MPDU_LENGTH, |
| pConfig->vhtMpduLen, NULL, |
| eANI_BOOLEAN_FALSE) |
| == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_VHT_MAX_MPDU_LENGTH to CCM"); |
| } |
| } |
| } |
| #endif |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM"); |
| } |
| |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC, |
| pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE) |
| ==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM"); |
| } |
| |
| ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, &val); |
| val16 = (tANI_U16)val; |
| phtCapInfo = (tSirMacHTCapabilityInfo *)&val16; |
| phtCapInfo->rxSTBC = pConfig->enableRxSTBC; |
| phtCapInfo->advCodingCap = pConfig->enableRxLDPC; |
| val = val16; |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, |
| val, NULL, eANI_BOOLEAN_FALSE) |
| == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM"); |
| } |
| |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC, |
| pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE) |
| ==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM"); |
| } |
| |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TXSTBC, |
| pConfig->enableTxSTBC, NULL, eANI_BOOLEAN_FALSE) |
| ==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TXSTBC to CCM"); |
| } |
| |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_LDPC_CODING_CAP, |
| pConfig->enableRxLDPC, NULL, eANI_BOOLEAN_FALSE) |
| ==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_VHT_LDPC_CODING_CAP to CCM"); |
| } |
| |
| #ifdef WLAN_SOFTAP_VSTA_FEATURE |
| if(pConfig->fEnableVSTASupport) |
| { |
| ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val); |
| if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF) |
| val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX; |
| } |
| else |
| { |
| val = pHddCtx->max_peers; |
| |
| } |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val, |
| NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM"); |
| } |
| |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT_AP, |
| pConfig->max_sap_peers, NULL, eANI_BOOLEAN_FALSE) |
| == eHAL_STATUS_FAILURE) { |
| fStatus = FALSE; |
| hddLog(LOGE,"can't pass WNI_CFG_ASSOC_STA_LIMIT_AP to CCM"); |
| } |
| |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT_GO, |
| pConfig->max_go_peers, NULL, eANI_BOOLEAN_FALSE) |
| == eHAL_STATUS_FAILURE) { |
| fStatus = FALSE; |
| hddLog(LOGE,"can't pass WNI_CFG_ASSOC_STA_LIMIT_GO to CCM"); |
| } |
| #endif |
| if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION, |
| pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE) |
| ==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM"); |
| } |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo, |
| NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime, |
| NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM"); |
| } |
| |
| #ifdef FEATURE_WLAN_TDLS |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK, |
| pConfig->fTDLSUapsdMask, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM"); |
| } |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED, |
| pConfig->fEnableTDLSBufferSta, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM"); |
| } |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME, |
| pConfig->fTDLSPuapsdInactivityTimer, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM"); |
| } |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD, |
| pConfig->fTDLSRxFrameThreshold, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_OFF_CHANNEL_ENABLED, |
| pConfig->fEnableTDLSOffChannel, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_WMM_MODE_ENABLED, |
| pConfig->fEnableTDLSWmmMode, NULL, |
| eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_WMM_MODE_ENABLED to CCM"); |
| } |
| |
| #endif |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN, |
| pConfig->fEnableAdaptRxDrain, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR, |
| pConfig->flexConnectPowerFactor, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Failure: Could not pass on " |
| "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY, |
| pConfig->antennaDiversity, NULL, |
| eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, |
| WNI_CFG_DEFAULT_RATE_INDEX_24GHZ, |
| pConfig->defaultRateIndex24Ghz, |
| NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_DEFAULT_RATE_INDEX_24GHZ to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, |
| WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL, |
| pConfig->debugP2pRemainOnChannel, |
| NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, |
| "Could not pass on WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL to CCM"); |
| } |
| |
| #ifdef WLAN_FEATURE_11W |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PMF_SA_QUERY_MAX_RETRIES, |
| pConfig->pmfSaQueryMaxRetries, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_SA_QUERY_MAX_RETRIES to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PMF_SA_QUERY_RETRY_INTERVAL, |
| pConfig->pmfSaQueryRetryInterval, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_SA_QUERY_RETRY_INTERVAL to CCM"); |
| } |
| #endif |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IBSS_ATIM_WIN_SIZE, |
| pConfig->ibssATIMWinSize, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_IBSS_ATIM_WIN_SIZE to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TGT_GTX_USR_CFG, |
| pConfig->tgt_gtx_usr_cfg, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) |
| { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_TGT_GTX_USR_CFG to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_HT_MCS_TX_DATA, |
| pConfig->max_ht_mcs_txdata, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_MAX_HT_MCS_TX_DATA to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_ABG_RATE_FOR_TX_DATA, |
| pConfig->disable_abg_rate_txdata, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_DISABLE_ABG_RATE_FOR_TX_DATA to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RATE_FOR_TX_MGMT, |
| pConfig->rate_for_tx_mgmt, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_RATE_FOR_TX_MGMT to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RATE_FOR_TX_MGMT_2G, |
| pConfig->rate_for_tx_mgmt_2g, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_RATE_FOR_TX_MGMT_2G to CCM"); |
| } |
| |
| if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RATE_FOR_TX_MGMT_5G, |
| pConfig->rate_for_tx_mgmt_5g, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| fStatus = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_RATE_FOR_TX_MGMT_5G to CCM"); |
| } |
| |
| return fStatus; |
| } |
| |
| |
| /**--------------------------------------------------------------------------- |
| |
| \brief hdd_set_sme_config() - |
| |
| This function initializes the sme configuration parameters |
| |
| \param - pHddCtx - Pointer to the HDD Adapter. |
| |
| \return - 0 for success, non zero for failure |
| |
| --------------------------------------------------------------------------*/ |
| |
| VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx ) |
| { |
| VOS_STATUS status = VOS_STATUS_SUCCESS; |
| eHalStatus halStatus; |
| tSmeConfigParams *smeConfig; |
| uint8_t rrm_capab_len; |
| |
| hdd_config_t *pConfig = pHddCtx->cfg_ini; |
| |
| smeConfig = vos_mem_malloc(sizeof(*smeConfig)); |
| if (NULL == smeConfig) |
| { |
| VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, |
| "%s: unable to allocate smeConfig", __func__); |
| return VOS_STATUS_E_NOMEM; |
| } |
| vos_mem_zero(smeConfig, sizeof(*smeConfig)); |
| |
| VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, |
| "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d", __func__, |
| pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode); |
| |
| // Config params obtained from the registry |
| /* To Do */ |
| // set regulatory information here |
| |
| smeConfig->csrConfig.RTSThreshold = pConfig->RTSThreshold; |
| smeConfig->csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold; |
| smeConfig->csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled; |
| smeConfig->csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled; |
| smeConfig->csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24; |
| |
| smeConfig->csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode ); |
| |
| if (pConfig->dot11Mode == eHDD_DOT11_MODE_abg || |
| pConfig->dot11Mode == eHDD_DOT11_MODE_11b || |
| pConfig->dot11Mode == eHDD_DOT11_MODE_11g || |
| pConfig->dot11Mode == eHDD_DOT11_MODE_11b_ONLY || |
| pConfig->dot11Mode == eHDD_DOT11_MODE_11g_ONLY) { |
| smeConfig->csrConfig.channelBondingMode24GHz = 0; |
| smeConfig->csrConfig.channelBondingMode5GHz = 0; |
| } else { |
| smeConfig->csrConfig.channelBondingMode24GHz = |
| pConfig->nChannelBondingMode24GHz; |
| smeConfig->csrConfig.channelBondingMode5GHz = |
| pConfig->nChannelBondingMode5GHz; |
| } |
| smeConfig->csrConfig.TxRate = pConfig->TxRate; |
| smeConfig->csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount; |
| smeConfig->csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS; |
| smeConfig->csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS; |
| smeConfig->csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS; |
| smeConfig->csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS; |
| smeConfig->csrConfig.AdHocChannel24 = pConfig->OperatingChannel; |
| smeConfig->csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels; |
| smeConfig->csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority; |
| smeConfig->csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch; |
| smeConfig->csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain; |
| smeConfig->csrConfig.bCatRssiOffset = pConfig->nRssiCatGap; |
| smeConfig->csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger; |
| smeConfig->csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold; |
| smeConfig->csrConfig.nRoamingTime = pConfig->nRoamingTime; |
| smeConfig->csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan; |
| smeConfig->csrConfig.nInitialDwellTime = pConfig->nInitialDwellTime; |
| smeConfig->csrConfig.initial_scan_no_dfs_chnl = |
| pConfig->initial_scan_no_dfs_chnl; |
| smeConfig->csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime; |
| smeConfig->csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime; |
| smeConfig->csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime; |
| smeConfig->csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime; |
| smeConfig->csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc; |
| #ifdef WLAN_AP_STA_CONCURRENCY |
| smeConfig->csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc; |
| smeConfig->csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc; |
| smeConfig->csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc; |
| smeConfig->csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc; |
| smeConfig->csrConfig.nRestTimeConc = pConfig->nRestTimeConc; |
| smeConfig->csrConfig.min_rest_time_conc = pConfig->min_rest_time_conc; |
| smeConfig->csrConfig.idle_time_conc = pConfig->idle_time_conc; |
| |
| #endif |
| smeConfig->csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled; |
| smeConfig->csrConfig.WMMSupportMode = pConfig->WmmMode; |
| smeConfig->csrConfig.gStaLocalEDCAEnable = pConfig->gStaLocalEDCAEnable; |
| /* |
| * -channelBondingMode5GHz is getting updated by SAP |
| * so stacbmode will be used for STA connection. |
| * -Rome STA doesnt support HT40 in 2.4Ghz so interested in only |
| * 5GHz configuration. |
| */ |
| smeConfig->csrConfig.stacbmode = |
| pConfig->nChannelBondingMode5GHz; |
| #if defined WLAN_FEATURE_VOWIFI |
| smeConfig->rrmConfig.rrm_enabled = pConfig->fRrmEnable; |
| smeConfig->rrmConfig.max_randn_interval = pConfig->nRrmRandnIntvl; |
| hdd_hex_string_to_u8_array(pConfig->rm_capability, |
| smeConfig->rrmConfig.rm_capability, &rrm_capab_len, |
| DOT11F_IE_RRMENABLEDCAP_MAX_LEN); |
| /* |
| * Update the INI values gRrmOperChanMax and gRrmNonOperChanMax appropriately |
| */ |
| smeConfig->rrmConfig.rm_capability[2] = |
| ((pConfig->nOutChanMeasMaxDuration << |
| CAP_NONOPER_CHAN_MAX_DURATION_OFFSET) | |
| (pConfig->nOutChanMeasMaxDuration << |
| CAP_OPER_CHAN_MAX_DURATION_OFFSET) | |
| (smeConfig->rrmConfig.rm_capability[2] & |
| (RM_CAP_RM_MIB | RM_CAP_AP_CHAN_REPORT))); |
| #endif |
| //Remaining config params not obtained from registry |
| // On RF EVB beacon using channel 1. |
| #ifdef WLAN_FEATURE_11AC |
| smeConfig->csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth; |
| smeConfig->csrConfig.enableTxBF = pConfig->enableTxBF; |
| smeConfig->csrConfig.txBFCsnValue = pConfig->txBFCsnValue; |
| smeConfig->csrConfig.enable2x2 = pConfig->enable2x2; |
| smeConfig->csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand; |
| smeConfig->csrConfig.vendor_vht_for_24ghz_sap = |
| pConfig->enable_vendor_vht_for_24ghz_band; |
| smeConfig->csrConfig.enableMuBformee = pConfig->enableMuBformee; |
| smeConfig->csrConfig.enableVhtpAid = pConfig->enableVhtpAid; |
| smeConfig->csrConfig.enableVhtGid = pConfig->enableVhtGid; |
| #endif |
| smeConfig->csrConfig.enableAmpduPs = pConfig->enableAmpduPs; |
| smeConfig->csrConfig.enableHtSmps = pConfig->enableHtSmps; |
| smeConfig->csrConfig.htSmps = pConfig->htSmps; |
| smeConfig->csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G; |
| smeConfig->csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G; |
| smeConfig->csrConfig.ProprietaryRatesEnabled = 0; |
| smeConfig->csrConfig.HeartbeatThresh50 = 40; |
| smeConfig->csrConfig.bandCapability = pConfig->nBandCapability; |
| if (pConfig->nBandCapability == eCSR_BAND_24) |
| { |
| smeConfig->csrConfig.Is11hSupportEnabled = 0; |
| } else { |
| smeConfig->csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled; |
| } |
| smeConfig->csrConfig.cbChoice = 0; |
| smeConfig->csrConfig.bgScanInterval = 0; |
| smeConfig->csrConfig.eBand = pConfig->nBandCapability; |
| smeConfig->csrConfig.nTxPowerCap = pConfig->nTxPowerCap; |
| smeConfig->csrConfig.allow_tpc_from_ap = pConfig->allow_tpc_from_ap; |
| smeConfig->csrConfig.fEnableBypass11d = pConfig->enableBypass11d; |
| smeConfig->csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan; |
| #if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR) |
| smeConfig->csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz; |
| smeConfig->csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand; |
| smeConfig->csrConfig.nProbes = pConfig->nProbes; |
| |
| smeConfig->csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime; |
| #endif |
| smeConfig->csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly; |
| |
| //FIXME 11d config is hardcoded |
| if ( VOS_STA_SAP_MODE != hdd_get_conparam()) |
| { |
| smeConfig->csrConfig.Csr11dinfo.Channels.numChannels = 0; |
| |
| /* if there is a requirement that HDD will control the default |
| * channel list & country code (say from .ini file) we need to |
| * add some logic here. Otherwise the default 11d info should |
| * come from NV as per our current implementation */ |
| } |
| else |
| { |
| VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, |
| "AP country Code %s", pConfig->apCntryCode); |
| |
| if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0) |
| sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode); |
| sme_set11dinfo(pHddCtx->hHal, smeConfig); |
| } |
| |
| if (!pConfig->enablePowersaveOffload) |
| { |
| hdd_set_power_save_config(pHddCtx, smeConfig); |
| } |
| else |
| { |
| hdd_set_power_save_offload_config(pHddCtx); |
| } |
| |
| #ifdef WLAN_FEATURE_VOWIFI_11R |
| smeConfig->csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported; |
| #endif |
| #ifdef FEATURE_WLAN_LFR |
| smeConfig->csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled; |
| smeConfig->csrConfig.MAWCEnabled = pConfig->MAWCEnabled; |
| #endif |
| #ifdef FEATURE_WLAN_ESE |
| smeConfig->csrConfig.isEseIniFeatureEnabled = pConfig->isEseIniFeatureEnabled; |
| if( pConfig->isEseIniFeatureEnabled ) |
| { |
| pConfig->isFastTransitionEnabled = TRUE; |
| } |
| #endif |
| #if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR) |
| smeConfig->csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled; |
| smeConfig->csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff; |
| smeConfig->csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff; |
| smeConfig->csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled; |
| #endif |
| #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD |
| smeConfig->csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled; |
| smeConfig->csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled; |
| |
| if (0 == smeConfig->csrConfig.isRoamOffloadScanEnabled) |
| { |
| /* Disable roaming in concurrency if roam scan offload is disabled */ |
| smeConfig->csrConfig.bFastRoamInConIniFeatureEnabled = 0; |
| } |
| #endif |
| #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING |
| smeConfig->csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold; |
| smeConfig->csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold; |
| smeConfig->csrConfig.neighborRoamConfig.delay_before_vdev_stop = |
| pConfig->delay_before_vdev_stop; |
| |
| smeConfig->csrConfig.neighborRoamConfig.nOpportunisticThresholdDiff = |
| pConfig->nOpportunisticThresholdDiff; |
| smeConfig->csrConfig.neighborRoamConfig.nRoamRescanRssiDiff = |
| pConfig->nRoamRescanRssiDiff; |
| smeConfig->csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime; |
| smeConfig->csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime; |
| smeConfig->csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod; |
| smeConfig->csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries; |
| smeConfig->csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod; |
| smeConfig->csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod; |
| hdd_string_to_u8_array( pConfig->neighborScanChanList, |
| smeConfig->csrConfig.neighborRoamConfig.neighborScanChanList.channelList, |
| &smeConfig->csrConfig.neighborRoamConfig.neighborScanChanList.numChannels, |
| WNI_CFG_VALID_CHANNEL_LIST_LEN); |
| smeConfig->csrConfig.neighborRoamConfig.nRoamBmissFirstBcnt = pConfig->nRoamBmissFirstBcnt; |
| smeConfig->csrConfig.neighborRoamConfig.nRoamBmissFinalBcnt = pConfig->nRoamBmissFinalBcnt; |
| smeConfig->csrConfig.neighborRoamConfig.nRoamBeaconRssiWeight = |
| pConfig->nRoamBeaconRssiWeight; |
| smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_max_count = |
| pConfig->nhi_rssi_scan_max_count; |
| smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_rssi_delta = |
| pConfig->nhi_rssi_scan_rssi_delta; |
| smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_delay = |
| pConfig->nhi_rssi_scan_delay; |
| smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_rssi_ub = |
| pConfig->nhi_rssi_scan_rssi_ub; |
| #endif |
| |
| smeConfig->csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff; |
| smeConfig->csrConfig.fValidateList = pConfig->fValidateScanList; |
| smeConfig->csrConfig.allowDFSChannelRoam = pConfig->allowDFSChannelRoam; |
| |
| //Enable/Disable MCC |
| smeConfig->csrConfig.fEnableMCCMode = pConfig->enableMCC; |
| smeConfig->csrConfig.mcc_rts_cts_prot_enable = |
| pConfig->mcc_rts_cts_prot_enable; |
| smeConfig->csrConfig.mcc_bcast_prob_resp_enable = |
| pConfig->mcc_bcast_prob_resp_enable; |
| smeConfig->csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI; |
| |
| //Scan Results Aging Time out value |
| smeConfig->csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout; |
| |
| smeConfig->csrConfig.enableTxLdpc = pConfig->enableTxLdpc; |
| #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH |
| smeConfig->csrConfig.cc_switch_mode = pConfig->WlanMccToSccSwitchMode; |
| smeConfig->csrConfig.band_switch_enable = pConfig->wlan_band_switch_enable; |
| smeConfig->csrConfig.ap_p2pgo_concurrency_enable = |
| pConfig->wlan_ap_p2pgo_conc_enable; |
| smeConfig->csrConfig.ap_p2pclient_concur_enable = |
| pConfig->wlan_ap_p2pclient_conc_enable; |
| smeConfig->csrConfig.ch_width_24g_orig = pConfig->nChannelBondingMode24GHz ? |
| eHT_CHANNEL_WIDTH_40MHZ : eHT_CHANNEL_WIDTH_20MHZ; |
| smeConfig->csrConfig.ch_width_5g_orig = pConfig->vhtChannelWidth; |
| #endif |
| |
| smeConfig->csrConfig.max_amsdu_num = pConfig->max_amsdu_num; |
| smeConfig->csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin; |
| |
| smeConfig->csrConfig.isCoalesingInIBSSAllowed = |
| pHddCtx->cfg_ini->isCoalesingInIBSSAllowed; |
| /* update SSR config */ |
| sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR); |
| /* Update the Directed scan offload setting */ |
| smeConfig->fScanOffload = true; |
| |
| /* Update the p2p listen offload setting */ |
| smeConfig->fP2pListenOffload = pHddCtx->cfg_ini->fP2pListenOffload; |
| smeConfig->csrConfig.scanBandPreference = |
| pHddCtx->cfg_ini->acsScanBandPreference; |
| |
| #ifdef FEATURE_WLAN_SCAN_PNO |
| /* Update PNO offload status */ |
| smeConfig->pnoOffload = pHddCtx->cfg_ini->PnoOffload; |
| #endif |
| /* Update maximum interfaces information */ |
| smeConfig->max_intf_count = pHddCtx->max_intf_count; |
| |
| smeConfig->fEnableDebugLog = pHddCtx->cfg_ini->gEnableDebugLog; |
| |
| smeConfig->enable5gEBT = pHddCtx->cfg_ini->enable5gEBT; |
| |
| smeConfig->enableSelfRecovery = pHddCtx->cfg_ini->enableSelfRecovery; |
| #ifdef WLAN_FEATURE_ROAM_OFFLOAD |
| smeConfig->csrConfig.isRoamOffloadEnabled = |
| pHddCtx->cfg_ini->isRoamOffloadEnabled; |
| #endif |
| smeConfig->csrConfig.conc_custom_rule1 = |
| pHddCtx->cfg_ini->conc_custom_rule1; |
| smeConfig->csrConfig.conc_custom_rule2 = |
| pHddCtx->cfg_ini->conc_custom_rule2; |
| smeConfig->csrConfig.is_sta_connection_in_5gz_enabled = |
| pHddCtx->cfg_ini->is_sta_connection_in_5gz_enabled; |
| |
| /* Update 802.11p config */ |
| smeConfig->csrConfig.enable_dot11p = (pHddCtx->cfg_ini->dot11p_mode != |
| WLAN_HDD_11P_DISABLED); |
| |
| smeConfig->f_sta_miracast_mcc_rest_time_val = |
| pHddCtx->cfg_ini->sta_miracast_mcc_rest_time_val; |
| |
| #ifdef FEATURE_AP_MCC_CH_AVOIDANCE |
| smeConfig->sap_channel_avoidance = |
| pHddCtx->cfg_ini->sap_channel_avoidance; |
| #endif /* FEATURE_AP_MCC_CH_AVOIDANCE */ |
| smeConfig->csrConfig.ignore_peer_ht_opmode = |
| pConfig->ignore_peer_ht_opmode; |
| smeConfig->csrConfig.pkt_err_disconn_th = |
| pHddCtx->cfg_ini->pkt_err_disconn_th; |
| smeConfig->f_prefer_non_dfs_on_radar = |
| pHddCtx->cfg_ini->prefer_non_dfs_on_radar; |
| smeConfig->csrConfig.first_scan_bucket_threshold = |
| pHddCtx->cfg_ini->first_scan_bucket_threshold; |
| |
| vos_set_multicast_logging(pHddCtx->cfg_ini->multicast_host_fw_msgs); |
| hdd_set_fine_time_meas_cap(pHddCtx, smeConfig); |
| smeConfig->csrConfig.enable_fatal_event = |
| pConfig->enable_fatal_event; |
| smeConfig->csrConfig.sendDeauthBeforeCon = pConfig->sendDeauthBeforeCon; |
| smeConfig->csrConfig.ignorePeerErpInfo = pConfig->ignorePeerErpInfo; |
| smeConfig->csrConfig.tx_aggregation_size = |
| pHddCtx->cfg_ini->tx_aggregation_size; |
| smeConfig->csrConfig.rx_aggregation_size = |
| pHddCtx->cfg_ini->rx_aggregation_size; |
| |
| smeConfig->csrConfig.enable_edca_params = |
| pHddCtx->cfg_ini->enable_edca_params; |
| |
| smeConfig->csrConfig.edca_vo_cwmin = |
| pHddCtx->cfg_ini->edca_vo_cwmin; |
| smeConfig->csrConfig.edca_vi_cwmin = |
| pHddCtx->cfg_ini->edca_vi_cwmin; |
| smeConfig->csrConfig.edca_bk_cwmin = |
| pHddCtx->cfg_ini->edca_bk_cwmin; |
| smeConfig->csrConfig.edca_be_cwmin = |
| pHddCtx->cfg_ini->edca_be_cwmin; |
| |
| smeConfig->csrConfig.edca_vo_cwmax = |
| pHddCtx->cfg_ini->edca_vo_cwmax; |
| smeConfig->csrConfig.edca_vi_cwmax = |
| pHddCtx->cfg_ini->edca_vi_cwmax; |
| smeConfig->csrConfig.edca_bk_cwmax = |
| pHddCtx->cfg_ini->edca_bk_cwmax; |
| smeConfig->csrConfig.edca_be_cwmax = |
| pHddCtx->cfg_ini->edca_be_cwmax; |
| |
| smeConfig->csrConfig.edca_vo_aifs = |
| pHddCtx->cfg_ini->edca_vo_aifs; |
| smeConfig->csrConfig.edca_vi_aifs = |
| pHddCtx->cfg_ini->edca_vi_aifs; |
| smeConfig->csrConfig.edca_bk_aifs = |
| pHddCtx->cfg_ini->edca_bk_aifs; |
| smeConfig->csrConfig.edca_be_aifs = |
| pHddCtx->cfg_ini->edca_be_aifs; |
| smeConfig->csrConfig.sta_roam_policy_params.dfs_mode = |
| CSR_STA_ROAM_POLICY_DFS_ENABLED; |
| smeConfig->csrConfig.sta_roam_policy_params.skip_unsafe_channels = 0; |
| |
| smeConfig->snr_monitor_enabled = pHddCtx->cfg_ini->fEnableSNRMonitoring; |
| smeConfig->sub20_config_info = |
| hdd_cfg_get_sub20_channel_config(pHddCtx); |
| smeConfig->sub20_channelwidth = |
| hdd_cfg_get_static_sub20_channel_width(pHddCtx); |
| smeConfig->sub20_dynamic_channelwidth = |
| hdd_cfg_get_sub20_dyn_capabilities(pHddCtx); |
| |
| smeConfig->csrConfig.sta_auth_retries_for_code17 = |
| pHddCtx->cfg_ini->sta_auth_retries_for_code17; |
| |
| smeConfig->sta_change_cc_via_beacon = |
| pHddCtx->cfg_ini->sta_change_cc_via_beacon; |
| |
| #ifdef WLAN_FEATURE_SAP_TO_FOLLOW_STA_CHAN |
| smeConfig->csrConfig.sap_ch_switch_with_csa = pHddCtx->cfg_ini->sap_ch_switch_with_csa; |
| #endif//#ifdef WLAN_FEATURE_SAP_TO_FOLLOW_STA_CHAN |
| halStatus = sme_UpdateConfig( pHddCtx->hHal, smeConfig); |
| if ( !HAL_STATUS_SUCCESS( halStatus ) ) |
| { |
| status = VOS_STATUS_E_FAILURE; |
| hddLog(LOGE, "sme_UpdateConfig() return failure %d", halStatus); |
| } |
| |
| vos_mem_free(smeConfig); |
| return status; |
| } |
| |
| /**--------------------------------------------------------------------------- |
| |
| \brief hdd_execute_config_command() - |
| |
| This function executes an arbitrary configuration set command |
| |
| \param - pHddCtx - Pointer to the HDD Adapter. |
| \parmm - command - a configuration command of the form: |
| <name>=<value> |
| |
| \return - 0 for success, non zero for failure |
| |
| --------------------------------------------------------------------------*/ |
| |
| static VOS_STATUS hdd_execute_config_command(REG_TABLE_ENTRY *reg_table, |
| unsigned long tableSize, v_U8_t *ini_struct, |
| hdd_context_t *pHddCtx, char *command) |
| { |
| REG_TABLE_ENTRY *pRegEntry; |
| char *clone; |
| char *pCmd; |
| void *pField; |
| char *name; |
| char *value_str; |
| v_U32_t value; |
| v_S31_t svalue; |
| size_t len_value_str; |
| unsigned int idx; |
| unsigned int i; |
| VOS_STATUS vstatus; |
| int rv; |
| |
| // assume failure until proven otherwise |
| vstatus = VOS_STATUS_E_FAILURE; |
| |
| // clone the command so that we can manipulate it |
| clone = kstrdup(command, GFP_ATOMIC); |
| if (NULL == clone) |
| { |
| hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]", |
| __func__, command); |
| return vstatus; |
| } |
| |
| // 'clone' will point to the beginning of the string so it can be freed |
| // 'pCmd' will be used to walk/parse the command |
| pCmd = clone; |
| |
| // get rid of leading/trailing whitespace |
| pCmd = i_trim(pCmd); |
| if ('\0' == *pCmd) |
| { |
| // only whitespace |
| hddLog(LOGE, "%s: invalid command, only whitespace:[%s]", |
| __func__, command); |
| goto done; |
| } |
| |
| // parse the <name> = <value> |
| name = pCmd; |
| while (('=' != *pCmd) && ('\0' != *pCmd)) |
| { |
| pCmd++; |
| } |
| if ('\0' == *pCmd) |
| { |
| // did not find '=' |
| hddLog(LOGE, "%s: invalid command, no '=':[%s]", |
| __func__, command); |
| goto done; |
| } |
| |
| // replace '=' with NUL to terminate the <name> |
| *pCmd++ = '\0'; |
| name = i_trim(name); |
| if ('\0' == *name) |
| { |
| // did not find a name |
| hddLog(LOGE, "%s: invalid command, no <name>:[%s]", |
| __func__, command); |
| goto done; |
| } |
| |
| value_str = i_trim(pCmd); |
| if ('\0' == *value_str) |
| { |
| // did not find a value |
| hddLog(LOGE, "%s: invalid command, no <value>:[%s]", |
| __func__, command); |
| goto done; |
| } |
| |
| // lookup the configuration item |
| for (idx = 0; idx < tableSize; idx++) |
| { |
| if (0 == strcmp(name, reg_table[idx].RegName)) |
| { |
| // found a match |
| break; |
| } |
| } |
| if (tableSize == idx) |
| { |
| // did not match the name |
| hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]", |
| __func__, command); |
| goto done; |
| } |
| |
| pRegEntry = ®_table[idx]; |
| if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG)) |
| { |
| // does not support dynamic configuration |
| hddLog(LOGE, "%s: Global_Registry_Table.%s does not support " |
| "dynamic configuration", __func__, name); |
| vstatus = VOS_STATUS_E_PERM; |
| goto done; |
| } |
| |
| pField = ini_struct + pRegEntry->VarOffset; |
| |
| switch (pRegEntry->RegType) |
| { |
| case WLAN_PARAM_Integer: |
| rv = kstrtou32(value_str, 10, &value); |
| if (rv < 0) |
| goto done; |
| if (value < pRegEntry->VarMin) |
| { |
| // out of range |
| hddLog(LOGE, "%s: invalid command, value %u < min value %lu", |
| __func__, value, pRegEntry->VarMin); |
| goto done; |
| } |
| if (value > pRegEntry->VarMax) |
| { |
| // out of range |
| hddLog(LOGE, "%s: invalid command, value %u > max value %lu", |
| __func__, value, pRegEntry->VarMax); |
| goto done; |
| } |
| memcpy(pField, &value, pRegEntry->VarSize); |
| break; |
| |
| case WLAN_PARAM_HexInteger: |
| rv = kstrtou32(value_str, 16, &value); |
| if (rv < 0) |
| goto done; |
| if (value < pRegEntry->VarMin) |
| { |
| // out of range |
| hddLog(LOGE, "%s: invalid command, value %x < min value %lx", |
| __func__, value, pRegEntry->VarMin); |
| goto done; |
| } |
| if (value > pRegEntry->VarMax) |
| { |
| // out of range |
| hddLog(LOGE, "%s: invalid command, value %x > max value %lx", |
| __func__, value, pRegEntry->VarMax); |
| goto done; |
| } |
| memcpy(pField, &value, pRegEntry->VarSize); |
| break; |
| |
| case WLAN_PARAM_SignedInteger: |
| rv = kstrtos32(value_str, 10, &svalue); |
| if (rv < 0) |
| goto done; |
| if (svalue < (v_S31_t)pRegEntry->VarMin) |
| { |
| // out of range |
| hddLog(LOGE, "%s: invalid command, value %d < min value %d", |
| __func__, svalue, (int)pRegEntry->VarMin); |
| goto done; |
| } |
| if (svalue > (v_S31_t)pRegEntry->VarMax) |
| { |
| // out of range |
| hddLog(LOGE, "%s: invalid command, value %d > max value %d", |
| __func__, svalue, (int)pRegEntry->VarMax); |
| goto done; |
| } |
| memcpy(pField, &svalue, pRegEntry->VarSize); |
| break; |
| |
| case WLAN_PARAM_String: |
| len_value_str = strlen(value_str); |
| if (len_value_str > (pRegEntry->VarSize - 1)) |
| { |
| // too big |
| hddLog(LOGE, |
| "%s: invalid command, string [%s] length " |
| "%zu exceeds maximum length %u", |
| __func__, value_str, |
| len_value_str, (pRegEntry->VarSize - 1)); |
| goto done; |
| } |
| // copy string plus NUL |
| memcpy(pField, value_str, (len_value_str + 1)); |
| break; |
| |
| case WLAN_PARAM_MacAddr: |
| len_value_str = strlen(value_str); |
| if (len_value_str != (VOS_MAC_ADDR_SIZE * 2)) |
| { |
| // out of range |
| hddLog(LOGE, |
| "%s: invalid command, MAC address [%s] length " |
| "%zu is not expected length %u", |
| __func__, value_str, |
| len_value_str, (VOS_MAC_ADDR_SIZE * 2)); |
| goto done; |
| } |
| //parse the string and store it in the byte array |
| for (i = 0; i < VOS_MAC_ADDR_SIZE; i++) |
| { |
| ((char*)pField)[i] = (char) |
| ((parseHexDigit(value_str[(i * 2)]) * 16) + |
| parseHexDigit(value_str[(i * 2) + 1])); |
| } |
| break; |
| |
| default: |
| goto done; |
| } |
| |
| // if we get here, we had a successful modification |
| vstatus = VOS_STATUS_SUCCESS; |
| |
| // config table has been modified, is there a notifier? |
| if (NULL != pRegEntry->pfnDynamicNotify) |
| { |
| (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId); |
| } |
| |
| // note that this item was explicitly configured |
| if (idx < MAX_CFG_INI_ITEMS) |
| { |
| set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg); |
| } |
| done: |
| kfree(clone); |
| return vstatus; |
| } |
| |
| VOS_STATUS hdd_execute_global_config_command(hdd_context_t *pHddCtx, |
| char *command) |
| { |
| return hdd_execute_config_command(g_registry_table, |
| ARRAY_SIZE(g_registry_table), |
| (v_U8_t *) pHddCtx->cfg_ini, |
| pHddCtx, command); |
| } |
| |
| #ifdef WLAN_FEATURE_MBSSID |
| VOS_STATUS hdd_execute_sap_dyn_config_command(hdd_adapter_t *pAdapter, |
| char *command) |
| { |
| return hdd_execute_config_command(mbssid_sap_dyn_ini_reg_table, |
| ARRAY_SIZE(mbssid_sap_dyn_ini_reg_table), |
| (v_U8_t *) &pAdapter->sap_dyn_ini_cfg, |
| WLAN_HDD_GET_CTX(pAdapter), command); |
| } |
| #endif |
| /**--------------------------------------------------------------------------- |
| |
| \brief hdd_is_okc_mode_enabled() - |
| |
| This function returns whether OKC mode is enabled or not |
| |
| \param - pHddCtx - Pointer to the HDD Adapter. |
| |
| \return - 1 for enabled, zero for disabled |
| |
| --------------------------------------------------------------------------*/ |
| |
| tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx) |
| { |
| if (NULL == pHddCtx) |
| { |
| hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__); |
| return -EINVAL; |
| } |
| |
| #ifdef FEATURE_WLAN_OKC |
| return pHddCtx->cfg_ini->isOkcIniFeatureEnabled; |
| #else |
| return eANI_BOOLEAN_FALSE; |
| #endif |
| } |
| |
| /** |
| * hdd_update_nss() - configures the provided nss value to the driver |
| * |
| * @hdd_ctx: the pointer to hdd context |
| * @nss : the number of spatial streams to be updated |
| * |
| * Return: VOS_STATUS_SUCCESS if nss is correctly updated, |
| * otherwise VOS_STATUS_E_FAILURE would be returned |
| */ |
| VOS_STATUS hdd_update_nss(hdd_context_t *hdd_ctx, uint8_t nss) |
| { |
| hdd_config_t *hdd_config = hdd_ctx->cfg_ini; |
| uint32_t temp = 0; |
| uint32_t rx_supp_data_rate, tx_supp_data_rate; |
| uint8_t status = TRUE; |
| tSirMacHTCapabilityInfo *ht_cap_info; |
| uint8_t mcs_set[SIZE_OF_SUPPORTED_MCS_SET] = {0}; |
| uint8_t mcs_set_temp[SIZE_OF_SUPPORTED_MCS_SET]; |
| uint32_t val; |
| uint16_t val16; |
| uint8_t enable2x2; |
| |
| if ((nss == 2) && (hdd_ctx->num_rf_chains != 2)) { |
| hddLog(LOGE, "No support for 2 spatial streams"); |
| return VOS_STATUS_E_FAILURE; |
| } |
| |
| enable2x2 = (nss == 1) ? 0 : 1; |
| |
| if (hdd_config->enable2x2 == enable2x2) { |
| hddLog(LOGE, "NSS same as requested"); |
| return VOS_STATUS_SUCCESS; |
| } |
| |
| if (TRUE == sme_is_any_session_in_connected_state(hdd_ctx->hHal)) { |
| hddLog(LOGE, "Connected sessions present, Do not change NSS"); |
| return VOS_STATUS_E_FAILURE; |
| } |
| |
| hdd_config->enable2x2 = enable2x2; |
| |
| if (!hdd_config->enable2x2) { |
| /* 1x1 */ |
| rx_supp_data_rate = VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_1_1; |
| tx_supp_data_rate = VHT_TX_HIGHEST_SUPPORTED_DATA_RATE_1_1; |
| } else { |
| /* 2x2 */ |
| rx_supp_data_rate = VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_2_2; |
| tx_supp_data_rate = VHT_TX_HIGHEST_SUPPORTED_DATA_RATE_2_2; |
| } |
| |
| /* Update Rx Highest Long GI data Rate */ |
| if (ccmCfgSetInt(hdd_ctx->hHal, |
| WNI_CFG_VHT_RX_HIGHEST_SUPPORTED_DATA_RATE, |
| rx_supp_data_rate, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| status = FALSE; |
| hddLog(LOGE, |
| "Could not pass on WNI_CFG_VHT_RX_HIGHEST_SUPPORTED_DATA_RATE to CCM"); |
| } |
| |
| /* Update Tx Highest Long GI data Rate */ |
| if (ccmCfgSetInt(hdd_ctx->hHal, |
| WNI_CFG_VHT_TX_HIGHEST_SUPPORTED_DATA_RATE, |
| tx_supp_data_rate, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| status = FALSE; |
| hddLog(LOGE, |
| "Could not pass on HDD_VHT_RX_HIGHEST_SUPPORTED_DATA_RATE_1_1 to CCM"); |
| } |
| |
| ccmCfgGetInt(hdd_ctx->hHal, WNI_CFG_HT_CAP_INFO, &temp); |
| val16 = (uint16_t)temp; |
| ht_cap_info = (tSirMacHTCapabilityInfo *)&val16; |
| if (!(hdd_ctx->ht_tx_stbc_supported && hdd_config->enable2x2)) |
| ht_cap_info->txSTBC = 0; |
| else |
| ht_cap_info->txSTBC = hdd_config->enableTxSTBC; |
| temp = val16; |
| if (ccmCfgSetInt(hdd_ctx->hHal, WNI_CFG_HT_CAP_INFO, |
| temp, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| status = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM"); |
| } |
| |
| ccmCfgGetInt(hdd_ctx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp); |
| temp = (temp & 0xFFFC) | hdd_config->vhtRxMCS; |
| if (hdd_config->enable2x2) |
| temp = (temp & 0xFFF3) | (hdd_config->vhtRxMCS2x2 << 2); |
| else |
| temp |= 0x000C; |
| |
| if (ccmCfgSetInt(hdd_ctx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, |
| temp, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| status = FALSE; |
| hddLog(LOGE, |
| "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM"); |
| } |
| |
| ccmCfgGetInt(hdd_ctx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp); |
| temp = (temp & 0xFFFC) | hdd_config->vhtRxMCS; |
| if (hdd_config->enable2x2) |
| temp = (temp & 0xFFF3) | (hdd_config->vhtRxMCS2x2 << 2); |
| else |
| temp |= 0x000C; |
| |
| if (ccmCfgSetInt(hdd_ctx->hHal, WNI_CFG_VHT_RX_MCS_MAP, |
| temp, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| status = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM"); |
| } |
| |
| ccmCfgGetInt(hdd_ctx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp); |
| temp = (temp & 0xFFFC) | hdd_config->vhtTxMCS; |
| if (hdd_config->enable2x2) |
| temp = (temp & 0xFFF3) | (hdd_config->vhtTxMCS2x2 << 2); |
| else |
| temp |= 0x000C; |
| |
| if (ccmCfgSetInt(hdd_ctx->hHal, WNI_CFG_VHT_TX_MCS_MAP, |
| temp, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| status = FALSE; |
| hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM"); |
| } |
| |
| #define WLAN_HDD_RX_MCS_ALL_NSTREAM_RATES 0xff |
| val = SIZE_OF_SUPPORTED_MCS_SET; |
| ccmCfgGetStr(hdd_ctx->hHal, WNI_CFG_SUPPORTED_MCS_SET, |
| mcs_set_temp, &val); |
| |
| mcs_set[0] = mcs_set_temp[0]; |
| if (hdd_config->enable2x2) |
| for (val = 0; val < nss; val++) |
| mcs_set[val] = WLAN_HDD_RX_MCS_ALL_NSTREAM_RATES; |
| |
| if (ccmCfgSetStr(hdd_ctx->hHal, WNI_CFG_SUPPORTED_MCS_SET, |
| mcs_set, SIZE_OF_SUPPORTED_MCS_SET, NULL, |
| eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE) { |
| status = FALSE; |
| hddLog(LOGE, "Could not pass on MCS SET to CCM"); |
| } |
| #undef WLAN_HDD_RX_MCS_ALL_NSTREAM_RATES |
| |
| if (eHAL_STATUS_SUCCESS != sme_update_nss(hdd_ctx->hHal, nss)) |
| status = FALSE; |
| |
| return (status == FALSE) ? VOS_STATUS_E_FAILURE : VOS_STATUS_SUCCESS; |
| } |
| |
| /** |
| * hdd_set_btc_bt_wlan_interval() - set btc bt/wlan interval page to FW |
| * @hdd_ctx: the pointer to hdd context |
| * |
| * This function set btc bt/wlan interval page (p2p/sta/sap) to FW. |
| * |
| * Return: None |
| */ |
| void hdd_set_btc_bt_wlan_interval(hdd_context_t *hdd_ctx) |
| { |
| hdd_config_t *config = hdd_ctx->cfg_ini; |
| VOS_STATUS status = VOS_STATUS_SUCCESS; |
| |
| /** Sanity check. |
| * If not set in ini file, these parameters will be zero. |
| * Otherwise hdd_apply_cfg_ini() |
| * will ensure the valuse to be in the range 20~200 (ms as unit). |
| * If no parameters sent to firmware, |
| * firmware will set relevant parameters to default value itself. |
| */ |
| if ((config->coex_page_p2p_bt_interval !=0) && |
| (config->coex_page_p2p_wlan_interval !=0)) { |
| status = sme_set_btc_bt_wlan_interval_page_p2p( |
| config->coex_page_p2p_bt_interval, |
| config->coex_page_p2p_wlan_interval); |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set coex page p2p bt interval parameters"); |
| } |
| |
| if ((config->coex_page_sta_bt_interval !=0) && |
| (config->coex_page_sta_wlan_interval !=0)) { |
| status = sme_set_btc_bt_wlan_interval_page_sta( |
| config->coex_page_sta_bt_interval, |
| config->coex_page_sta_wlan_interval); |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set coex page sta bt interval parameters"); |
| } |
| |
| if ((config->coex_page_sap_bt_interval !=0) && |
| (config->coex_page_sap_wlan_interval !=0)) { |
| status = sme_set_btc_bt_wlan_interval_page_sap( |
| config->coex_page_sap_bt_interval, |
| config->coex_page_sap_wlan_interval); |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set coex page sap bt interval parameters"); |
| } |
| |
| if ((config->coex_config_wlan_conn_val0 != 0) || |
| (config->coex_config_wlan_conn_val1 != 0)) { |
| status = sme_set_btc_wlan_conn_params( |
| config->coex_config_wlan_conn_val0, |
| config->coex_config_wlan_conn_val1); |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set coex wlan connection parameters"); |
| } |
| |
| if ((config->coex_page_p2p_sta_bt_interval !=0) && |
| (config->coex_page_p2p_sta_wlan_interval !=0)) { |
| status = sme_set_btc_bt_wlan_interval_page_p2p_sta( |
| config->coex_page_p2p_sta_bt_interval, |
| config->coex_page_p2p_sta_wlan_interval); |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set coex page p2p sta bt interval parameters"); |
| } |
| |
| if ((config->coex_inquiry_sta_bt_interval !=0) && |
| (config->coex_inquiry_sta_wlan_interval !=0)) { |
| status = sme_set_btc_bt_wlan_interval_inquiry_sta( |
| config->coex_inquiry_sta_bt_interval, |
| config->coex_inquiry_sta_wlan_interval); |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set coex inquiry sta bt interval parameters"); |
| } |
| |
| if ((config->coex_inquiry_sap_bt_interval !=0) && |
| (config->coex_inquiry_sap_wlan_interval !=0)) { |
| status = sme_set_btc_bt_wlan_interval_inquiry_sap( |
| config->coex_inquiry_sap_bt_interval, |
| config->coex_inquiry_sap_wlan_interval); |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set coex inquiry sap bt interval parameters"); |
| } |
| |
| if ((config->coex_inquiry_p2p_bt_interval !=0) && |
| (config->coex_inquiry_p2p_wlan_interval !=0)) { |
| status = sme_set_btc_bt_wlan_interval_inquiry_p2p( |
| config->coex_inquiry_p2p_bt_interval, |
| config->coex_inquiry_p2p_wlan_interval); |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set coex inquiry p2p bt interval parameters"); |
| } |
| |
| if ((config->coex_inquiry_p2p_sta_bt_interval !=0) && |
| (config->coex_inquiry_p2p_sta_wlan_interval !=0)) { |
| status = sme_set_btc_bt_wlan_interval_inquiry_p2p_sta( |
| config->coex_inquiry_p2p_sta_bt_interval, |
| config->coex_inquiry_p2p_sta_wlan_interval); |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set coex inquiry p2p sta bt interval parameters"); |
| } |
| |
| status = sme_set_btc_dynamic_bt_wlan_coex( |
| config->dynamic_wlan_bt_coex, config->antenna_isolation); |
| |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set enable bt wlan coex parameters"); |
| |
| status = sme_set_btc_wlan_coex_tx_power(config->coex_tx_power); |
| |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set coex tx power"); |
| |
| #ifdef FEATURE_COEX_PTA_CONFIG_ENABLE |
| status = sme_configure_pta_coex(config->coex_pta_config_enable,config->coex_pta_config_param); |
| |
| if (VOS_STATUS_SUCCESS != status) |
| hddLog(LOGE, "Fail to set pta coex"); |
| #endif |
| |
| } |
| |
| /** |
| * hdd_validate_prb_req_ie_bitmap - validates user input for ie bit map |
| * @hdd_ctx: the pointer to hdd context |
| * |
| * This function checks whether user have entered valid probe request |
| * ie bitmap and also verifies vendor ouis if vendor specific ie is set |
| * |
| * Return: status of verification |
| * 1 - valid input |
| * 0 - invalid input |
| */ |
| uint32_t hdd_validate_prb_req_ie_bitmap(hdd_context_t* pHddCtx) |
| { |
| if (!(pHddCtx->cfg_ini->probe_req_ie_bitmap_0 || |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_1 || |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_2 || |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_3 || |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_4 || |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_5 || |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_6 || |
| pHddCtx->cfg_ini->probe_req_ie_bitmap_7)) |
| return 0; |
| |
| /** |
| * check whether vendor oui IE is set and OUIs are present, each OUI |
| * is eneterd in the form of string of 8 characters from ini, therefore, |
| * for atleast one OUI, minimum length is 8 and hence this string length |
| * is checked for minimum of 8 |
| */ |
| if ((pHddCtx->cfg_ini->probe_req_ie_bitmap_6 & |
| VENDOR_SPECIFIC_IE_BITMAP) && |
| (strlen(pHddCtx->cfg_ini->probe_req_ouis) < 8)) |
| return 0; |
| |
| /* check whether vendor oui IE is not set but OUIs are present */ |
| if (!(pHddCtx->cfg_ini->probe_req_ie_bitmap_6 & |
| VENDOR_SPECIFIC_IE_BITMAP) && |
| (strlen(pHddCtx->cfg_ini->probe_req_ouis) > 0)) |
| return 0; |
| |
| return 1; |
| } |
| |
| /** |
| * probe_req_voui_convert_to_hex - converts str of 8 chars into two hex values |
| * @temp: string to be converted |
| * @voui: contains the type and subtype values |
| * |
| * This function converts the string length of 8 characters into two |
| * hexa-decimal values, oui_type and oui_subtype, where oui_type is the |
| * hexa decimal value converted from first 6 characters and oui_subtype is |
| * hexa decimal value converted from last 2 characters. |
| * strings which doesn't match with the specified pattern are ignored. |
| * |
| * Return: status of conversion |
| * 1 - if conversion is successful |
| * 0 - if conversion is failed |
| */ |
| static uint32_t hdd_probe_req_voui_convert_to_hex(uint8_t *temp, |
| struct vendor_oui *voui) |
| { |
| uint32_t hex_value[4]; |
| uint32_t i = 0; |
| uint32_t indx = 0; |
| |
| memset(hex_value, 0x00, sizeof(hex_value)); |
| memset(voui, 0x00, sizeof(*voui)); |
| |
| /* convert string to hex */ |
| for (i = 0; i < 8; i++) { |
| if (temp[i] >= '0' && temp[i] <= '9') { |
| hex_value[indx] = (temp[i] - '0') << 4; |
| } else if (temp[i] >= 'A' && temp[i] <= 'F') { |
| hex_value[indx] = (temp[i] - 'A') + 0xA; |
| hex_value[indx] = hex_value[indx] << 4; |
| } else { |
| /* invalid character in oui */ |
| return 0; |
| } |
| |
| if (temp[i + 1] >= '0' && temp[i + 1] <= '9') { |
| hex_value[indx] |= (temp[i + 1] - '0'); |
| i = i + 1; |
| indx = indx + 1; |
| } else if (temp[i + 1] >= 'A' && temp[i + 1] <= 'F') { |
| hex_value[indx] |= ((temp[i + 1] - 'A') + 0xA); |
| i = i + 1; |
| indx = indx + 1; |
| } else { |
| /* invalid character in oui */ |
| return 0; |
| } |
| } |
| |
| voui->oui_type = (hex_value[0] | (hex_value[1] << 8) | |
| (hex_value[2] << 16)); |
| voui->oui_subtype = hex_value[3]; |
| |
| hddLog(LOG1, FL("OUI_type = %x and OUI_subtype = %x"), voui->oui_type, |
| voui->oui_subtype); |
| return 1; |
| } |
| |
| /** |
| * hdd_parse_probe_req_ouis - form ouis from ini gProbeReqOUIs |
| * @hdd_ctx: the pointer to hdd context |
| * |
| * This function parses the ini string gProbeReqOUIs which needs to in the |
| * following format: |
| * "<8 characters of [0-9] or [A-F]>space<8 characters from [0-9] etc.," |
| * example: "AABBCCDD 1122EEFF" |
| * and the logic counts the number of OUIS and allocates the memory |
| * for every valid OUI and is stored in hdd_context_t |
| * |
| * Return: status of parsing |
| */ |
| VOS_STATUS hdd_parse_probe_req_ouis(hdd_context_t* pHddCtx) |
| { |
| struct vendor_oui voui[MAX_PROBE_REQ_OUIS]; |
| uint8_t *str; |
| uint8_t temp[9]; |
| uint32_t start = 0, end = 0; |
| uint32_t oui_indx = 0; |
| uint32_t i = 0; |
| |
| pHddCtx->cfg_ini->probe_req_ouis[MAX_PRB_REQ_VENDOR_OUI_INI_LEN - 1] = |
| '\0'; |
| if (!strlen(pHddCtx->cfg_ini->probe_req_ouis)) { |
| pHddCtx->no_of_probe_req_ouis = 0; |
| pHddCtx->probe_req_voui = NULL; |
| hddLog(LOG1, FL("NO OUIS to parse")); |
| return VOS_STATUS_SUCCESS; |
| } |
| |
| str = (uint8_t *)(pHddCtx->cfg_ini->probe_req_ouis); |
| |
| while(str[i] != '\0') { |
| if (str[i] == ' ') { |
| if ((end - start) != 8) |
| { |
| end = start = 0; |
| i++; |
| continue; |
| } else { |
| memcpy(temp, &str[i - 8], 8); |
| i++; |
| temp[8] = '\0'; |
| if (hdd_probe_req_voui_convert_to_hex(temp, |
| &voui[oui_indx]) == 0) { |
| end = start = 0; |
| continue; |
| } |
| oui_indx++; |
| if (oui_indx >= MAX_PROBE_REQ_OUIS) { |
| hddLog(LOGE, "Max no.of OUIS supported " |
| "is 16. ignoring the rest"); |
| break; |
| } |
| } |
| start = end = 0; |
| } else { |
| i++; |
| end++; |
| } |
| } |
| |
| if ((end - start) == 8 && oui_indx < MAX_PROBE_REQ_OUIS) { |
| memcpy(temp, &str[i - 8], 8); |
| temp[8] = '\0'; |
| if (hdd_probe_req_voui_convert_to_hex(temp, |
| &voui[oui_indx]) == 1) |
| oui_indx++; |
| } |
| |
| if (!oui_indx) |
| return VOS_STATUS_SUCCESS; |
| |
| pHddCtx->probe_req_voui = (struct vendor_oui *)vos_mem_malloc(oui_indx * |
| sizeof(struct vendor_oui)); |
| if (pHddCtx->probe_req_voui == NULL) { |
| hddLog(LOGE,"Not Enough memory for OUI"); |
| pHddCtx->no_of_probe_req_ouis = 0; |
| return VOS_STATUS_E_FAILURE; |
| } |
| vos_mem_zero(pHddCtx->probe_req_voui, |
| oui_indx * sizeof(struct vendor_oui)); |
| pHddCtx->no_of_probe_req_ouis = oui_indx; |
| vos_mem_copy(pHddCtx->probe_req_voui, voui, |
| oui_indx * sizeof(struct vendor_oui)); |
| |
| return VOS_STATUS_SUCCESS; |
| } |
| |
| /** |
| * hdd_free_probe_req_ouis - de-allocates the probe req ouis |
| * @hdd_ctx: the pointer to hdd context |
| * |
| * This function de-alloactes the probe req ouis which are |
| * allocated while parsing of ini string gProbeReqOUIs |
| * |
| * Return: None |
| */ |
| void hdd_free_probe_req_ouis(hdd_context_t* pHddCtx) |
| { |
| if (pHddCtx->probe_req_voui) { |
| vos_mem_free(pHddCtx->probe_req_voui); |
| pHddCtx->probe_req_voui = NULL; |
| } |
| |
| pHddCtx->no_of_probe_req_ouis = 0; |
| } |