Commit fedb7569 authored by Matthew Ranostay's avatar Matthew Ranostay Committed by Jaroslav Kysela

ALSA: hda: use last DAC defined for hp_pin

Patch allows the last DAC in the dac_nids for the hp_nid if there is an
available one this isn't in use by a line_out entry or if hp_nid isn't already
defined. This solves the issues with the 'Headphone Playback' mixer
controls on the 92hd73xxx branch and possibly others.
Signed-off-by: default avatarMatthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
parent cdad5b8d
...@@ -2817,6 +2817,10 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec, ...@@ -2817,6 +2817,10 @@ static int stac92xx_auto_create_multi_out_ctls(struct hda_codec *codec,
} }
} }
if ((spec->multiout.num_dacs - cfg->line_outs) > 0 &&
cfg->hp_outs && !spec->multiout.hp_nid)
spec->multiout.hp_nid = nid;
if (cfg->hp_outs > 1) { if (cfg->hp_outs > 1) {
err = stac92xx_add_control(spec, err = stac92xx_add_control(spec,
STAC_CTL_WIDGET_HP_SWITCH, STAC_CTL_WIDGET_HP_SWITCH,
...@@ -4083,8 +4087,6 @@ static int patch_stac92hd73xx(struct hda_codec *codec) ...@@ -4083,8 +4087,6 @@ static int patch_stac92hd73xx(struct hda_codec *codec)
case STAC_DELL_M6: case STAC_DELL_M6:
spec->init = dell_eq_core_init; spec->init = dell_eq_core_init;
spec->num_smuxes = 0; spec->num_smuxes = 0;
spec->multiout.hp_nid =
spec->multiout.dac_nids[spec->multiout.num_dacs - 1];
spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER]; spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER];
spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP]; spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP];
spec->num_amps = 1; spec->num_amps = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment