MLK-22521-1: ASoC: fsl_easrc:IEC958 is only supported for output
authorShengjiu Wang <shengjiu.wang@nxp.com>
Thu, 29 Aug 2019 06:07:18 +0000 (14:07 +0800)
committerShengjiu Wang <shengjiu.wang@nxp.com>
Thu, 29 Aug 2019 09:24:27 +0000 (17:24 +0800)
IEC958 is only supported for output according to the RM

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
(cherry picked from commit bf36888526c420776c18ca06548b9d3798200beb)

sound/soc/fsl/fsl_easrc.c
sound/soc/fsl/fsl_easrc_m2m.c

index 347f257..f7cc9dd 100644 (file)
@@ -43,8 +43,7 @@ extern struct snd_soc_component_driver fsl_easrc_dma_component;
                                 SNDRV_PCM_FMTBIT_U32_LE | \
                                 SNDRV_PCM_FMTBIT_S20_3LE | \
                                 SNDRV_PCM_FMTBIT_U20_3LE | \
-                                SNDRV_PCM_FMTBIT_FLOAT_LE | \
-                                SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE)
+                                SNDRV_PCM_FMTBIT_FLOAT_LE)
 
 static int fsl_easrc_iec958_put_bits(struct snd_kcontrol *kcontrol,
                                     struct snd_ctl_elem_value *ucontrol)
@@ -1817,7 +1816,8 @@ static struct snd_soc_dai_driver fsl_easrc_dai = {
                .rate_min = 8000,
                .rate_max = 768000,
                .rates = SNDRV_PCM_RATE_KNOT,
-               .formats = FSL_EASRC_FORMATS,
+               .formats = FSL_EASRC_FORMATS |
+                          SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE,
        },
        .ops = &fsl_easrc_dai_ops,
 };
index af088d8..3a9429a 100644 (file)
@@ -441,7 +441,8 @@ static long fsl_easrc_ioctl_req_context(struct fsl_easrc_m2m *m2m,
        m2m->ctx_hold = 1;
        req.index = m2m->ctx->index;
        req.supported_in_format = FSL_EASRC_FORMATS;
-       req.supported_out_format = FSL_EASRC_FORMATS;
+       req.supported_out_format = FSL_EASRC_FORMATS |
+                                  SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE;
        spin_unlock_irqrestore(&m2m->lock, lock_flags);
 
        ret = copy_to_user(user, &req, sizeof(req));