summaryrefslogtreecommitdiffstats
path: root/sound/core
diff options
context:
space:
mode:
authorJyri Sarha <jsarha@ti.com>2016-03-31 16:35:59 +0300
committerMark Brown <broonie@kernel.org>2016-04-06 14:33:38 -0700
commit4a462ce084d5beb92cfc68f53f88c035c82e6b59 (patch)
tree94bc44f52b16b71c5abc2046220ddcc7187e23ac /sound/core
parent4a4436573a6669516f73bac25016683d396ed4c4 (diff)
downloadlinux-4a462ce084d5beb92cfc68f53f88c035c82e6b59.tar.gz
linux-4a462ce084d5beb92cfc68f53f88c035c82e6b59.tar.xz
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>
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/pcm_iec958.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/core/pcm_iec958.c b/sound/core/pcm_iec958.c
index e016871a978f..5e6aed64f451 100644
--- a/sound/core/pcm_iec958.c
+++ b/sound/core/pcm_iec958.c
@@ -59,6 +59,7 @@ static int create_iec958_consumer(uint rate, uint sample_width,
IEC958_AES4_CON_MAX_WORDLEN_24;
break;
case 24:
+ case 32: /* Assume 24-bit width for 32-bit samples. */
ws = IEC958_AES4_CON_WORDLEN_24_20 |
IEC958_AES4_CON_MAX_WORDLEN_24;
break;