Merge branch 'fix/hda' into for-linus
This commit is contained in:
commit
3b23cd2875
2 changed files with 17 additions and 6 deletions
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue