Skip to content

Commit

Permalink
ALSA: hda - Allow aamix in the primary output path
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Takashi Iwai committed Jan 12, 2013
1 parent 4ac0eef commit b3a8c74
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions sound/pci/hda/hda_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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++) {
Expand All @@ -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;
Expand Down

0 comments on commit b3a8c74

Please sign in to comment.