diff mbox series

[2/3] ASoC: fsl_asrc: update supported sample format

Message ID f62fda1f49af8159eb23a978147a321dd6849d1a.1568025083.git.shengjiu.wang@nxp.com
State Superseded
Headers show
Series update supported sample format | expand

Commit Message

Shengjiu Wang Sept. 9, 2019, 10:33 p.m. UTC
The ASRC support 24bit/16bit/8bit input width, so S20_3LE format
should not be supported, it is word width is 20bit.
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@nxp.com>

---
 sound/soc/fsl/fsl_asrc.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
2.21.0

Comments

Nicolin Chen Sept. 9, 2019, 8:19 p.m. UTC | #1
On Mon, Sep 09, 2019 at 06:33:20PM -0400, Shengjiu Wang wrote:
> The ASRC support 24bit/16bit/8bit input width, so S20_3LE format

> should not be supported, it is word width is 20bit.


I thought 3LE used 24-bit physical width. And the driver assigns
ASRC_WIDTH_24_BIT to "width" for all non-16bit cases, so 20-bit
would go for that 24-bit slot also. I don't clearly recall if I
had explicitly tested S20_3LE, but I feel it should work since
I put there...

Thanks
Nicolin

> 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@nxp.com>

> ---

>  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

>
diff mbox series

Patch

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",