diff options
author | Mark Brown <broonie@kernel.org> | 2020-12-28 17:16:53 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-12-28 17:16:53 +0300 |
commit | f81325a05e9317f09a2e4ec57a52e4e49eb42b54 (patch) | |
tree | a5a91589c9ef8e212f2899f1462cfb5c3f0130ef /sound/pci/hda/hda_generic.c | |
parent | 671ee4db952449acde126965bf76817a3159040d (diff) | |
parent | 5c8fe583cce542aa0b84adc939ce85293de36e5e (diff) | |
download | linux-f81325a05e9317f09a2e4ec57a52e4e49eb42b54.tar.xz |
Merge tag 'v5.11-rc1' into asoc-5.11
Linux 5.11-rc1
Diffstat (limited to 'sound/pci/hda/hda_generic.c')
-rw-r--r-- | sound/pci/hda/hda_generic.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c index bbb17481159e..8060cc86dfea 100644 --- a/sound/pci/hda/hda_generic.c +++ b/sound/pci/hda/hda_generic.c @@ -1364,16 +1364,20 @@ static int try_assign_dacs(struct hda_codec *codec, int num_outs, struct nid_path *path; hda_nid_t pin = pins[i]; - path = snd_hda_get_path_from_idx(codec, path_idx[i]); - if (path) { - badness += assign_out_path_ctls(codec, path); - continue; + if (!spec->obey_preferred_dacs) { + path = snd_hda_get_path_from_idx(codec, path_idx[i]); + if (path) { + badness += assign_out_path_ctls(codec, path); + continue; + } } dacs[i] = get_preferred_dac(codec, pin); if (dacs[i]) { if (is_dac_already_used(codec, dacs[i])) badness += bad->shared_primary; + } else if (spec->obey_preferred_dacs) { + badness += BAD_NO_PRIMARY_DAC; } if (!dacs[i]) |