audio: tdm fmt set
authorXing Wang <xing.wang@amlogic.com>
Wed, 28 Jun 2017 11:10:02 +0000 (19:10 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Wed, 28 Jun 2017 11:25:06 +0000 (04:25 -0700)
PD#146652: audio: set tdm fmt when hw_param

Change-Id: I5383554d6db58a5dd465c8c65fb974c92b1bac81
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
sound/soc/amlogic/auge/card.c

index 8165574..3417ff8 100644 (file)
@@ -158,6 +158,7 @@ static int aml_card_hw_params(struct snd_pcm_substream *substream,
        struct snd_soc_dai *codec_dai = rtd->codec_dai;
        struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
        struct aml_card_data *priv = snd_soc_card_get_drvdata(rtd->card);
+       struct snd_soc_dai_link *dai_link = aml_priv_to_link(priv, rtd->num);
        struct aml_dai_props *dai_props =
                aml_priv_to_props(priv, rtd->num);
        unsigned int mclk, mclk_fs = 0;
@@ -197,6 +198,10 @@ static int aml_card_hw_params(struct snd_pcm_substream *substream,
                if (ret && ret != -ENOTSUPP)
                        goto err;
 
+               ret = snd_soc_dai_set_fmt(cpu_dai, dai_link->dai_fmt);
+               if (ret && ret != -ENOTSUPP)
+                       goto err;
+
                ret = snd_soc_dai_set_tdm_slot(cpu_dai,
                                               aml_cpu_dai->tx_slot_mask,
                                               aml_cpu_dai->rx_slot_mask,