[alsa-devel] [PATCH] ASoC: cs42xx8: Remove S32_LE in format list
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 shengjiu.wang@nxp.com --- 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 {
Hi Shengjiu,
On Thu, Feb 28, 2019 at 05:56:31AM +0000, 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 shengjiu.wang@nxp.com
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.
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 +0000, 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 shengjiu.wang@nxp.com
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-devel@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
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 +0000, 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 shengjiu.wang@nxp.com
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-devel@alsa-project.org
https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fma i
lman.alsa-project.org%2Fmailman%2Flistinfo%2Falsa-
devel&data=02%7C
01%7Cshengjiu.wang%40nxp.com%7Ce5686d72bd7843c5962508d69e0370a4 %7C686e
a1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C636870134975623123& sdata=Rr
YwfC4Y3xssED%2FzRum%2FXABGJTHvRrYwnRNgUL7u2lU%3D&reserved =0
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.
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
participants (4)
-
Matt Flax
-
Nicolin Chen
-
S.j. Wang
-
Timur Tabi