diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-04-06 03:47:20 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-04-06 03:47:20 +0200 |
commit | b114701c0e8d580a05643c874d87e2501ab729cb (patch) | |
tree | a4e69cc865b9b76b6737d0d8b8dc81fc40c1e88f /sound/soc/omap/omap-mcbsp.c | |
parent | 0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c (diff) | |
parent | 103f211d0be2bed75b5739de62a10415ef0bbc25 (diff) | |
download | kernel_samsung_smdk4412-b114701c0e8d580a05643c874d87e2501ab729cb.zip kernel_samsung_smdk4412-b114701c0e8d580a05643c874d87e2501ab729cb.tar.gz kernel_samsung_smdk4412-b114701c0e8d580a05643c874d87e2501ab729cb.tar.bz2 |
Merge branch 'topic/asoc' into for-linus
Diffstat (limited to 'sound/soc/omap/omap-mcbsp.c')
-rw-r--r-- | sound/soc/omap/omap-mcbsp.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c index d6882be..9c09b94 100644 --- a/sound/soc/omap/omap-mcbsp.c +++ b/sound/soc/omap/omap-mcbsp.c @@ -146,6 +146,17 @@ static int omap_mcbsp_dai_startup(struct snd_pcm_substream *substream, struct omap_mcbsp_data *mcbsp_data = to_mcbsp(cpu_dai->private_data); int err = 0; + if (cpu_is_omap343x() && mcbsp_data->bus_id == 1) { + /* + * McBSP2 in OMAP3 has 1024 * 32-bit internal audio buffer. + * Set constraint for minimum buffer size to the same than FIFO + * size in order to avoid underruns in playback startup because + * HW is keeping the DMA request active until FIFO is filled. + */ + snd_pcm_hw_constraint_minmax(substream->runtime, + SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 4096, UINT_MAX); + } + if (!cpu_dai->active) err = omap_mcbsp_request(mcbsp_data->bus_id); |