From: Shengjiu Wang Date: Thu, 22 Apr 2021 09:41:49 +0000 (+0800) Subject: LF-3724-9: ASoC: imx-ak4497: set tdm slot for DSD X-Git-Tag: rel_imx_5.10.35_2.0.0-somdevices.0~229 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=30ac4b5f56cbb26c0c72b2f9fae6492348aecc4d;p=linux.git LF-3724-9: ASoC: imx-ak4497: set tdm slot for DSD set tdm slot for DSD Signed-off-by: Shengjiu Wang Reviewed-by: Robin Gong --- diff --git a/sound/soc/fsl/imx-ak4497.c b/sound/soc/fsl/imx-ak4497.c index ad3e4bb43cea..574e511d1d0c 100644 --- a/sound/soc/fsl/imx-ak4497.c +++ b/sound/soc/fsl/imx-ak4497.c @@ -120,17 +120,38 @@ static int imx_aif_hw_params(struct snd_pcm_substream *substream, return ret; } - if (is_dsd) + if (is_dsd) { ret = snd_soc_dai_set_tdm_slot(cpu_dai, 0x1, 0x1, 1, params_width(params)); - else + if (ret) { + dev_err(dev, "failed to set cpu dai tdm slot: %d\n", ret); + return ret; + } + + ret = snd_soc_dai_set_tdm_slot(codec_dai, + 0x1, 0x1, + 1, params_width(params)); + if (ret) { + dev_err(dev, "failed to set codec dai tdm slot: %d\n", ret); + return ret; + } + } else { ret = snd_soc_dai_set_tdm_slot(cpu_dai, BIT(channels) - 1, BIT(channels) - 1, 2, params_physical_width(params)); - if (ret) { - dev_err(dev, "failed to set cpu dai tdm slot: %d\n", ret); - return ret; + if (ret) { + dev_err(dev, "failed to set cpu dai tdm slot: %d\n", ret); + return ret; + } + + ret = snd_soc_dai_set_tdm_slot(codec_dai, + BIT(channels) - 1, BIT(channels) - 1, + 2, params_physical_width(params)); + if (ret) { + dev_err(dev, "failed to set codec dai tdm slot: %d\n", ret); + return ret; + } } return ret;