* [PATCH 2/3] ALSA: VIA HDA: Mute/unmute mixer conncted to Headphone for VT1718S.
@ 2011-06-20 6:16 lydiawang
0 siblings, 0 replies; only message in thread
From: lydiawang @ 2011-06-20 6:16 UTC (permalink / raw)
To: alsa-devel; +Cc: tiwai, haraldwelte, lydiawang
From: Lydia Wang <lydiawang@viatech.com.cn>
Subject: ALSA: VIA HDA: Mute/unmute mixer conncted to Headphone for VT1718S.
When switch HP independent mode, mute/unmute connctions of mixer which is
connected to headphone for VT1718S.
Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn>
Index: sound-2.6/sound/pci/hda/patch_via.c
===================================================================
--- sound-2.6.orig/sound/pci/hda/patch_via.c 2011-06-20 13:41:04.000000000 +0800
+++ sound-2.6/sound/pci/hda/patch_via.c 2011-06-20 13:48:07.000000000 +0800
@@ -745,12 +745,23 @@
struct via_spec *spec = codec->spec;
hda_nid_t nid = kcontrol->private_value;
unsigned int pinsel = ucontrol->value.enumerated.item[0];
+ unsigned int parm0, parm1;
/* Get Independent Mode index of headphone pin widget */
spec->hp_independent_mode = spec->hp_independent_mode_index == pinsel
? 1 : 0;
- if (spec->codec_type == VT1718S)
+ if (spec->codec_type == VT1718S) {
snd_hda_codec_write(codec, nid, 0,
AC_VERB_SET_CONNECT_SEL, pinsel ? 2 : 0);
+ /* Set correct mute switch for MW3 */
+ parm0 = spec->hp_independent_mode ?
+ AMP_IN_UNMUTE(0) : AMP_IN_MUTE(0);
+ parm1 = spec->hp_independent_mode ?
+ AMP_IN_MUTE(1) : AMP_IN_UNMUTE(1);
+ snd_hda_codec_write(codec, 0x1b, 0,
+ AC_VERB_SET_AMP_GAIN_MUTE, parm0);
+ snd_hda_codec_write(codec, 0x1b, 0,
+ AC_VERB_SET_AMP_GAIN_MUTE, parm1);
+ }
else
snd_hda_codec_write(codec, nid, 0,
AC_VERB_SET_CONNECT_SEL, pinsel);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2011-06-20 6:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-20 6:16 [PATCH 2/3] ALSA: VIA HDA: Mute/unmute mixer conncted to Headphone for VT1718S lydiawang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.