瀏覽代碼

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
Dustin Brown 7 年之前
父節點
當前提交
d0a7656c2b
共有 5 個文件被更改,包括 22 次插入20 次删除
  1. 3 2
      core/hdd/inc/wlan_hdd_main.h
  2. 3 0
      core/mac/src/include/sir_params.h
  3. 13 15
      core/wma/inc/wma.h
  4. 2 2
      core/wma/src/wma_mgmt.c
  5. 1 1
      core/wma/src/wma_scan_roam.c

+ 3 - 2
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

+ 3 - 0
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

+ 13 - 15
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

+ 2 - 2
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;

+ 1 - 1
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