On Thu, Sep 19, 2019 at 08:11:40PM +0800, Shengjiu Wang wrote: > The ASRC support 24bit/16bit/8bit input width, which is > data width, not slot width. > > For the S20_3LE format, the data with is 20bit, slot width > is 24bit, if we set ASRMCR1n.IWD to be 24bits, the result > is the volume is lower than expected, it likes 24bit data > right shift 4 bits > > So replace S20_3LE with S24_3LE in supported list and add S8 > format in TX supported list > > Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> > --- > sound/soc/fsl/fsl_asrc.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c > index 4d3804a1ea55..584badf956d2 100644 > --- a/sound/soc/fsl/fsl_asrc.c > +++ b/sound/soc/fsl/fsl_asrc.c > @@ -624,7 +624,7 @@ static int fsl_asrc_dai_probe(struct snd_soc_dai *dai) > > #define FSL_ASRC_FORMATS (SNDRV_PCM_FMTBIT_S24_LE | \ > SNDRV_PCM_FMTBIT_S16_LE | \ > - SNDRV_PCM_FMTBIT_S20_3LE) > + SNDRV_PCM_FMTBIT_S24_3LE) > > static struct snd_soc_dai_driver fsl_asrc_dai = { > .probe = fsl_asrc_dai_probe, > @@ -635,7 +635,8 @@ static struct snd_soc_dai_driver fsl_asrc_dai = { > .rate_min = 5512, > .rate_max = 192000, > .rates = SNDRV_PCM_RATE_KNOT, > - .formats = FSL_ASRC_FORMATS, > + .formats = FSL_ASRC_FORMATS | > + SNDRV_PCM_FMTBIT_S8, > }, > .capture = { > .stream_name = "ASRC-Capture", > -- > 2.21.0 >