LF-3724-7: ak4458: Consider slots number for DSD case
authorShengjiu Wang <shengjiu.wang@nxp.com>
Wed, 21 Apr 2021 07:41:38 +0000 (15:41 +0800)
committerShengjiu Wang <shengjiu.wang@nxp.com>
Wed, 21 Apr 2021 08:00:08 +0000 (16:00 +0800)
DSD clock frequency need to consider the slots number,
previously on slots=1 is considered.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Robin Gong <yibin.gong@nxp.com>
sound/soc/codecs/ak4458.c

index a120b78..4733f07 100644 (file)
@@ -365,7 +365,7 @@ static int ak4458_hw_params(struct snd_pcm_substream *substream,
        case SNDRV_PCM_FORMAT_DSD_U16_BE:
        case SNDRV_PCM_FORMAT_DSD_U32_LE:
        case SNDRV_PCM_FORMAT_DSD_U32_BE:
-               dsd_bclk = nfs1 * params_physical_width(params);
+               dsd_bclk = nfs1 * params_physical_width(params) * ak4458->slots;
                switch (dsd_bclk) {
                case 2822400:
                        dsdsel0 = 0;