RE: [alsa-devel] [PATCH] ASoC: cs42xx8: Remove S32_LE in format list

2019-03-01 Thread S.j. Wang
Hi

> On 3/1/19 12:32 AM, S.j. Wang wrote:
> > This case is covered by S24_LE I think.  The S32_LE means the data is
> > 32bit and slot width Is 32bit, this is not in data sheet.
> 
> The problem is that if you have 32-bit samples in your audio file, and you
> want to play them, then software (e.g. alsalib) will need to convert the
> audio to 24-bit before sending it to hardware.  This is unnecessary because
> the hardware can "convert" the sample to 24-bit automatically by ignoring
> the lower 8 bits.
> 
> I think a lot of codecs do this already.

Ok. Thanks for reviewing, I will drop this patch.

Best regards
Wang shengjiu


Re: [alsa-devel] [PATCH] ASoC: cs42xx8: Remove S32_LE in format list

2019-03-01 Thread Timur Tabi

On 3/1/19 12:32 AM, S.j. Wang wrote:

This case is covered by S24_LE I think.  The S32_LE means the data is 32bit and 
slot width
Is 32bit, this is not in data sheet.


The problem is that if you have 32-bit samples in your audio file, and 
you want to play them, then software (e.g. alsalib) will need to convert 
the audio to 24-bit before sending it to hardware.  This is unnecessary 
because the hardware can "convert" the sample to 24-bit automatically by 
ignoring the lower 8 bits.


I think a lot of codecs do this already.


RE: [alsa-devel] [PATCH] ASoC: cs42xx8: Remove S32_LE in format list

2019-02-28 Thread S.j. Wang


> 
> It would be a mistake to remove S32_LE from the format list.
> 
> If you removed that, then we wouldn't be able to do 32 bit native playback
> - it would force users to go through an ALSA plugin.
> 
> If you look at the cs42448 data sheet for example, the I2S and TDM bus
> uses a 32 bit word size. For that reason, native S32_LE format is handled by
> the codec. While the codec only uses the 24 MSBs, the I2S bus is 32 bit.

This case is covered by S24_LE I think.  The S32_LE means the data is 32bit and 
slot width
Is 32bit, this is not in data sheet.

Best regards
Wang shengjiu
> 
> Matt
> 
> On 1/3/19 3:50 pm, Nicolin Chen wrote:
> > Hi Shengjiu,
> >
> > On Thu, Feb 28, 2019 at 05:56:31AM +, S.j. Wang wrote:
> >> cs42xx8 is a 24-bit A/D and 24-bit D/A device, so the S32_LE should
> >> not be in the supported format list.
> >>
> >> Signed-off-by: Shengjiu Wang 
> >> ---
> >>   sound/soc/codecs/cs42xx8.c | 3 +--
> > This is for cs42xx8 codec driver, but its maintainers aren't seemly in
> > To/Cc list. Please run ./scripts/get_maintainer.pl for it and resend.
> > ___
> > Alsa-devel mailing list
> > alsa-de...@alsa-project.org
> >
> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fma
> i
> > lman.alsa-project.org%2Fmailman%2Flistinfo%2Falsa-
> develdata=02%7C
> >
> 01%7Cshengjiu.wang%40nxp.com%7Ce5686d72bd7843c5962508d69e0370a4
> %7C686e
> >
> a1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C636870134975623123
> sdata=Rr
> >
> YwfC4Y3xssED%2FzRum%2FXABGJTHvRrYwnRNgUL7u2lU%3Dreserved
> =0


Re: [alsa-devel] [PATCH] ASoC: cs42xx8: Remove S32_LE in format list

2019-02-28 Thread Matt Flax

It would be a mistake to remove S32_LE from the format list.

If you removed that, then we wouldn't be able to do 32 bit native 
playback - it would force users to go through an ALSA plugin.


If you look at the cs42448 data sheet for example, the I2S and TDM bus 
uses a 32 bit word size. For that reason, native S32_LE format is 
handled by the codec. While the codec only uses the 24 MSBs, the I2S bus 
is 32 bit.


Matt

On 1/3/19 3:50 pm, Nicolin Chen wrote:

Hi Shengjiu,

On Thu, Feb 28, 2019 at 05:56:31AM +, S.j. Wang wrote:

cs42xx8 is a 24-bit A/D and 24-bit D/A device, so the S32_LE
should not be in the supported format list.

Signed-off-by: Shengjiu Wang 
---
  sound/soc/codecs/cs42xx8.c | 3 +--

This is for cs42xx8 codec driver, but its maintainers aren't
seemly in To/Cc list. Please run ./scripts/get_maintainer.pl
for it and resend.
___
Alsa-devel mailing list
alsa-de...@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel


Re: [PATCH] ASoC: cs42xx8: Remove S32_LE in format list

2019-02-28 Thread Nicolin Chen
Hi Shengjiu,

On Thu, Feb 28, 2019 at 05:56:31AM +, S.j. Wang wrote:
> cs42xx8 is a 24-bit A/D and 24-bit D/A device, so the S32_LE
> should not be in the supported format list.
> 
> Signed-off-by: Shengjiu Wang 
> ---
>  sound/soc/codecs/cs42xx8.c | 3 +--

This is for cs42xx8 codec driver, but its maintainers aren't
seemly in To/Cc list. Please run ./scripts/get_maintainer.pl
for it and resend.


RE: [PATCH] ASoC: cs42xx8: Remove S32_LE in format list

2019-02-28 Thread S.j. Wang
Hi

> > cs42xx8 is a 24-bit A/D and 24-bit D/A device, so the S32_LE should
> > not be in the supported format list.
> >
> > Signed-off-by: Shengjiu Wang
> 
> Is the device capable of accepting 32-bit samples, even if it downgrades it to
> 24-bit internally?  If so, then maybe SNDRV_PCM_FMTBIT_S32_LE should
> stay.
Yes,  the S32_LE can be accepted by device, it seems like that the device only
Use the upper 24bit, so the S32_LE result is same as S24_LE,  do you think the
S32_LE should be remained?

Best regards
Wang shengjiu




Re: [PATCH] ASoC: cs42xx8: Remove S32_LE in format list

2019-02-28 Thread Timur Tabi

On 2/27/19 11:56 PM, S.j. Wang wrote:

cs42xx8 is a 24-bit A/D and 24-bit D/A device, so the S32_LE
should not be in the supported format list.

Signed-off-by: Shengjiu Wang


Is the device capable of accepting 32-bit samples, even if it downgrades 
it to 24-bit internally?  If so, then maybe SNDRV_PCM_FMTBIT_S32_LE 
should stay.




[PATCH] ASoC: cs42xx8: Remove S32_LE in format list

2019-02-27 Thread S.j. Wang
cs42xx8 is a 24-bit A/D and 24-bit D/A device, so the S32_LE
should not be in the supported format list.

Signed-off-by: Shengjiu Wang 
---
 sound/soc/codecs/cs42xx8.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sound/soc/codecs/cs42xx8.c b/sound/soc/codecs/cs42xx8.c
index ebb9e0cf8364..271972337d23 100644
--- a/sound/soc/codecs/cs42xx8.c
+++ b/sound/soc/codecs/cs42xx8.c
@@ -32,8 +32,7 @@
 
 #define CS42XX8_FORMATS(SNDRV_PCM_FMTBIT_S16_LE | \
 SNDRV_PCM_FMTBIT_S20_3LE | \
-SNDRV_PCM_FMTBIT_S24_LE | \
-SNDRV_PCM_FMTBIT_S32_LE)
+SNDRV_PCM_FMTBIT_S24_LE)
 
 /* codec private data */
 struct cs42xx8_priv {
-- 
1.9.1