ALSA: hda - Allow aamix in the primary output path
Allow the path including the loopback mixer widget in the primary output channel as an alternative in the generic codec parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
4ac0eefa76
commit
b3a8c74522
|
@ -864,6 +864,10 @@ static int try_assign_dacs(struct hda_codec *codec, int num_outs,
|
|||
badness += bad->no_dac;
|
||||
}
|
||||
path = snd_hda_add_new_path(codec, dac, pin, HDA_PARSE_NO_AAMIX);
|
||||
if (!path && i > 0 && spec->mixer_nid) {
|
||||
/* try with aamix */
|
||||
path = snd_hda_add_new_path(codec, dac, pin, HDA_PARSE_ALL);
|
||||
}
|
||||
if (!path)
|
||||
dac = dacs[i] = 0;
|
||||
else
|
||||
|
@ -1020,6 +1024,7 @@ static int fill_multi_ios(struct hda_codec *codec,
|
|||
static bool map_singles(struct hda_codec *codec, int outs,
|
||||
const hda_nid_t *pins, hda_nid_t *dacs)
|
||||
{
|
||||
struct hda_gen_spec *spec = codec->spec;
|
||||
int i;
|
||||
bool found = false;
|
||||
for (i = 0; i < outs; i++) {
|
||||
|
@ -1031,6 +1036,8 @@ static bool map_singles(struct hda_codec *codec, int outs,
|
|||
if (!dac)
|
||||
continue;
|
||||
path = snd_hda_add_new_path(codec, dac, pins[i], HDA_PARSE_NO_AAMIX);
|
||||
if (!path && i > 0 && spec->mixer_nid)
|
||||
path = snd_hda_add_new_path(codec, dac, pins[i], HDA_PARSE_ALL);
|
||||
if (path) {
|
||||
dacs[i] = dac;
|
||||
found = true;
|
||||
|
|
Loading…
Reference in New Issue