[alsa-devel] [PATCH v2 11/11] ASoC: Allow PCMs to restrict the supported formats
Lars-Peter Clausen
lars at metafoo.de
Mon Jan 6 14:19:16 CET 2014
Some DMA cores might add additional restrictions on which in memory audio
formats can be supported by the compound sound card. If the PCM component
specifies a set of formats it supports (by setting the formats field to non 0)
take these into account when calculating the format set for the compound sound
card.
Signed-off-by: Lars-Peter Clausen <lars at metafoo.de>
Cc: Timur Tabi <timur at tabi.org>
Cc: Shawn Guo <shawn.guo at linaro.org>
Cc: Nicolin Chen <b42378 at freescale.com>
Cc: Markus Pargmann <mpa at pengutronix.de>
---
New in v1. Note that this patch will only affect fsl/, all other platforms set
the formats field to 0 now.
---
sound/soc/soc-pcm.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 86b670e..0457e70 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -240,7 +240,10 @@ static void soc_pcm_init_runtime_hw(struct snd_pcm_runtime *runtime,
cpu_stream->channels_min);
hw->channels_max = min(codec_stream->channels_max,
cpu_stream->channels_max);
- hw->formats = codec_stream->formats & cpu_stream->formats;
+ if (hw->formats)
+ hw->formats &= codec_stream->formats & cpu_stream->formats;
+ else
+ hw->formats = codec_stream->formats & cpu_stream->formats;
hw->rates = codec_stream->rates & cpu_stream->rates;
if (codec_stream->rates
& (SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_CONTINUOUS))
--
1.8.0
More information about the Alsa-devel
mailing list