diff options
| author | Srinivas Girigowda <sgirigow@qca.qualcomm.com> | 2014-09-26 15:07:53 -0700 |
|---|---|---|
| committer | AnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com> | 2014-09-29 19:40:15 +0530 |
| commit | 62bcdfc5fe3cc30bd164f15f8569eb5ff915ee2e (patch) | |
| tree | 414689c62df736eb708cbf89b1747cf8b762dd52 | |
| parent | 9f4af5457fdb59782538394983bad91403ddb7f7 (diff) | |
qcacld: Remove SAP traffic monitor feature
This feature was initially implemented on Pronto, but the same
implementation does not holds good for CLD. QCACLD already supports
D3 suspend in SAP mode. Hence remove this code.
Change-Id: I4e7db02ccdb4cd870c1d4a57afc080ad9f76fb84
CRs-Fixed: 731104
| -rw-r--r-- | CORE/HDD/inc/qc_sap_ioctl.h | 9 | ||||
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_cfg.h | 15 | ||||
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_main.h | 11 | ||||
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_softap_tx_rx.h | 24 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg.c | 16 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_hostapd.c | 26 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_softap_tx_rx.c | 144 | ||||
| -rw-r--r-- | firmware_bin/WCNSS_qcom_cfg.usb.ini | 4 |
8 files changed, 4 insertions, 245 deletions
diff --git a/CORE/HDD/inc/qc_sap_ioctl.h b/CORE/HDD/inc/qc_sap_ioctl.h index 60ab9b92baf3..63f30a181532 100644 --- a/CORE/HDD/inc/qc_sap_ioctl.h +++ b/CORE/HDD/inc/qc_sap_ioctl.h @@ -170,16 +170,15 @@ typedef struct #define QCSAP_IOCTL_GET_STA_INFO (SIOCIWFIRSTPRIV+21) #define QCSAP_IOCTL_SET_MAX_TX_POWER (SIOCIWFIRSTPRIV+22) #define QCSAP_IOCTL_DATAPATH_SNAP_SHOT (SIOCIWFIRSTPRIV+23) -#define QCSAP_IOCTL_SET_TRAFFIC_MONITOR (SIOCIWFIRSTPRIV+24) -#define QCSAP_IOCTL_GET_INI_CFG (SIOCIWFIRSTPRIV+25) -#define QCSAP_IOCTL_SET_INI_CFG (SIOCIWFIRSTPRIV+26) -#define QCSAP_IOCTL_SET_TWO_INT_GET_NONE (SIOCIWFIRSTPRIV + 28) +#define QCSAP_IOCTL_GET_INI_CFG (SIOCIWFIRSTPRIV+24) +#define QCSAP_IOCTL_SET_INI_CFG (SIOCIWFIRSTPRIV+25) +#define QCSAP_IOCTL_SET_TWO_INT_GET_NONE (SIOCIWFIRSTPRIV + 26) #ifdef DEBUG #define QCSAP_IOCTL_SET_FW_CRASH_INJECT 1 #endif #define MAX_VAR_ARGS 7 -#define QCSAP_IOCTL_PRIV_GET_SOFTAP_LINK_SPEED (SIOCIWFIRSTPRIV + 31) +#define QCSAP_IOCTL_PRIV_GET_SOFTAP_LINK_SPEED (SIOCIWFIRSTPRIV + 27) #define QCSAP_IOCTL_MAX_STR_LEN 1024 diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h index c65d3889d65e..46b31db7fc86 100644 --- a/CORE/HDD/inc/wlan_hdd_cfg.h +++ b/CORE/HDD/inc/wlan_hdd_cfg.h @@ -2166,19 +2166,6 @@ typedef enum #define CFG_MAX_MEDIUM_TIME_STADEFAULT WNI_CFG_MAX_MEDIUM_TIME_STADEF /* - * SAP/P2P-GO mode traffic monitor - */ -#define CFG_ENABLE_TRAFFIC_MONITOR "gEnableTrafficMonitor" -#define CFG_ENABLE_TRAFFIC_MONITOR_MIN ( 0 ) -#define CFG_ENABLE_TRAFFIC_MONITOR_MAX ( 1 ) -#define CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT ( 0 ) - -#define CFG_TRAFFIC_IDLE_TIMEOUT "gTrafficIdleTimeout" -#define CFG_TRAFFIC_IDLE_TIMEOUT_MIN ( 3000 ) -#define CFG_TRAFFIC_IDLE_TIMEOUT_MAX ( 10000 ) -#define CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT ( 5000 ) - -/* * SCAN Offload */ #define CFG_SCAN_OFFLOAD_NAME "gEnableDirectedScanOffload" @@ -3221,8 +3208,6 @@ typedef struct v_BOOL_t enableSSR; char listOfNon11acCountryCode[128]; v_U32_t cfgMaxMediumTime; - v_U8_t enableTrafficMonitor; - v_U32_t trafficIdleTimeout; v_BOOL_t enableVhtFor24GHzBand; v_U8_t fScanOffload; #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h index 497e9e28721d..bcdc2c4f30f8 100644 --- a/CORE/HDD/inc/wlan_hdd_main.h +++ b/CORE/HDD/inc/wlan_hdd_main.h @@ -1140,15 +1140,6 @@ typedef struct hdd_priv_data_s int total_len; }hdd_priv_data_t; -typedef struct -{ - vos_timer_t trafficTimer; - atomic_t isActiveMode; - v_U8_t isInitialized; - vos_lock_t trafficLock; - v_TIME_t lastFrameTs; -}hdd_traffic_monitor_t; - #ifdef FEATURE_GREEN_AP #define GREEN_AP_PS_ON_TIME (0) @@ -1380,8 +1371,6 @@ struct hdd_context_s struct mutex tdls_lock; #endif - hdd_traffic_monitor_t traffic_monitor; - #ifdef IPA_OFFLOAD void *hdd_ipa; #ifdef IPA_UC_OFFLOAD diff --git a/CORE/HDD/inc/wlan_hdd_softap_tx_rx.h b/CORE/HDD/inc/wlan_hdd_softap_tx_rx.h index 5497a42da90b..15e548cbf0c8 100644 --- a/CORE/HDD/inc/wlan_hdd_softap_tx_rx.h +++ b/CORE/HDD/inc/wlan_hdd_softap_tx_rx.h @@ -326,30 +326,6 @@ extern VOS_STATUS hdd_softap_GetStaId( hdd_adapter_t *pAdapter, v_MACADDR_t *pMa =========================================================================== */ extern VOS_STATUS hdd_softap_GetConnectedStaId( hdd_adapter_t *pAdapter, v_U8_t *staId); -/**========================================================================== - - \brief hdd_start_trafficMonitor() - - This function dynamically enable traffic monitor functionality - the command iwpriv wlanX setTrafficMon <value>. - - @param pAdapter : [in] pointer to adapter context - @return : VOS_STATUS_E_FAILURE if any errors encountered - - ========================================================================== */ -VOS_STATUS hdd_start_trafficMonitor( hdd_adapter_t *pAdapter ); - -/**========================================================================== - - \brief hdd_stop_trafficMonitor() - - This function dynamically disable traffic monitor functionality - the command iwpriv wlanX setTrafficMon <value>. - - @param pAdapter : [in] pointer to adapter context - @return : VOS_STATUS_E_FAILURE if any errors encountered - - ========================================================================== */ -VOS_STATUS hdd_stop_trafficMonitor( hdd_adapter_t *pAdapter ); - #ifdef QCA_LL_TX_FLOW_CT /**============================================================================ @brief hdd_softap_tx_resume_timer_expired_handler() - Resume OS TX Q timer diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c index 689952441947..0b9d91729990 100644 --- a/CORE/HDD/src/wlan_hdd_cfg.c +++ b/CORE/HDD/src/wlan_hdd_cfg.c @@ -3040,20 +3040,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_MAX_MEDIUM_TIME_STAMIN, CFG_MAX_MEDIUM_TIME_STAMAX ), - REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer, - hdd_config_t, enableTrafficMonitor, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT, - CFG_ENABLE_TRAFFIC_MONITOR_MIN, - CFG_ENABLE_TRAFFIC_MONITOR_MAX), - - REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer, - hdd_config_t, trafficIdleTimeout, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT, - CFG_TRAFFIC_IDLE_TIMEOUT_MIN, - CFG_TRAFFIC_IDLE_TIMEOUT_MAX), - #ifdef WLAN_FEATURE_11AC REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer, hdd_config_t, enableVhtFor24GHzBand, @@ -4377,8 +4363,6 @@ void print_hdd_cfg(hdd_context_t *pHddCtx) 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 = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor); - VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTrafficIdleTimeout] Value = [%u] ", pHddCtx->cfg_ini->trafficIdleTimeout); 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); diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c index f6fb86badbf1..68323ea64664 100644 --- a/CORE/HDD/src/wlan_hdd_hostapd.c +++ b/CORE/HDD/src/wlan_hdd_hostapd.c @@ -3100,25 +3100,6 @@ static iw_softap_set_tx_power(struct net_device *dev, return 0; } -/**--------------------------------------------------------------------------- - - \brief iw_softap_set_trafficmonitor() - - This function dynamically enable/disable traffic monitor functionality - the command iwpriv wlanX setTrafficMon <value>. - - \param - dev - Pointer to the net device. - - addr - Pointer to the sockaddr. - \return - 0 for success, non zero for failure - - --------------------------------------------------------------------------*/ - -static int iw_softap_set_trafficmonitor(struct net_device *dev, - struct iw_request_info *info, - union iwreq_data *wrqu, char *extra) -{ - return 0; -} - #define IS_BROADCAST_MAC(x) (((x[0] & x[1] & x[2] & x[3] & x[4] & x[5]) == 0xff) ? 1 : 0) int @@ -4890,12 +4871,6 @@ static const struct iw_priv_args hostapd_private_args[] = { "getConfig" }, /* handlers for main ioctl */ - { QCSAP_IOCTL_SET_TRAFFIC_MONITOR, - IW_PRIV_TYPE_INT| IW_PRIV_SIZE_FIXED | 1, - 0, - "setTrafficMon" }, - - /* handlers for main ioctl */ { QCSAP_IOCTL_SET_TWO_INT_GET_NONE, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 2, 0, @@ -4933,7 +4908,6 @@ static const iw_handler hostapd_private[] = { [QCSAP_IOCTL_DATAPATH_SNAP_SHOT - SIOCIWFIRSTPRIV] = iw_display_data_path_snapshot, [QCSAP_IOCTL_SET_INI_CFG - SIOCIWFIRSTPRIV] = iw_softap_set_ini_cfg, [QCSAP_IOCTL_GET_INI_CFG - SIOCIWFIRSTPRIV] = iw_softap_get_ini_cfg, - [QCSAP_IOCTL_SET_TRAFFIC_MONITOR - SIOCIWFIRSTPRIV] = iw_softap_set_trafficmonitor, [QCSAP_IOCTL_SET_TWO_INT_GET_NONE - SIOCIWFIRSTPRIV] = iw_softap_set_two_ints_getnone, }; diff --git a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c index cb1306219367..e169f13ed78e 100644 --- a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c +++ b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c @@ -87,117 +87,6 @@ static void hdd_softap_dump_sk_buff(struct sk_buff * skb) extern void hdd_set_wlan_suspend_mode(bool suspend); /**============================================================================ - @brief hdd_softap_traffic_monitor_timeout_handler() - - SAP/P2P GO traffic monitor timeout handler function - If no traffic during programmed time, trigger suspend mode - - @param pUsrData : [in] pointer to hdd context - @return : NONE - ===========================================================================*/ -void hdd_softap_traffic_monitor_timeout_handler( void *pUsrData ) -{ - hdd_context_t *pHddCtx = (hdd_context_t *)pUsrData; - v_TIME_t currentTS; - - if (NULL == pHddCtx) - { - VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_ERROR, - "%s: Invalid user data, context", __func__); - return; - } - - currentTS = vos_timer_get_system_time(); - if (pHddCtx->cfg_ini->trafficIdleTimeout < - (currentTS - pHddCtx->traffic_monitor.lastFrameTs)) - { - VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_INFO, - "%s: No Data Activity calling Wlan Suspend", __func__ ); - hdd_set_wlan_suspend_mode(1); - atomic_set(&pHddCtx->traffic_monitor.isActiveMode, 0); - } - else - { - vos_timer_start(&pHddCtx->traffic_monitor.trafficTimer, - pHddCtx->cfg_ini->trafficIdleTimeout); - } - - return; -} - -VOS_STATUS hdd_start_trafficMonitor( hdd_adapter_t *pAdapter ) -{ - - hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pAdapter); - VOS_STATUS status = VOS_STATUS_SUCCESS; - - status = wlan_hdd_validate_context(pHddCtx); - - if (0 != status) - { - VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_ERROR, - "%s: HDD context is not valid", __func__); - return status; - } - - if ((pHddCtx->cfg_ini->enableTrafficMonitor) && - (!pHddCtx->traffic_monitor.isInitialized)) - { - atomic_set(&pHddCtx->traffic_monitor.isActiveMode, 1); - vos_timer_init(&pHddCtx->traffic_monitor.trafficTimer, - VOS_TIMER_TYPE_SW, - hdd_softap_traffic_monitor_timeout_handler, - pHddCtx); - vos_lock_init(&pHddCtx->traffic_monitor.trafficLock); - pHddCtx->traffic_monitor.isInitialized = 1; - pHddCtx->traffic_monitor.lastFrameTs = 0; - /* Start traffic monitor timer here - * If no AP assoc, immediately go into suspend */ - VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_INFO, - "%s Start Traffic Monitor Timer", __func__); - vos_timer_start(&pHddCtx->traffic_monitor.trafficTimer, - pHddCtx->cfg_ini->trafficIdleTimeout); - } - else - { - VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_INFO, - "%s Traffic Monitor is not Enable in ini file", __func__); - } - return status; -} - -VOS_STATUS hdd_stop_trafficMonitor( hdd_adapter_t *pAdapter ) -{ - hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pAdapter); - VOS_STATUS status = VOS_STATUS_SUCCESS; - - status = wlan_hdd_validate_context(pHddCtx); - - if (-ENODEV == status) - { - VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_ERROR, - "%s: HDD context is not valid", __func__); - return status; - } - - if (pHddCtx->traffic_monitor.isInitialized) - { - if (VOS_TIMER_STATE_STOPPED != - vos_timer_getCurrentState(&pHddCtx->traffic_monitor.trafficTimer)) - { - VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_INFO, - "%s Stop Traffic Monitor Timer", __func__); - vos_timer_stop(&pHddCtx->traffic_monitor.trafficTimer); - } - VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_INFO, - "%s Destroy Traffic Monitor Timer", __func__); - vos_timer_destroy(&pHddCtx->traffic_monitor.trafficTimer); - vos_lock_destroy(&pHddCtx->traffic_monitor.trafficLock); - pHddCtx->traffic_monitor.isInitialized = 0; - } - return VOS_STATUS_SUCCESS; -} - -/**============================================================================ @brief hdd_softap_flush_tx_queues() - Utility function to flush the TX queues @param pAdapter : [in] pointer to adapter context @@ -731,12 +620,6 @@ VOS_STATUS hdd_softap_init_tx_rx( hdd_adapter_t *pAdapter ) /* Update the AC weights suitable for SoftAP mode of operation */ WLANTL_SetACWeights((WLAN_HDD_GET_CTX(pAdapter))->pvosContext, pACWeights); - if (VOS_STATUS_SUCCESS != hdd_start_trafficMonitor(pAdapter)) - { - VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_ERROR, - "%s: failed to start Traffic Monitor timer ", __func__ ); - return VOS_STATUS_E_INVAL; - } return status; } @@ -752,13 +635,6 @@ VOS_STATUS hdd_softap_deinit_tx_rx( hdd_adapter_t *pAdapter ) { VOS_STATUS status = VOS_STATUS_SUCCESS; - if (VOS_STATUS_SUCCESS != hdd_stop_trafficMonitor(pAdapter)) - { - VOS_TRACE( VOS_MODULE_ID_HDD_SAP_DATA, VOS_TRACE_LEVEL_ERROR, - "%s: Fail to Stop Traffic Monitor timer", __func__ ); - return VOS_STATUS_E_INVAL; - } - status = hdd_softap_flush_tx_queues(pAdapter); return status; @@ -1076,26 +952,6 @@ VOS_STATUS hdd_softap_tx_fetch_packet_cbk( v_VOID_t *vosContext, return VOS_STATUS_E_FAILURE; } - /* Monitor traffic */ - if ( pHddCtx->cfg_ini->enableTrafficMonitor ) - { - pHddCtx->traffic_monitor.lastFrameTs = vos_timer_get_system_time(); - if ( !atomic_read(&pHddCtx->traffic_monitor.isActiveMode) ) - { - vos_lock_acquire(&pHddCtx->traffic_monitor.trafficLock); - /* It was IDLE mode, - * this is new state, then switch mode from suspend to resume */ - if ( !atomic_read(&pHddCtx->traffic_monitor.isActiveMode) ) - { - hdd_set_wlan_suspend_mode(0); - vos_timer_start(&pHddCtx->traffic_monitor.trafficTimer, - pHddCtx->cfg_ini->trafficIdleTimeout); - atomic_set(&pHddCtx->traffic_monitor.isActiveMode, 1); - } - vos_lock_release(&pHddCtx->traffic_monitor.trafficLock); - } - } - ++pAdapter->hdd_stats.hddTxRxStats.txFetched; *ppVosPacket = NULL; diff --git a/firmware_bin/WCNSS_qcom_cfg.usb.ini b/firmware_bin/WCNSS_qcom_cfg.usb.ini index acd7e61c6c72..44f9cfea5efe 100644 --- a/firmware_bin/WCNSS_qcom_cfg.usb.ini +++ b/firmware_bin/WCNSS_qcom_cfg.usb.ini @@ -443,10 +443,6 @@ gEnableDirectedScanOffload=1 #Default is set to 0 (disable) gFlexConnectPowerFactor=0 -#SAP/P2P-GO mode traffic monitor -gEnableTrafficMonitor=0 -gTrafficIdleTimeout=3000 - #Disable split scan, the FW will take care of it gNumChanCombinedConc=60 |
