aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
authorDenis Kuplyakov <dener.kup@gmail.com>2010-11-24 00:01:09 -0500
committerTakashi Iwai <tiwai@suse.de>2010-11-24 00:04:12 -0500
commitd94772070acc5a8f312ab4650cbbf5e78ea9dda2 (patch)
tree6c4a2fb67c8d6efb49f26834f91e612bafd77849 /sound/pci/hda/patch_realtek.c
parentea49b1669b7b405e0eb0bf877c7b7fb01f8dd19b (diff)
ALSA: hda - Fix Acer 7730G support
Fixes automatic EAPD configuration on Acer 7730G laptop. Signed-off-by: Denis Kuplyakov <dener.kup@gmail.com> 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.c49
1 files changed, 41 insertions, 8 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 0ac6aed0c889..8f7530fc7644 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -2014,6 +2014,36 @@ static struct hda_verb alc888_acer_aspire_6530g_verbs[] = {
2014}; 2014};
2015 2015
2016/* 2016/*
2017 *ALC888 Acer Aspire 7730G model
2018 */
2019
2020static struct hda_verb alc888_acer_aspire_7730G_verbs[] = {
2021/* Bias voltage on for external mic port */
2022 {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN | PIN_VREF80},
2023/* Front Mic: set to PIN_IN (empty by default) */
2024 {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
2025/* Unselect Front Mic by default in input mixer 3 */
2026 {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0xb)},
2027/* Enable unsolicited event for HP jack */
2028 {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN},
2029/* Enable speaker output */
2030 {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
2031 {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
2032 {0x14, AC_VERB_SET_EAPD_BTLENABLE, 2},
2033/* Enable headphone output */
2034 {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT | PIN_HP},
2035 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
2036 {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
2037 {0x15, AC_VERB_SET_EAPD_BTLENABLE, 2},
2038/*Enable internal subwoofer */
2039 {0x17, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
2040 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
2041 {0x17, AC_VERB_SET_CONNECT_SEL, 0x02},
2042 {0x17, AC_VERB_SET_EAPD_BTLENABLE, 2},
2043 { }
2044};
2045
2046/*
2017 * ALC889 Acer Aspire 8930G model 2047 * ALC889 Acer Aspire 8930G model
2018 */ 2048 */
2019 2049
@@ -2200,6 +2230,16 @@ static void alc888_acer_aspire_6530g_setup(struct hda_codec *codec)
2200 spec->autocfg.speaker_pins[2] = 0x17; 2230 spec->autocfg.speaker_pins[2] = 0x17;
2201} 2231}
2202 2232
2233static void alc888_acer_aspire_7730g_setup(struct hda_codec *codec)
2234{
2235 struct alc_spec *spec = codec->spec;
2236
2237 spec->autocfg.hp_pins[0] = 0x15;
2238 spec->autocfg.speaker_pins[0] = 0x14;
2239 spec->autocfg.speaker_pins[1] = 0x16;
2240 spec->autocfg.speaker_pins[2] = 0x17;
2241}
2242
2203static void alc889_acer_aspire_8930g_setup(struct hda_codec *codec) 2243static void alc889_acer_aspire_8930g_setup(struct hda_codec *codec)
2204{ 2244{
2205 struct alc_spec *spec = codec->spec; 2245 struct alc_spec *spec = codec->spec;
@@ -9524,13 +9564,6 @@ static struct hda_verb alc883_acer_eapd_verbs[] = {
9524 { } 9564 { }
9525}; 9565};
9526 9566
9527static struct hda_verb alc888_acer_aspire_7730G_verbs[] = {
9528 {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
9529 {0x17, AC_VERB_SET_CONNECT_SEL, 0x02},
9530 {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN},
9531 { } /* end */
9532};
9533
9534static void alc888_6st_dell_setup(struct hda_codec *codec) 9567static void alc888_6st_dell_setup(struct hda_codec *codec)
9535{ 9568{
9536 struct alc_spec *spec = codec->spec; 9569 struct alc_spec *spec = codec->spec;
@@ -10328,7 +10361,7 @@ static struct alc_config_preset alc882_presets[] = {
10328 .const_channel_count = 6, 10361 .const_channel_count = 6,
10329 .input_mux = &alc883_capture_source, 10362 .input_mux = &alc883_capture_source,
10330 .unsol_event = alc_automute_amp_unsol_event, 10363 .unsol_event = alc_automute_amp_unsol_event,
10331 .setup = alc888_acer_aspire_6530g_setup, 10364 .setup = alc888_acer_aspire_7730g_setup,
10332 .init_hook = alc_automute_amp, 10365 .init_hook = alc_automute_amp,
10333 }, 10366 },
10334 [ALC883_MEDION] = { 10367 [ALC883_MEDION] = {