未验证 提交 109539c9 编写于 作者: S Shengjiu Wang 提交者: Mark Brown

ASoC: fsl_asrc: update supported sample format

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: NShengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: NNicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/45a7c383f43cc1dd9d0934846447aee653278c03.1569493933.git.shengjiu.wang@nxp.comSigned-off-by: NMark Brown <broonie@kernel.org>
上级 4bf62571
...@@ -624,7 +624,7 @@ static int fsl_asrc_dai_probe(struct snd_soc_dai *dai) ...@@ -624,7 +624,7 @@ static int fsl_asrc_dai_probe(struct snd_soc_dai *dai)
#define FSL_ASRC_FORMATS (SNDRV_PCM_FMTBIT_S24_LE | \ #define FSL_ASRC_FORMATS (SNDRV_PCM_FMTBIT_S24_LE | \
SNDRV_PCM_FMTBIT_S16_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 = { static struct snd_soc_dai_driver fsl_asrc_dai = {
.probe = fsl_asrc_dai_probe, .probe = fsl_asrc_dai_probe,
...@@ -635,7 +635,8 @@ static struct snd_soc_dai_driver fsl_asrc_dai = { ...@@ -635,7 +635,8 @@ static struct snd_soc_dai_driver fsl_asrc_dai = {
.rate_min = 5512, .rate_min = 5512,
.rate_max = 192000, .rate_max = 192000,
.rates = SNDRV_PCM_RATE_KNOT, .rates = SNDRV_PCM_RATE_KNOT,
.formats = FSL_ASRC_FORMATS, .formats = FSL_ASRC_FORMATS |
SNDRV_PCM_FMTBIT_S8,
}, },
.capture = { .capture = {
.stream_name = "ASRC-Capture", .stream_name = "ASRC-Capture",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册