diff options
author | Emilio López <buhitoescolar@gmail.com> | 2009-06-25 02:18:44 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-06-25 02:25:22 -0400 |
commit | 320d592001acbfd76bf856b5370319f144285489 (patch) | |
tree | 5887764047e17ce978e208affa7fdf13a17d7d00 /sound | |
parent | 261c2407401ca26fa17f05667ea68f51e12c5303 (diff) |
ALSA: hda - Fix acer-aspire-6530g model quirk
Fix the following bugs of acer-aspire-6530g model with ALC888:
- HP jack to mute all speaker outputs including LFE
- Make digital built-in mic working
Signed-off-by: Emilio López <buhitoescolar@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 98ac24adf39c..7ebe5216b4b5 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -1476,6 +1476,10 @@ static struct hda_verb alc888_acer_aspire_4930g_verbs[] = { | |||
1476 | static struct hda_verb alc888_acer_aspire_6530g_verbs[] = { | 1476 | static struct hda_verb alc888_acer_aspire_6530g_verbs[] = { |
1477 | /* Bias voltage on for external mic port */ | 1477 | /* Bias voltage on for external mic port */ |
1478 | {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN | PIN_VREF80}, | 1478 | {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN | PIN_VREF80}, |
1479 | /* Front Mic: set to PIN_IN (empty by default) */ | ||
1480 | {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
1481 | /* Unselect Front Mic by default in input mixer 3 */ | ||
1482 | {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0xb)}, | ||
1479 | /* Enable unsolicited event for HP jack */ | 1483 | /* Enable unsolicited event for HP jack */ |
1480 | {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, | 1484 | {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, |
1481 | /* Enable speaker output */ | 1485 | /* Enable speaker output */ |
@@ -1644,6 +1648,17 @@ static void alc888_acer_aspire_4930g_init_hook(struct hda_codec *codec) | |||
1644 | alc_automute_amp(codec); | 1648 | alc_automute_amp(codec); |
1645 | } | 1649 | } |
1646 | 1650 | ||
1651 | static void alc888_acer_aspire_6530g_init_hook(struct hda_codec *codec) | ||
1652 | { | ||
1653 | struct alc_spec *spec = codec->spec; | ||
1654 | |||
1655 | spec->autocfg.hp_pins[0] = 0x15; | ||
1656 | spec->autocfg.speaker_pins[0] = 0x14; | ||
1657 | spec->autocfg.speaker_pins[1] = 0x16; | ||
1658 | spec->autocfg.speaker_pins[2] = 0x17; | ||
1659 | alc_automute_amp(codec); | ||
1660 | } | ||
1661 | |||
1647 | static void alc889_acer_aspire_8930g_init_hook(struct hda_codec *codec) | 1662 | static void alc889_acer_aspire_8930g_init_hook(struct hda_codec *codec) |
1648 | { | 1663 | { |
1649 | struct alc_spec *spec = codec->spec; | 1664 | struct alc_spec *spec = codec->spec; |
@@ -9322,7 +9337,7 @@ static struct alc_config_preset alc883_presets[] = { | |||
9322 | ARRAY_SIZE(alc888_2_capture_sources), | 9337 | ARRAY_SIZE(alc888_2_capture_sources), |
9323 | .input_mux = alc888_acer_aspire_6530_sources, | 9338 | .input_mux = alc888_acer_aspire_6530_sources, |
9324 | .unsol_event = alc_automute_amp_unsol_event, | 9339 | .unsol_event = alc_automute_amp_unsol_event, |
9325 | .init_hook = alc888_acer_aspire_4930g_init_hook, | 9340 | .init_hook = alc888_acer_aspire_6530g_init_hook, |
9326 | }, | 9341 | }, |
9327 | [ALC888_ACER_ASPIRE_8930G] = { | 9342 | [ALC888_ACER_ASPIRE_8930G] = { |
9328 | .mixers = { alc888_base_mixer, | 9343 | .mixers = { alc888_base_mixer, |