Commit 11839aed authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Fix missing CA initialization for HDMI/DP

The commit 53d7d69d
    ALSA: hdmi - support infoframe for DisplayPort
dropped the initialization of CA field accidentally.
This resulted in only two-channel LPCM mode on Nvidia machines.

Reference: kernel bug 28592
	https://bugzilla.kernel.org/show_bug.cgi?id=28592Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Cc: <stable@kernel.org>
parent 1cdfa9f3
...@@ -642,6 +642,7 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec, hda_nid_t nid, ...@@ -642,6 +642,7 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec, hda_nid_t nid,
hdmi_ai->ver = 0x01; hdmi_ai->ver = 0x01;
hdmi_ai->len = 0x0a; hdmi_ai->len = 0x0a;
hdmi_ai->CC02_CT47 = channels - 1; hdmi_ai->CC02_CT47 = channels - 1;
hdmi_ai->CA = ca;
hdmi_checksum_audio_infoframe(hdmi_ai); hdmi_checksum_audio_infoframe(hdmi_ai);
} else if (spec->sink_eld[i].conn_type == 1) { /* DisplayPort */ } else if (spec->sink_eld[i].conn_type == 1) { /* DisplayPort */
struct dp_audio_infoframe *dp_ai; struct dp_audio_infoframe *dp_ai;
...@@ -651,6 +652,7 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec, hda_nid_t nid, ...@@ -651,6 +652,7 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec, hda_nid_t nid,
dp_ai->len = 0x1b; dp_ai->len = 0x1b;
dp_ai->ver = 0x11 << 2; dp_ai->ver = 0x11 << 2;
dp_ai->CC02_CT47 = channels - 1; dp_ai->CC02_CT47 = channels - 1;
dp_ai->CA = ca;
} else { } else {
snd_printd("HDMI: unknown connection type at pin %d\n", snd_printd("HDMI: unknown connection type at pin %d\n",
pin_nid); pin_nid);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment