ASoC: mediatek: mt8183: fix tdm out data align issue

Mt8183 tdm out support S16_LE/S24_LE/S32_LE formats. When output S32_LE,
we need set hd_align so that memif can output MSB 24bits. When output
S24_LE, we need reset hd_align so that memif can output LSB 24bits.

Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com>
Link: https://lore.kernel.org/r/1566622726-27113-1-git-send-email-jiaxin.yu@mediatek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Jiaxin Yu 2019-08-24 12:58:46 +08:00 committed by Mark Brown
parent e9e897d5fd
commit d2ac1fe034
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -241,7 +241,7 @@ int mtk_afe_fe_prepare(struct snd_pcm_substream *substream,
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
struct mtk_base_afe_memif *memif = &afe->memif[rtd->cpu_dai->id];
int hd_audio = 0;
int hd_align = 1;
int hd_align = 0;
/* set hd mode */
switch (substream->runtime->format) {
@ -254,7 +254,6 @@ int mtk_afe_fe_prepare(struct snd_pcm_substream *substream,
break;
case SNDRV_PCM_FORMAT_S24_LE:
hd_audio = 1;
hd_align = 0;
break;
default:
dev_err(afe->dev, "%s() error: unsupported format %d\n",