Skip to contentSkip to conversation

hda-intel: reorder HDMI audio enabling sequence

PATCH In review Wu Fengguang 2 participants 3 messages Nov 17, 2008 Sound

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

---
 sound/pci/hda/patch_intelhdmi.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
sound/pci/hda/patch_intelhdmi.c +6 -6
@@ -312,16 +312,16 @@ static void hdmi_write_dip_byte(struct h
 
 static void hdmi_enable_output(struct hda_codec *codec)
 {
-	/* Enable pin out and unmute */
-	snd_hda_sequence_write(codec, pinout_enable_verb);
-	if (get_wcaps(codec, PIN_NID) & AC_WCAP_OUT_AMP)
-		snd_hda_codec_write(codec, PIN_NID, 0,
-				AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE);
-
 	/* Enable Audio InfoFrame Transmission */
 	hdmi_set_dip_index(codec, PIN_NID, 0x0, 0x0);
 	snd_hda_codec_write(codec, PIN_NID, 0, AC_VERB_SET_HDMI_DIP_XMIT,
 						AC_DIPXMIT_BEST);
+	/* Unmute */
+	if (get_wcaps(codec, PIN_NID) & AC_WCAP_OUT_AMP)
+		snd_hda_codec_write(codec, PIN_NID, 0,
+				AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE);
+	/* Enable pin out */
+	snd_hda_sequence_write(codec, pinout_enable_verb);
 }
 
 static void hdmi_disable_output(struct hda_codec *codec)
#1 lore raw

At Mon, 17 Nov 2008 16:57:33 +0800,

Quoted 10 lines · Wu Fengguang

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.

Looks good. Applied this one, too.
Thanks!

Takashi

#2 lore raw
Quoted 8 lines · Takashi Iwai

At Mon, 17 Nov 2008 16:57:33 +0800,

Quoted 6 lines · Wu Fengguang

Reorder HDMI audio enabling sequence so that
1) the sink knows about the coming audio stream
2) unmute
3) start transferring audio samples

Quoted 7 lines
Quoted 4 lines

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.

Looks good. Applied this one, too.
Thanks!

Thank you :-)

Fengguang