qcacld-3.0: Do not disable Qpower in suspend mode

Do not disable the Qpower in suspend mode.

Change-Id: I904f1ea4877482eff90599aa2d8f2fb676db0869
CRs-Fixed: 2002833
This commit is contained in:
Kiran Kumar Lokere
2017-02-02 18:08:44 -08:00
committed by qcabuildsw
parent 4a97699007
commit 1e8e4f0eb7
2 changed files with 5 additions and 44 deletions

View File

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

View File

@@ -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) static void wma_set_vdev_suspend_dtim(tp_wma_handle wma, uint8_t vdev_id)
{ {
struct wma_txrx_node *iface = &wma->interfaces[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) && if ((iface->type == WMI_VDEV_TYPE_STA) &&
(iface->dtimPeriod != 0)) { (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", WMA_LOGD("Set Listen Interval vdevId %d Listen Intv %d",
vdev_id, listen_interval); vdev_id, listen_interval);
if (qpower_config) { iface->restore_dtim_setting = true;
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);
} }
} }
@@ -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) static void wma_set_vdev_resume_dtim(tp_wma_handle wma, uint8_t vdev_id)
{ {
struct wma_txrx_node *iface = &wma->interfaces[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) && if ((iface->type == WMI_VDEV_TYPE_STA) &&
(iface->dtim_policy == NORMAL_DTIM)) { (iface->restore_dtim_setting)) {
QDF_STATUS ret; QDF_STATUS ret;
uint32_t cfg_data_val = 0; uint32_t cfg_data_val = 0;
/* get mac to acess CFG data base */ /* 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", WMA_LOGD("Set Listen Interval vdevId %d Listen Intv %d",
vdev_id, cfg_data_val); vdev_id, cfg_data_val);
ret = wma_vdev_set_param(wma->wmi_handle, vdev_id, iface->restore_dtim_setting = false;
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);
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!");
}
} }
} }