aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorWu Fengguang <fengguang.wu@intel.com>2008-11-17 03:57:33 -0500
committerTakashi Iwai <tiwai@suse.de>2008-11-17 04:03:41 -0500
commit796359d150356adabb677d708a4e66a09d29d9d8 (patch)
tree724fa7a124f8a5b7a804f4940655015dda33a8cb /sound
parentc0cea0d09d15350c398e2951e7cf4d6f0fc98977 (diff)
ALSA: hda-intel: reorder HDMI audio enabling sequence
Reorder HDMI audio enabling sequence so that 1) the sink knows about the coming audio stream 2) unmute 3) start transferring audio samples The theory is that in the path A=>B=>C, we first make C ready, and then enable B, and lastly allow A to send audio samples. Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_intelhdmi.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sound/pci/hda/patch_intelhdmi.c b/sound/pci/hda/patch_intelhdmi.c
index 939b37ba7074..d99cd6297249 100644
--- a/sound/pci/hda/patch_intelhdmi.c
+++ b/sound/pci/hda/patch_intelhdmi.c
@@ -312,16 +312,16 @@ static void hdmi_write_dip_byte(struct hda_codec *codec, hda_nid_t nid,
312 312
313static void hdmi_enable_output(struct hda_codec *codec) 313static void hdmi_enable_output(struct hda_codec *codec)
314{ 314{
315 /* Enable pin out and unmute */
316 snd_hda_sequence_write(codec, pinout_enable_verb);
317 if (get_wcaps(codec, PIN_NID) & AC_WCAP_OUT_AMP)
318 snd_hda_codec_write(codec, PIN_NID, 0,
319 AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE);
320
321 /* Enable Audio InfoFrame Transmission */ 315 /* Enable Audio InfoFrame Transmission */
322 hdmi_set_dip_index(codec, PIN_NID, 0x0, 0x0); 316 hdmi_set_dip_index(codec, PIN_NID, 0x0, 0x0);
323 snd_hda_codec_write(codec, PIN_NID, 0, AC_VERB_SET_HDMI_DIP_XMIT, 317 snd_hda_codec_write(codec, PIN_NID, 0, AC_VERB_SET_HDMI_DIP_XMIT,
324 AC_DIPXMIT_BEST); 318 AC_DIPXMIT_BEST);
319 /* Unmute */
320 if (get_wcaps(codec, PIN_NID) & AC_WCAP_OUT_AMP)
321 snd_hda_codec_write(codec, PIN_NID, 0,
322 AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE);
323 /* Enable pin out */
324 snd_hda_sequence_write(codec, pinout_enable_verb);
325} 325}
326 326
327static void hdmi_disable_output(struct hda_codec *codec) 327static void hdmi_disable_output(struct hda_codec *codec)