Commit 3b23cd28 authored by Takashi Iwai's avatar Takashi Iwai

Merge branch 'fix/hda' into for-linus

parents b614e38e 01fdf180
...@@ -3641,6 +3641,7 @@ static struct snd_pci_quirk ad1984_cfg_tbl[] = { ...@@ -3641,6 +3641,7 @@ static struct snd_pci_quirk ad1984_cfg_tbl[] = {
/* Lenovo Thinkpad T61/X61 */ /* Lenovo Thinkpad T61/X61 */
SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD), SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD),
SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP), SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP),
SND_PCI_QUIRK(0x1028, 0x0233, "Dell Latitude E6400", AD1984_DELL_DESKTOP),
{} {}
}; };
......
...@@ -1594,12 +1594,22 @@ static void alc_auto_parse_digital(struct hda_codec *codec) ...@@ -1594,12 +1594,22 @@ static void alc_auto_parse_digital(struct hda_codec *codec)
} }
if (spec->autocfg.dig_in_pin) { if (spec->autocfg.dig_in_pin) {
hda_nid_t dig_nid; dig_nid = codec->start_nid;
err = snd_hda_get_connections(codec, for (i = 0; i < codec->num_nodes; i++, dig_nid++) {
spec->autocfg.dig_in_pin, unsigned int wcaps = get_wcaps(codec, dig_nid);
&dig_nid, 1); if (get_wcaps_type(wcaps) != AC_WID_AUD_IN)
if (err > 0) continue;
spec->dig_in_nid = dig_nid; if (!(wcaps & AC_WCAP_DIGITAL))
continue;
if (!(wcaps & AC_WCAP_CONN_LIST))
continue;
err = get_connection_index(codec, dig_nid,
spec->autocfg.dig_in_pin);
if (err >= 0) {
spec->dig_in_nid = dig_nid;
break;
}
}
} }
} }
......
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