aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_codec.c
diff options
context:
space:
mode:
authorAnssi Hannula <anssi.hannula@iki.fi>2010-08-03 06:28:57 -0400
committerTakashi Iwai <tiwai@suse.de>2010-08-03 06:53:27 -0400
commit32c168c892e2c6936c714d1653ba5e19e07d5c26 (patch)
tree5d00d0d7b345da9285ea26be1787f0829b9eee3e /sound/pci/hda/hda_codec.c
parent68c18697910fdcacea36bd58d2d3d8febfa199a2 (diff)
ALSA: hda - Set Stream Type in Stream Format according to AES0
Set bit 15 (Stream Type) of HDA Stream Format to 1 (Non-PCM) when IEC958 channel status bit 1 (AES0 & 0x02) is set to 1 (non-audio). This is a prequisite for HDMI HBR passthrough. Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
-rw-r--r--sound/pci/hda/hda_codec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index d9d1c91dfd1b..bd8d7a63d7fe 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -3051,7 +3051,8 @@ static struct hda_rate_tbl rate_bits[] = {
3051unsigned int snd_hda_calc_stream_format(unsigned int rate, 3051unsigned int snd_hda_calc_stream_format(unsigned int rate,
3052 unsigned int channels, 3052 unsigned int channels,
3053 unsigned int format, 3053 unsigned int format,
3054 unsigned int maxbps) 3054 unsigned int maxbps,
3055 unsigned short spdif_ctls)
3055{ 3056{
3056 int i; 3057 int i;
3057 unsigned int val = 0; 3058 unsigned int val = 0;
@@ -3095,6 +3096,9 @@ unsigned int snd_hda_calc_stream_format(unsigned int rate,
3095 return 0; 3096 return 0;
3096 } 3097 }
3097 3098
3099 if (spdif_ctls & AC_DIG1_NONAUDIO)
3100 val |= 0x8000;
3101
3098 return val; 3102 return val;
3099} 3103}
3100EXPORT_SYMBOL_HDA(snd_hda_calc_stream_format); 3104EXPORT_SYMBOL_HDA(snd_hda_calc_stream_format);