MLK-16839-3: ASoC: fsl_esai: remove rate constrain for FE-BE case
authorShengjiu Wang <shengjiu.wang@nxp.com>
Fri, 17 Nov 2017 08:41:32 +0000 (16:41 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:47:02 +0000 (15:47 -0500)
In FE-BE case, the constraint in BE cpu dai will propagate to FE.
and the rate constaint is set by .be_hw_params_fixup in dai_link for BE.
So rate constraint in BE cpu dai is not needed in FE-BE case.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
sound/soc/fsl/fsl_esai.c

index c3bb35a..bcc8f88 100644 (file)
@@ -530,6 +530,7 @@ static int fsl_esai_startup(struct snd_pcm_substream *substream,
                            struct snd_soc_dai *dai)
 {
        struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai);
+       struct snd_soc_pcm_runtime *rtd = substream->private_data;
        bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK;
        int ret;
 
@@ -585,7 +586,9 @@ static int fsl_esai_startup(struct snd_pcm_substream *substream,
        if (esai_priv->soc->dma_workaround) {
                snd_pcm_hw_constraint_minmax(substream->runtime,
                                SNDRV_PCM_HW_PARAM_CHANNELS, 1, 2);
-               snd_pcm_hw_constraint_minmax(substream->runtime,
+
+               if (!rtd->dai_link->be_hw_params_fixup)
+                       snd_pcm_hw_constraint_minmax(substream->runtime,
                                SNDRV_PCM_HW_PARAM_RATE, 48000, 48000);
        }