[alsa-devel] [PATCH 1/2] ASoC: omap: Add hardware constraint for HDMI and ABE

Olaya, Margarita magi.olaya at ti.com
Mon Dec 6 23:34:44 CET 2010


From: Jorge Eduardo Candelaria <jorge.candelaria at ti.com>

The Audio Backend needs a step size of 24 * 4, while HDMI requires a
step size of 32 * 4 bits to align the audio buffer.

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria at ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya at ti.com>
---
 sound/soc/omap/omap-pcm.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c
index 8caeb8d..6a21447 100644
--- a/sound/soc/omap/omap-pcm.c
+++ b/sound/soc/omap/omap-pcm.c
@@ -280,6 +280,15 @@ static int omap_pcm_open(struct snd_pcm_substream *substream)
 	if (ret < 0)
 		goto out;
 
+	/*
+	 * ABE needs a step of 24 * 4 data bits, and HDMI 32 * 4
+	 * Ensure buffer size satisfies both constraints.
+	 */
+	ret = snd_pcm_hw_constraint_step(runtime, 0,
+					 SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 384);
+	if (ret < 0)
+		goto out;
+
 	prtd = kzalloc(sizeof(*prtd), GFP_KERNEL);
 	if (prtd == NULL) {
 		ret = -ENOMEM;
-- 
1.7.0.4


More information about the Alsa-devel mailing list