aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
authorHerton Ronaldo Krzesinski <herton@mandriva.com.br>2009-03-04 12:22:50 -0500
committerTakashi Iwai <tiwai@suse.de>2009-03-04 15:05:11 -0500
commit3ea0d7cf472c6118bb8c0842d606f5436251e179 (patch)
tree678f20a8ec10204032e202fa8f5ce3ad5ba36f1a /sound/pci/hda/patch_realtek.c
parentbd6afe3f34d41ed81e0c62a5a2181bb7bd51aebf (diff)
ALSA: hda - Add 4 channel mode for 3stack-hp model (ALC888)
Add additional 4 channel mode for 3stack-hp models. Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r--sound/pci/hda/patch_realtek.c27
1 files changed, 24 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 8c02f789e4f..3696ff31838 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -8068,24 +8068,45 @@ static struct hda_verb alc888_6st_dell_verbs[] = {
8068 { } 8068 { }
8069}; 8069};
8070 8070
8071/*
8072 * 2ch mode
8073 */
8071static struct hda_verb alc888_3st_hp_2ch_init[] = { 8074static struct hda_verb alc888_3st_hp_2ch_init[] = {
8072 { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 }, 8075 { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 },
8073 { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, 8076 { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE },
8074 { 0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN }, 8077 { 0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN },
8075 { 0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, 8078 { 0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE },
8076 { } 8079 { } /* end */
8077}; 8080};
8078 8081
8082/*
8083 * 4ch mode
8084 */
8085static struct hda_verb alc888_3st_hp_4ch_init[] = {
8086 { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 },
8087 { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE },
8088 { 0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
8089 { 0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE },
8090 { 0x16, AC_VERB_SET_CONNECT_SEL, 0x01 },
8091 { } /* end */
8092};
8093
8094/*
8095 * 6ch mode
8096 */
8079static struct hda_verb alc888_3st_hp_6ch_init[] = { 8097static struct hda_verb alc888_3st_hp_6ch_init[] = {
8080 { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, 8098 { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
8081 { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, 8099 { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE },
8100 { 0x18, AC_VERB_SET_CONNECT_SEL, 0x02 },
8082 { 0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, 8101 { 0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
8083 { 0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, 8102 { 0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE },
8084 { } 8103 { 0x16, AC_VERB_SET_CONNECT_SEL, 0x01 },
8104 { } /* end */
8085}; 8105};
8086 8106
8087static struct hda_channel_mode alc888_3st_hp_modes[2] = { 8107static struct hda_channel_mode alc888_3st_hp_modes[3] = {
8088 { 2, alc888_3st_hp_2ch_init }, 8108 { 2, alc888_3st_hp_2ch_init },
8109 { 4, alc888_3st_hp_4ch_init },
8089 { 6, alc888_3st_hp_6ch_init }, 8110 { 6, alc888_3st_hp_6ch_init },
8090}; 8111};
8091 8112