]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: fsl_micfil: correct the endian format for DSD
authorShengjiu Wang <shengjiu.wang@nxp.com>
Thu, 23 Oct 2025 06:45:38 +0000 (14:45 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 23 Oct 2025 12:42:34 +0000 (13:42 +0100)
The DSD format supported by micfil is that oldest bit is in bit 31, so
the format should be DSD little endian format.

Fixes: 21aa330fec31 ("ASoC: fsl_micfil: Add decimation filter bypass mode support")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Link: https://patch.msgid.link/20251023064538.368850-3-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_micfil.c

index aabd90a8b3eca9748892e90f426d322863106559..cac26ba0aa4b0020b14872512fe73b887e64a6a8 100644 (file)
@@ -131,7 +131,7 @@ static struct fsl_micfil_soc_data fsl_micfil_imx943 = {
        .fifos = 8,
        .fifo_depth = 32,
        .dataline =  0xf,
-       .formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_DSD_U32_BE,
+       .formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_DSD_U32_LE,
        .use_edma = true,
        .use_verid = true,
        .volume_sx = false,
@@ -823,7 +823,7 @@ static int fsl_micfil_hw_params(struct snd_pcm_substream *substream,
                break;
        }
 
-       if (format == SNDRV_PCM_FORMAT_DSD_U32_BE) {
+       if (format == SNDRV_PCM_FORMAT_DSD_U32_LE) {
                micfil->dec_bypass = true;
                /*
                 * According to equation 29 in RM: