summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobin Davis <tdavis@dsl-only.net>2007-09-17 12:45:11 +0200
committerJaroslav Kysela <perex@perex.cz>2007-10-16 16:50:37 +0200
commitb201131c43c155c62e799d9410708d10b2c9a6ad (patch)
treec8e7afbc1ce1dd22689f67f8066cfd11fe1101db
parent[ALSA] cmipci: fix distortion on rear channels (diff)
downloadlinux-b201131c43c155c62e799d9410708d10b2c9a6ad.tar.xz
linux-b201131c43c155c62e799d9410708d10b2c9a6ad.zip
[ALSA] hda-codec: Add 4 channel support for Realtek ALC883
I had a request for a 4 channel mode. This should implement front and surround outputs, leaving the 3rd plug for mic input. Signed-off-by: Tobin Davis <tdavis@dsl-only.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r--sound/pci/hda/patch_realtek.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index e8270862e1e2..93ff155f5947 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6087,6 +6087,18 @@ static struct hda_verb alc883_3ST_ch2_init[] = {
};
/*
+ * 4ch mode
+ */
+static struct hda_verb alc883_3ST_ch4_init[] = {
+ { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 },
+ { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE },
+ { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
+ { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE },
+ { 0x1a, AC_VERB_SET_CONNECT_SEL, 0x01 },
+ { } /* end */
+};
+
+/*
* 6ch mode
*/
static struct hda_verb alc883_3ST_ch6_init[] = {
@@ -6099,8 +6111,9 @@ static struct hda_verb alc883_3ST_ch6_init[] = {
{ } /* end */
};
-static struct hda_channel_mode alc883_3ST_6ch_modes[2] = {
+static struct hda_channel_mode alc883_3ST_6ch_modes[3] = {
{ 2, alc883_3ST_ch2_init },
+ { 4, alc883_3ST_ch4_init },
{ 6, alc883_3ST_ch6_init },
};