ASoC: stm32: sai: fix exposed capabilities in spdif mode
authorOlivier Moysan <olivier.moysan@st.com>
Thu, 28 Feb 2019 13:19:22 +0000 (14:19 +0100)
committerMark Brown <broonie@kernel.org>
Sun, 3 Mar 2019 23:39:16 +0000 (23:39 +0000)
Change capabilities exposed in SAI S/PDIF mode, to match
actually supported formats.
In S/PDIF mode only 32 bits stereo is supported.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/stm/stm32_sai_sub.c

index 506360b..e418f44 100644 (file)
@@ -682,6 +682,14 @@ static int stm32_sai_startup(struct snd_pcm_substream *substream,
 
        sai->substream = substream;
 
+       if (STM_SAI_PROTOCOL_IS_SPDIF(sai)) {
+               snd_pcm_hw_constraint_mask64(substream->runtime,
+                                            SNDRV_PCM_HW_PARAM_FORMAT,
+                                            SNDRV_PCM_FMTBIT_S32_LE);
+               snd_pcm_hw_constraint_single(substream->runtime,
+                                            SNDRV_PCM_HW_PARAM_CHANNELS, 2);
+       }
+
        ret = clk_prepare_enable(sai->sai_ck);
        if (ret < 0) {
                dev_err(cpu_dai->dev, "Failed to enable clock: %d\n", ret);