瀏覽代碼

qcacld-3.0: Do not disable Qpower in suspend mode

Do not disable the Qpower in suspend mode.

Change-Id: I904f1ea4877482eff90599aa2d8f2fb676db0869
CRs-Fixed: 2002833
Kiran Kumar Lokere 8 年之前
父節點
當前提交
1e8e4f0eb7
共有 2 個文件被更改,包括 5 次插入44 次删除
  1. 2 2
      core/wma/inc/wma.h
  2. 3 42
      core/wma/src/wma_power.c

+ 2 - 2
core/wma/inc/wma.h

@@ -997,7 +997,7 @@ typedef struct {
  * @nwType: network type (802.11a/b/g/n/ac)
  * @staKeyParams: sta key parameters
  * @ps_enabled: is powersave enable/disable
- * @dtim_policy: DTIM policy
+ * @restore_dtim_setting: DTIM settings restore flag
  * @peer_count: peer count
  * @roam_synch_in_progress: flag is in progress or not
  * @plink_status_req: link status request
@@ -1064,7 +1064,7 @@ struct wma_txrx_node {
 	int8_t max_tx_power;
 	uint32_t nwType;
 	void *staKeyParams;
-	uint32_t dtim_policy;
+	bool restore_dtim_setting;
 	uint32_t peer_count;
 	bool roam_synch_in_progress;
 	void *plink_status_req;

+ 3 - 42
core/wma/src/wma_power.c

@@ -1737,7 +1737,6 @@ QDF_STATUS wma_set_smps_params(tp_wma_handle wma, uint8_t vdev_id,
 static void wma_set_vdev_suspend_dtim(tp_wma_handle wma, uint8_t vdev_id)
 {
 	struct wma_txrx_node *iface = &wma->interfaces[vdev_id];
-	enum powersave_qpower_mode qpower_config = wma_get_qpower_config(wma);
 
 	if ((iface->type == WMI_VDEV_TYPE_STA) &&
 	    (iface->dtimPeriod != 0)) {
@@ -1795,26 +1794,7 @@ static void wma_set_vdev_suspend_dtim(tp_wma_handle wma, uint8_t vdev_id)
 		WMA_LOGD("Set Listen Interval vdevId %d Listen Intv %d",
 			 vdev_id, listen_interval);
 
-		if (qpower_config) {
-			WMA_LOGD("disable Qpower in suspend mode!");
-			ret = wma_unified_set_sta_ps_param(wma->wmi_handle,
-						vdev_id,
-						WMI_STA_PS_ENABLE_QPOWER,
-						0);
-			if (QDF_IS_STATUS_ERROR(ret))
-				WMA_LOGE("Failed to disable Qpower in suspend mode!");
-		}
-
-		ret = wma_vdev_set_param(wma->wmi_handle, vdev_id,
-						      WMI_VDEV_PARAM_DTIM_POLICY,
-						      NORMAL_DTIM);
-		if (QDF_IS_STATUS_ERROR(ret))
-			WMA_LOGE("Failed to Set to Normal DTIM vdevId %d",
-				 vdev_id);
-
-		/* Set it to Normal DTIM */
-		iface->dtim_policy = NORMAL_DTIM;
-		WMA_LOGD("Set DTIM Policy to Normal Dtim vdevId %d", vdev_id);
+		iface->restore_dtim_setting = true;
 	}
 }
 
@@ -1851,10 +1831,9 @@ void wma_set_suspend_dtim(tp_wma_handle wma)
 static void wma_set_vdev_resume_dtim(tp_wma_handle wma, uint8_t vdev_id)
 {
 	struct wma_txrx_node *iface = &wma->interfaces[vdev_id];
-	enum powersave_qpower_mode qpower_config = wma_get_qpower_config(wma);
 
 	if ((iface->type == WMI_VDEV_TYPE_STA) &&
-	    (iface->dtim_policy == NORMAL_DTIM)) {
+	    (iface->restore_dtim_setting)) {
 		QDF_STATUS ret;
 		uint32_t cfg_data_val = 0;
 		/* get mac to acess CFG data base */
@@ -1883,26 +1862,8 @@ static void wma_set_vdev_resume_dtim(tp_wma_handle wma, uint8_t vdev_id)
 		WMA_LOGD("Set Listen Interval vdevId %d Listen Intv %d",
 			 vdev_id, cfg_data_val);
 
-		ret = wma_vdev_set_param(wma->wmi_handle, vdev_id,
-						      WMI_VDEV_PARAM_DTIM_POLICY,
-						      STICK_DTIM);
-		if (QDF_IS_STATUS_ERROR(ret)) {
-			/* Set it back to Stick DTIM */
-			WMA_LOGE("Failed to Set to Stick DTIM vdevId %d",
-				 vdev_id);
-		}
-		iface->dtim_policy = STICK_DTIM;
-		WMA_LOGD("Set DTIM Policy to Stick Dtim vdevId %d", vdev_id);
+		iface->restore_dtim_setting = false;
 
-		if (qpower_config) {
-			WMA_LOGD("enable Qpower in resume mode!");
-			ret = wma_unified_set_sta_ps_param(wma->wmi_handle,
-						vdev_id,
-						WMI_STA_PS_ENABLE_QPOWER,
-						qpower_config);
-			if (QDF_IS_STATUS_ERROR(ret))
-				WMA_LOGE("Failed to enable Qpower in resume mode!");
-		}
 	}
 }