aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
authorEmilio López <buhitoescolar@gmail.com>2009-06-25 02:18:44 -0400
committerTakashi Iwai <tiwai@suse.de>2009-06-25 02:25:22 -0400
commit320d592001acbfd76bf856b5370319f144285489 (patch)
tree5887764047e17ce978e208affa7fdf13a17d7d00 /sound/pci/hda/patch_realtek.c
parent261c2407401ca26fa17f05667ea68f51e12c5303 (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/pci/hda/patch_realtek.c')
-rw-r--r--sound/pci/hda/patch_realtek.c17
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[] = {
1476static struct hda_verb alc888_acer_aspire_6530g_verbs[] = { 1476static 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
1651static 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
1647static void alc889_acer_aspire_8930g_init_hook(struct hda_codec *codec) 1662static 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,