ALSA: hda - Improve auto-cfg mixer name for ALC861-VD
One more patch to give a better name for the primary output controls, this time for ALC861-VD codec. The change is simple, just checking the pin connection whether it's a speaker-out. When both speaker and HP are assigned, we name the volume as "PCM" as this influences on both outputs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
@@ -15233,13 +15233,25 @@ static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec,
|
|||||||
if (err < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
} else {
|
} else {
|
||||||
sprintf(name, "%s Playback Volume", chname[i]);
|
const char *pfx;
|
||||||
|
if (cfg->line_outs == 1 &&
|
||||||
|
cfg->line_out_type == AUTO_PIN_SPEAKER_OUT) {
|
||||||
|
if (!cfg->hp_pins)
|
||||||
|
pfx = "Speaker";
|
||||||
|
else
|
||||||
|
pfx = "PCM";
|
||||||
|
} else
|
||||||
|
pfx = chname[i];
|
||||||
|
sprintf(name, "%s Playback Volume", pfx);
|
||||||
err = add_control(spec, ALC_CTL_WIDGET_VOL, name,
|
err = add_control(spec, ALC_CTL_WIDGET_VOL, name,
|
||||||
HDA_COMPOSE_AMP_VAL(nid_v, 3, 0,
|
HDA_COMPOSE_AMP_VAL(nid_v, 3, 0,
|
||||||
HDA_OUTPUT));
|
HDA_OUTPUT));
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
sprintf(name, "%s Playback Switch", chname[i]);
|
if (cfg->line_outs == 1 &&
|
||||||
|
cfg->line_out_type == AUTO_PIN_SPEAKER_OUT)
|
||||||
|
pfx = "Speaker";
|
||||||
|
sprintf(name, "%s Playback Switch", pfx);
|
||||||
err = add_control(spec, ALC_CTL_BIND_MUTE, name,
|
err = add_control(spec, ALC_CTL_BIND_MUTE, name,
|
||||||
HDA_COMPOSE_AMP_VAL(nid_s, 3, 2,
|
HDA_COMPOSE_AMP_VAL(nid_s, 3, 2,
|
||||||
HDA_INPUT));
|
HDA_INPUT));
|
||||||
|
Reference in New Issue
Block a user