mirror of https://gitee.com/openkylin/linux.git
Merge branch 'fix/hda' into topic/hda
This commit is contained in:
commit
fec88dea9d
|
@ -1759,12 +1759,22 @@ static void alc_auto_parse_digital(struct hda_codec *codec)
|
|||
}
|
||||
|
||||
if (spec->autocfg.dig_in_pin) {
|
||||
hda_nid_t dig_nid;
|
||||
err = snd_hda_get_connections(codec,
|
||||
spec->autocfg.dig_in_pin,
|
||||
&dig_nid, 1);
|
||||
if (err > 0)
|
||||
dig_nid = codec->start_nid;
|
||||
for (i = 0; i < codec->num_nodes; i++, dig_nid++) {
|
||||
unsigned int wcaps = get_wcaps(codec, dig_nid);
|
||||
if (get_wcaps_type(wcaps) != AC_WID_AUD_IN)
|
||||
continue;
|
||||
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…
Reference in New Issue