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

The commit 53d7d69d8f
    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=28592

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: <stable@kernel.org>
This commit is contained in:
Takashi Iwai 2011-02-08 17:25:49 +01:00
parent 1cdfa9f34a
commit 11839aed21
1 changed files with 2 additions and 0 deletions

View File

@ -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,
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);