Commit 9c64076e authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda/realtek - Consolidate is_reachable_path()

alc_auto_is_dac_reachable() can be replaced fully with
is_reachable_path().  The only difference is the order of arguments.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 130e5f06
...@@ -2902,15 +2902,6 @@ static bool alc_is_dac_already_used(struct hda_codec *codec, hda_nid_t nid) ...@@ -2902,15 +2902,6 @@ static bool alc_is_dac_already_used(struct hda_codec *codec, hda_nid_t nid)
return false; return false;
} }
/* check whether the DAC is reachable from the pin */
static bool alc_auto_is_dac_reachable(struct hda_codec *codec,
hda_nid_t pin, hda_nid_t dac)
{
if (!pin || !dac)
return false;
return snd_hda_get_conn_index(codec, pin, dac, true) >= 0;
}
/* look for an empty DAC slot */ /* look for an empty DAC slot */
static hda_nid_t alc_auto_look_for_dac(struct hda_codec *codec, hda_nid_t pin) static hda_nid_t alc_auto_look_for_dac(struct hda_codec *codec, hda_nid_t pin)
{ {
...@@ -2921,7 +2912,7 @@ static hda_nid_t alc_auto_look_for_dac(struct hda_codec *codec, hda_nid_t pin) ...@@ -2921,7 +2912,7 @@ static hda_nid_t alc_auto_look_for_dac(struct hda_codec *codec, hda_nid_t pin)
hda_nid_t nid = spec->all_dacs[i]; hda_nid_t nid = spec->all_dacs[i];
if (!nid || alc_is_dac_already_used(codec, nid)) if (!nid || alc_is_dac_already_used(codec, nid))
continue; continue;
if (alc_auto_is_dac_reachable(codec, pin, nid)) if (is_reachable_path(codec, nid, pin))
return nid; return nid;
} }
return 0; return 0;
...@@ -3013,7 +3004,7 @@ static hda_nid_t get_dac_if_single(struct hda_codec *codec, hda_nid_t pin) ...@@ -3013,7 +3004,7 @@ static hda_nid_t get_dac_if_single(struct hda_codec *codec, hda_nid_t pin)
hda_nid_t nid = spec->all_dacs[i]; hda_nid_t nid = spec->all_dacs[i];
if (!nid || alc_is_dac_already_used(codec, nid)) if (!nid || alc_is_dac_already_used(codec, nid))
continue; continue;
if (alc_auto_is_dac_reachable(codec, pin, nid)) { if (is_reachable_path(codec, nid, pin)) {
if (nid_found) if (nid_found)
return 0; return 0;
nid_found = nid; nid_found = nid;
...@@ -3189,7 +3180,7 @@ static int alc_auto_fill_dacs(struct hda_codec *codec, int num_outs, ...@@ -3189,7 +3180,7 @@ static int alc_auto_fill_dacs(struct hda_codec *codec, int num_outs,
dacs[i] = alc_auto_look_for_dac(codec, pin); dacs[i] = alc_auto_look_for_dac(codec, pin);
if (!dacs[i] && !i) { if (!dacs[i] && !i) {
for (j = 1; j < num_outs; j++) { for (j = 1; j < num_outs; j++) {
if (alc_auto_is_dac_reachable(codec, pin, dacs[j])) { if (is_reachable_path(codec, dacs[j], pin)) {
dacs[0] = dacs[j]; dacs[0] = dacs[j];
dacs[j] = 0; dacs[j] = 0;
break; break;
...@@ -3198,11 +3189,10 @@ static int alc_auto_fill_dacs(struct hda_codec *codec, int num_outs, ...@@ -3198,11 +3189,10 @@ static int alc_auto_fill_dacs(struct hda_codec *codec, int num_outs,
} }
dac = dacs[i]; dac = dacs[i];
if (!dac) { if (!dac) {
if (alc_auto_is_dac_reachable(codec, pin, dacs[0])) if (is_reachable_path(codec, dacs[0], pin))
dac = dacs[0]; dac = dacs[0];
else if (cfg->line_outs > i && else if (cfg->line_outs > i &&
alc_auto_is_dac_reachable(codec, pin, is_reachable_path(codec, spec->private_dac_nids[i], pin))
spec->private_dac_nids[i]))
dac = spec->private_dac_nids[i]; dac = spec->private_dac_nids[i];
if (dac) { if (dac) {
if (!i) if (!i)
...@@ -3211,8 +3201,7 @@ static int alc_auto_fill_dacs(struct hda_codec *codec, int num_outs, ...@@ -3211,8 +3201,7 @@ static int alc_auto_fill_dacs(struct hda_codec *codec, int num_outs,
badness += bad->shared_surr; badness += bad->shared_surr;
else else
badness += bad->shared_clfe; badness += bad->shared_clfe;
} else if (alc_auto_is_dac_reachable(codec, pin, } else if (is_reachable_path(codec, spec->private_dac_nids[0], pin)) {
spec->private_dac_nids[0])) {
dac = spec->private_dac_nids[0]; dac = spec->private_dac_nids[0];
badness += bad->shared_surr_main; badness += bad->shared_surr_main;
} else if (!i) } else if (!i)
...@@ -4141,7 +4130,7 @@ static int alc_auto_fill_multi_ios(struct hda_codec *codec, ...@@ -4141,7 +4130,7 @@ static int alc_auto_fill_multi_ios(struct hda_codec *codec,
if (offset && offset + spec->multi_ios < dacs) { if (offset && offset + spec->multi_ios < dacs) {
dac = spec->private_dac_nids[offset + spec->multi_ios]; dac = spec->private_dac_nids[offset + spec->multi_ios];
if (!alc_auto_is_dac_reachable(codec, nid, dac)) if (!is_reachable_path(codec, dac, nid))
dac = 0; dac = 0;
} }
if (hardwired) if (hardwired)
......
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