mirror of
https://github.com/LineageOS/android_kernel_samsung_msm8226.git
synced 2026-09-28 00:00:22 +02:00
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>
This commit is contained in:
committed by
Steve Muckle
parent
8299cd2af5
commit
f04955c97b
@@ -593,7 +593,7 @@ static int msm_pcm_close(struct snd_pcm_substream *substream)
|
||||
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 @@ static int __init msm_mvs_soc_platform_init(void)
|
||||
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);
|
||||
|
||||
@@ -133,7 +133,7 @@ static int msm_pcm_close(struct snd_pcm_substream *substream)
|
||||
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 @@ static int __init msm_mvs_soc_platform_init(void)
|
||||
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);
|
||||
|
||||
@@ -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 audio_mvs_info_type {
|
||||
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 audio_voip_info_type {
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user