aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
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