mirror of
https://github.com/adulau/aha.git
synced 2025-01-04 07:03:38 +00:00
ALSA: hda - Assign HP and speaker DACs before mic/line-in
Assign DACs to HP and speaker before mic-in/line-in shared outputs. This improves the usability as it results in more intuitive mixer names. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
ee58a7ca21
commit
139e071b0f
1 changed files with 20 additions and 20 deletions
|
@ -2921,6 +2921,26 @@ static int stac92xx_auto_fill_dac_nids(struct hda_codec *codec)
|
||||||
add_spec_dacs(spec, dac);
|
add_spec_dacs(spec, dac);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < cfg->hp_outs; i++) {
|
||||||
|
nid = cfg->hp_pins[i];
|
||||||
|
dac = get_unassigned_dac(codec, nid);
|
||||||
|
if (dac) {
|
||||||
|
if (!spec->multiout.hp_nid)
|
||||||
|
spec->multiout.hp_nid = dac;
|
||||||
|
else
|
||||||
|
add_spec_extra_dacs(spec, dac);
|
||||||
|
}
|
||||||
|
spec->hp_dacs[i] = dac;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < cfg->speaker_outs; i++) {
|
||||||
|
nid = cfg->speaker_pins[i];
|
||||||
|
dac = get_unassigned_dac(codec, nid);
|
||||||
|
if (dac)
|
||||||
|
add_spec_extra_dacs(spec, dac);
|
||||||
|
spec->speaker_dacs[i] = dac;
|
||||||
|
}
|
||||||
|
|
||||||
/* add line-in as output */
|
/* add line-in as output */
|
||||||
nid = check_line_out_switch(codec);
|
nid = check_line_out_switch(codec);
|
||||||
if (nid) {
|
if (nid) {
|
||||||
|
@ -2948,26 +2968,6 @@ static int stac92xx_auto_fill_dac_nids(struct hda_codec *codec)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < cfg->hp_outs; i++) {
|
|
||||||
nid = cfg->hp_pins[i];
|
|
||||||
dac = get_unassigned_dac(codec, nid);
|
|
||||||
if (dac) {
|
|
||||||
if (!spec->multiout.hp_nid)
|
|
||||||
spec->multiout.hp_nid = dac;
|
|
||||||
else
|
|
||||||
add_spec_extra_dacs(spec, dac);
|
|
||||||
}
|
|
||||||
spec->hp_dacs[i] = dac;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < cfg->speaker_outs; i++) {
|
|
||||||
nid = cfg->speaker_pins[i];
|
|
||||||
dac = get_unassigned_dac(codec, nid);
|
|
||||||
if (dac)
|
|
||||||
add_spec_extra_dacs(spec, dac);
|
|
||||||
spec->speaker_dacs[i] = dac;
|
|
||||||
}
|
|
||||||
|
|
||||||
snd_printd("stac92xx: dac_nids=%d (0x%x/0x%x/0x%x/0x%x/0x%x)\n",
|
snd_printd("stac92xx: dac_nids=%d (0x%x/0x%x/0x%x/0x%x/0x%x)\n",
|
||||||
spec->multiout.num_dacs,
|
spec->multiout.num_dacs,
|
||||||
spec->multiout.dac_nids[0],
|
spec->multiout.dac_nids[0],
|
||||||
|
|
Loading…
Reference in a new issue