From d0a7656c2bce79a17164aa9f6ed26b0d2cd7a868 Mon Sep 17 00:00:00 2001 From: Dustin Brown Date: Fri, 13 Oct 2017 14:48:37 -0700 Subject: [PATCH] qcacld-3.0: Converge on recommended wake lock duration Over time, many arbitrary wake lock durations were chosen with very little observational evidence to support them. Converge on a standard recommended wake lock duration, which can serve as a starting point for finding an appropriate wake lock duration. Change-Id: Ie54c415870c96117d72ead4d677c4bfb2aad3ae4 CRs-Fixed: 2126685 --- core/hdd/inc/wlan_hdd_main.h | 5 +++-- core/mac/src/include/sir_params.h | 3 +++ core/wma/inc/wma.h | 28 +++++++++++++--------------- core/wma/src/wma_mgmt.c | 4 ++-- core/wma/src/wma_scan_roam.c | 2 +- 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 40af514e8761..5bd0c7b75736 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -302,10 +302,11 @@ #define WLAN_HDD_QOS_ACTION_FRAME 1 #define WLAN_HDD_QOS_MAP_CONFIGURE 4 -#define HDD_SAP_WAKE_LOCK_DURATION 10000 /* in msecs */ +#define HDD_SAP_WAKE_LOCK_DURATION WAKELOCK_DURATION_RECOMMENDED /* SAP client disconnect wake lock duration in milli seconds */ -#define HDD_SAP_CLIENT_DISCONNECT_WAKE_LOCK_DURATION (1000) +#define HDD_SAP_CLIENT_DISCONNECT_WAKE_LOCK_DURATION \ + WAKELOCK_DURATION_RECOMMENDED #if defined(CONFIG_HL_SUPPORT) #define HDD_MOD_EXIT_SSR_MAX_RETRIES 200 diff --git a/core/mac/src/include/sir_params.h b/core/mac/src/include/sir_params.h index 54d3ae2b7fb0..e0f077f81b76 100644 --- a/core/mac/src/include/sir_params.h +++ b/core/mac/src/include/sir_params.h @@ -42,6 +42,9 @@ #include "sir_types.h" +#define WAKELOCK_DURATION_RECOMMENDED 1000 +#define WAKELOCK_DURATION_MAX 3000 + /* defines for WPS config states */ #define SAP_WPS_DISABLED 0 #define SAP_WPS_ENABLED_UNCONFIGURED 1 diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h index 3467621a4963..3ccf456cb789 100644 --- a/core/wma/inc/wma.h +++ b/core/wma/inc/wma.h @@ -62,7 +62,7 @@ #define WMA_READY_EVENTID_TIMEOUT 6000 #define WMA_SERVICE_READY_EXT_TIMEOUT 6000 #define WMA_TGT_SUSPEND_COMPLETE_TIMEOUT 6000 -#define WMA_WAKE_LOCK_TIMEOUT 1000 +#define WMA_WAKE_LOCK_TIMEOUT WAKELOCK_DURATION_RECOMMENDED #define WMA_RESUME_TIMEOUT 25000 #define MAX_MEM_CHUNKS 32 #define NAN_CLUSTER_ID_BYTES 4 @@ -288,11 +288,11 @@ enum ds_mode { #define WMA_DEL_P2P_SELF_STA_RSP_START 0x03 #define WMA_SET_LINK_PEER_RSP 0x04 #define WMA_DELETE_PEER_RSP 0x05 -#define WMA_VDEV_START_REQUEST_TIMEOUT (6000) /* 6 seconds */ -#define WMA_VDEV_STOP_REQUEST_TIMEOUT (6000) /* 6 seconds */ -#define WMA_VDEV_HW_MODE_REQUEST_TIMEOUT (5000) /* 5 seconds */ -#define WMA_VDEV_PLCY_MGR_CMD_TIMEOUT (3000) /* 3 seconds */ -#define WMA_VDEV_SET_KEY_REQUEST_TIMEOUT (1000) /* 1 second */ +#define WMA_VDEV_START_REQUEST_TIMEOUT 6000 /* 6s */ +#define WMA_VDEV_STOP_REQUEST_TIMEOUT 6000 /* 6s */ +#define WMA_VDEV_HW_MODE_REQUEST_TIMEOUT 5000 /* 5s */ +#define WMA_VDEV_PLCY_MGR_CMD_TIMEOUT 3000 /* 3s */ +#define WMA_VDEV_SET_KEY_WAKELOCK_TIMEOUT WAKELOCK_DURATION_RECOMMENDED #define WMA_TGT_INVALID_SNR (0) @@ -341,18 +341,16 @@ enum ds_mode { /* Default rssi threshold defined in CFG80211 */ #define WMA_RSSI_THOLD_DEFAULT -300 -#define WMA_AUTH_REQ_RECV_WAKE_LOCK_TIMEOUT (5 * 1000) /* in msec */ -#define WMA_ASSOC_REQ_RECV_WAKE_LOCK_DURATION (5 * 1000) /* in msec */ -#define WMA_DEAUTH_RECV_WAKE_LOCK_DURATION (5 * 1000) /* in msec */ -#define WMA_DISASSOC_RECV_WAKE_LOCK_DURATION (5 * 1000) /* in msec */ +#define WMA_AUTH_REQ_RECV_WAKE_LOCK_TIMEOUT WAKELOCK_DURATION_RECOMMENDED +#define WMA_ASSOC_REQ_RECV_WAKE_LOCK_DURATION WAKELOCK_DURATION_RECOMMENDED +#define WMA_DEAUTH_RECV_WAKE_LOCK_DURATION WAKELOCK_DURATION_RECOMMENDED +#define WMA_DISASSOC_RECV_WAKE_LOCK_DURATION WAKELOCK_DURATION_RECOMMENDED #define WMA_ROAM_HO_WAKE_LOCK_DURATION (500) /* in msec */ #ifdef FEATURE_WLAN_AUTO_SHUTDOWN -#define WMA_AUTO_SHUTDOWN_WAKE_LOCK_DURATION (5 * 1000) /* in msec */ -#else -#define WMA_AUTO_SHUTDOWN_WAKE_LOCK_DURATION 0 /* in msec */ +#define WMA_AUTO_SHUTDOWN_WAKE_LOCK_DURATION WAKELOCK_DURATION_RECOMMENDED #endif -#define WMA_BMISS_EVENT_WAKE_LOCK_DURATION (4 * 1000) /* in msec */ -#define WMA_FW_RSP_EVENT_WAKE_LOCK_DURATION (3 * 1000) /* in msec */ +#define WMA_BMISS_EVENT_WAKE_LOCK_DURATION WAKELOCK_DURATION_RECOMMENDED +#define WMA_FW_RSP_EVENT_WAKE_LOCK_DURATION WAKELOCK_DURATION_MAX #define WMA_TXMIC_LEN 8 #define WMA_RXMIC_LEN 8 diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c index f1ea8fa5b62c..b69a79d77817 100644 --- a/core/wma/src/wma_mgmt.c +++ b/core/wma/src/wma_mgmt.c @@ -1249,9 +1249,9 @@ QDF_STATUS wma_send_peer_assoc(tp_wma_handle wma, ) { cmd->peer_flags |= WMI_PEER_NEED_PTK_4_WAY; WMA_LOGD("Acquire set key wake lock for %d ms", - WMA_VDEV_SET_KEY_REQUEST_TIMEOUT); + WMA_VDEV_SET_KEY_WAKELOCK_TIMEOUT); wma_acquire_wakelock(&intr->vdev_set_key_wakelock, - WMA_VDEV_SET_KEY_REQUEST_TIMEOUT); + WMA_VDEV_SET_KEY_WAKELOCK_TIMEOUT); } if (params->wpa_rsn >> 1) cmd->peer_flags |= WMI_PEER_NEED_GTK_2_WAY; diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index e354090371d5..23b7fd74a0e2 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -102,7 +102,7 @@ enum extscan_report_events_type { EXTSCAN_REPORT_EVENTS_CONTEXT_HUB = 0x08, }; -#define WMA_EXTSCAN_CYCLE_WAKE_LOCK_DURATION (5 * 1000) /* in msec */ +#define WMA_EXTSCAN_CYCLE_WAKE_LOCK_DURATION WAKELOCK_DURATION_RECOMMENDED /* * Maximum number of entires that could be present in the