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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx>

--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
>From 955438a1e0f21218d207196456d8e46295f5feec Mon Sep 17 00:00:00 2001
From: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
Date: Wed, 17 Nov 2010 15:06:15 +0100
Subject: [PATCH 3/3] ALSA: HDA: Add Front control for ALC887

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

Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx>
---
 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

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux