ALSA: pcm: Allow 32 bit sample format in IEC958 channel status helper

Treat 32 bit sample width as if it was 24 bits when generating IEC958
channel status bits. On some platforms 24 sample width is problematic
and to get full 24 bit precision a 32 bit format, using only the 24
most significant bits, may have to be used.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Jyri Sarha 2016-03-31 16:35:59 +03:00 committed by Mark Brown
parent 4a4436573a
commit 4a462ce084

View File

@ -59,6 +59,7 @@ static int create_iec958_consumer(uint rate, uint sample_width,
IEC958_AES4_CON_MAX_WORDLEN_24; IEC958_AES4_CON_MAX_WORDLEN_24;
break; break;
case 24: case 24:
case 32: /* Assume 24-bit width for 32-bit samples. */
ws = IEC958_AES4_CON_WORDLEN_24_20 | ws = IEC958_AES4_CON_WORDLEN_24_20 |
IEC958_AES4_CON_MAX_WORDLEN_24; IEC958_AES4_CON_MAX_WORDLEN_24;
break; break;