msm: audio: Replace more idle wakelocks with pm_qos
Some audio drivers were missing
Change-Id: I79b02e528ae225360e617f565b63da120a534a8b
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
diff --git a/sound/soc/msm/msm-mvs.c b/sound/soc/msm/msm-mvs.c
index 2e7114c..eca9864 100644
--- a/sound/soc/msm/msm-mvs.c
+++ b/sound/soc/msm/msm-mvs.c
@@ -593,7 +593,7 @@
mutex_unlock(&audio->lock);
wake_unlock(&audio->suspend_lock);
- wake_unlock(&audio->idle_lock);
+ pm_qos_update_request(&audio->pm_qos_req, PM_QOS_DEFAULT_VALUE);
/* Release the IO buffers. */
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
mutex_lock(&audio->in_lock);
@@ -920,8 +920,8 @@
init_waitqueue_head(&audio_mvs_info.in_wait);
wake_lock_init(&audio_mvs_info.suspend_lock, WAKE_LOCK_SUSPEND,
"audio_mvs_suspend");
- wake_lock_init(&audio_mvs_info.idle_lock, WAKE_LOCK_IDLE,
- "audio_mvs_idle");
+ pm_qos_add_request(&audio_mvs_info.pm_qos_req, PM_QOS_CPU_DMA_LATENCY,
+ PM_QOS_DEFAULT_VALUE);
return platform_driver_register(&msm_pcm_driver);
}
module_init(msm_mvs_soc_platform_init);
diff --git a/sound/soc/msm/msm-voip.c b/sound/soc/msm/msm-voip.c
index 082c840..b1bb2c4 100644
--- a/sound/soc/msm/msm-voip.c
+++ b/sound/soc/msm/msm-voip.c
@@ -133,7 +133,7 @@
mutex_unlock(&audio->lock);
wake_unlock(&audio->suspend_lock);
- wake_unlock(&audio->idle_lock);
+ pm_qos_update_request(&audio->pm_qos_req, PM_QOS_DEFAULT_VALUE);
/* Release the IO buffers. */
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
audio->in_write = 0;
@@ -594,8 +594,8 @@
init_waitqueue_head(&audio_voip_info.in_wait);
wake_lock_init(&audio_voip_info.suspend_lock, WAKE_LOCK_SUSPEND,
"audio_mvs_suspend");
- wake_lock_init(&audio_voip_info.idle_lock, WAKE_LOCK_IDLE,
- "audio_mvs_idle");
+ pm_qos_add_request(&audio_voip_info.pm_qos_req, PM_QOS_CPU_DMA_LATENCY,
+ PM_QOS_DEFAULT_VALUE);
return platform_driver_register(&msm_pcm_driver);
}
module_init(msm_mvs_soc_platform_init);
diff --git a/sound/soc/msm/msm_audio_mvs.h b/sound/soc/msm/msm_audio_mvs.h
index 728621a..2660b77 100644
--- a/sound/soc/msm/msm_audio_mvs.h
+++ b/sound/soc/msm/msm_audio_mvs.h
@@ -16,6 +16,7 @@
#define __MSM_AUDIO_MVS_H
#include <linux/msm_audio.h>
#include <linux/wakelock.h>
+#include <linux/pm_qos.h>
#include <mach/msm_rpcrouter.h>
#include <mach/debug_mm.h>
#include <linux/slab.h>
@@ -286,7 +287,7 @@
struct mutex out_lock;
struct wake_lock suspend_lock;
- struct wake_lock idle_lock;
+ struct pm_qos_request pm_qos_req;
struct timer_list timer;
unsigned long expiry;
int ack_dl_count;
@@ -335,7 +336,7 @@
struct mutex prepare_lock;
struct wake_lock suspend_lock;
- struct wake_lock idle_lock;
+ struct pm_qos_request pm_qos_req;
int playback_start;
int capture_start;
int instance;