aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorDorian Snyder <dastin1015@gmail.com>2013-06-12 02:24:45 -0700
committerDorian Snyder <dastin1015@gmail.com>2013-06-20 00:06:04 -0700
commit4b2308ce699b9c599dd6e6acf57ac11f483381d9 (patch)
tree4c31179b06d094887b1c8ca70264cf8f184a5981 /sound
parent855d6a6c1f7c54ef073caac3f6c5f9b1ed72eb4d (diff)
downloadkernel_samsung_smdk4412-4b2308ce699b9c599dd6e6acf57ac11f483381d9.zip
kernel_samsung_smdk4412-4b2308ce699b9c599dd6e6acf57ac11f483381d9.tar.gz
kernel_samsung_smdk4412-4b2308ce699b9c599dd6e6acf57ac11f483381d9.tar.bz2
d710: initial support for the Epic 4G Touch (SPH-D710)
Change-Id: Iafbd9fb45253b02d539ac0ba114f57b3bf9eeed4
Diffstat (limited to 'sound')
-rw-r--r--sound/core/pcm_lib.c5
-rw-r--r--sound/soc/samsung/idma.c8
-rw-r--r--sound/soc/samsung/idma.h2
3 files changed, 14 insertions, 1 deletions
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
index 3388442..397d9ad 100644
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -1765,7 +1765,10 @@ static int wait_for_avail(struct snd_pcm_substream *substream,
if (runtime->no_period_wakeup)
wait_time = MAX_SCHEDULE_TIMEOUT;
else {
- wait_time = 10;
+ if (substream->pcm->card->number != 0)
+ wait_time = 1;
+ else
+ wait_time = 10;
if (runtime->rate) {
long t = runtime->period_size * 2 / runtime->rate;
wait_time = max(t, wait_time);
diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c
index 31fa305..8128507 100644
--- a/sound/soc/samsung/idma.c
+++ b/sound/soc/samsung/idma.c
@@ -523,6 +523,14 @@ void idma_init(void *regs)
#endif
}
+#ifdef CONFIG_SND_SAMSUNG_ALP
+int idma_is_running(void)
+{
+ return (idma.trigger_stat == LPAM_DMA_START) ? 1 : 0;
+}
+EXPORT_SYMBOL(idma_is_running);
+#endif
+
#ifdef CONFIG_SND_SAMSUNG_RP
int idma_irq_callback(void)
{
diff --git a/sound/soc/samsung/idma.h b/sound/soc/samsung/idma.h
index 0480974..d132aa1 100644
--- a/sound/soc/samsung/idma.h
+++ b/sound/soc/samsung/idma.h
@@ -81,4 +81,6 @@ extern void idma_init(void *regs);
/* These functions are used for srp driver. */
extern int idma_irq_callback(void);
extern void idma_stop(void);
+extern int idma_is_running(void);
+
#endif /* __S3C_IDMA_H_ */