[PATCH 3/3] ALSA: HDA: Add Front control for ALC887

David Henningsson david.henningsson at canonical.com
Wed Nov 17 15:06:15 CET 2010


HP and Line out share DAC, so we need a switch to turn line out off.

Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
 sound/pci/hda/patch_realtek.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 4cc7bb2..86df37c 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -10836,8 +10836,16 @@ static int alc882_parse_auto_config(struct hda_codec *codec)
 	err = alc880_auto_fill_dac_nids(spec, &spec->autocfg);
 	if (err < 0)
 		return err;
-	if (codec->vendor_id == 0x10ec0887)
+	if (codec->vendor_id == 0x10ec0887) {
 		err = alc861vd_auto_create_multi_out_ctls(spec, &spec->autocfg);
+		if (err < 0)
+			return err;
+		/* We need something to switch that doesn't affect headphones */
+		if (spec->autocfg.line_out_pins[0])
+			err = add_pb_sw_ctrl(spec, ALC_CTL_WIDGET_MUTE, "Front",
+				  HDA_COMPOSE_AMP_VAL(spec->autocfg.line_out_pins[0], 3, 0, HDA_OUTPUT));
+
+        }
 	else
 		err = alc880_auto_create_multi_out_ctls(spec, &spec->autocfg);
 	if (err < 0)
-- 
1.7.1


--------------050400000103080707060807--


More information about the Alsa-devel mailing list