Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 796359d1 authored by Wu Fengguang's avatar Wu Fengguang Committed by Takashi Iwai
Browse files

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: default avatarWu Fengguang <wfg@linux.intel.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent c0cea0d0
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -312,16 +312,16 @@ static void hdmi_write_dip_byte(struct hda_codec *codec, hda_nid_t nid,

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)