diff mbox

[v9,2/7] ALSA: pcm: Allow 32 bit sample format in IEC958 channel status helper

Message ID 44ee7ac5c0ddb4d25ac1bd4f189d328f8205e4a0.1459431292.git.jsarha@ti.com (mailing list archive)
State Accepted
Commit 4a462ce084d5beb92cfc68f53f88c035c82e6b59
Headers show

Commit Message

Jyri Sarha March 31, 2016, 1:35 p.m. UTC
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>
---
 sound/core/pcm_iec958.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Takashi Iwai March 31, 2016, 1:43 p.m. UTC | #1
On Thu, 31 Mar 2016 15:35:59 +0200,
Jyri Sarha wrote:
> 
> 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>


Takashi
diff mbox

Patch

diff --git a/sound/core/pcm_iec958.c b/sound/core/pcm_iec958.c
index e016871..5e6aed6 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;