diff options
author | Denis Kuplyakov <dener.kup@gmail.com> | 2009-08-25 12:15:59 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-08-25 12:16:55 -0400 |
commit | fc86f95415d14c74fd71f5e70173a4def7da68f6 (patch) | |
tree | 5bacaef366d57c5c2fa4a4d9245ddbce19b8509c /sound/pci | |
parent | 0d884cb936e8e36c47bc7ee86eb6750261bd5438 (diff) |
ALSA: hda - Add full audio support on Acer Aspire 7730G notebook
1) Added support of internal subwoofer (it sounds!!!)
2) Auto muting front speakers and internal subwoofer on headphones plug.
3) Internal mic works.
4) 3 channel mods (jack maps):
black pink blue
2ch: front ext mic line in
4ch: front ext mic surround
6ch: front CLFE surround
Can be changed in mixer.
5) Sound can be recorded from:
Internal mic
Ext mic
Cd
Line in
6) 2 separate capture channels.
Signed-off-by: Denis Kuplyakov <dener.kup@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index ce098b20cdfb..d572db619fbd 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -220,6 +220,7 @@ enum { | |||
220 | ALC888_ACER_ASPIRE_4930G, | 220 | ALC888_ACER_ASPIRE_4930G, |
221 | ALC888_ACER_ASPIRE_6530G, | 221 | ALC888_ACER_ASPIRE_6530G, |
222 | ALC888_ACER_ASPIRE_8930G, | 222 | ALC888_ACER_ASPIRE_8930G, |
223 | ALC888_ACER_ASPIRE_7730G, | ||
223 | ALC883_MEDION, | 224 | ALC883_MEDION, |
224 | ALC883_MEDION_MD2, | 225 | ALC883_MEDION_MD2, |
225 | ALC883_LAPTOP_EAPD, | 226 | ALC883_LAPTOP_EAPD, |
@@ -8484,6 +8485,13 @@ static struct hda_verb alc883_acer_eapd_verbs[] = { | |||
8484 | { } | 8485 | { } |
8485 | }; | 8486 | }; |
8486 | 8487 | ||
8488 | static struct hda_verb alc888_acer_aspire_7730G_verbs[] = { | ||
8489 | {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, | ||
8490 | {0x17, AC_VERB_SET_CONNECT_SEL, 0x02}, | ||
8491 | {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, | ||
8492 | { } /* end */ | ||
8493 | }; | ||
8494 | |||
8487 | static void alc888_6st_dell_setup(struct hda_codec *codec) | 8495 | static void alc888_6st_dell_setup(struct hda_codec *codec) |
8488 | { | 8496 | { |
8489 | struct alc_spec *spec = codec->spec; | 8497 | struct alc_spec *spec = codec->spec; |
@@ -8645,6 +8653,7 @@ static const char *alc882_models[ALC882_MODEL_LAST] = { | |||
8645 | [ALC888_ACER_ASPIRE_4930G] = "acer-aspire-4930g", | 8653 | [ALC888_ACER_ASPIRE_4930G] = "acer-aspire-4930g", |
8646 | [ALC888_ACER_ASPIRE_6530G] = "acer-aspire-6530g", | 8654 | [ALC888_ACER_ASPIRE_6530G] = "acer-aspire-6530g", |
8647 | [ALC888_ACER_ASPIRE_8930G] = "acer-aspire-8930g", | 8655 | [ALC888_ACER_ASPIRE_8930G] = "acer-aspire-8930g", |
8656 | [ALC888_ACER_ASPIRE_7730G] = "acer-aspire-7730g", | ||
8648 | [ALC883_MEDION] = "medion", | 8657 | [ALC883_MEDION] = "medion", |
8649 | [ALC883_MEDION_MD2] = "medion-md2", | 8658 | [ALC883_MEDION_MD2] = "medion-md2", |
8650 | [ALC883_LAPTOP_EAPD] = "laptop-eapd", | 8659 | [ALC883_LAPTOP_EAPD] = "laptop-eapd", |
@@ -8691,6 +8700,8 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
8691 | ALC888_ACER_ASPIRE_6530G), | 8700 | ALC888_ACER_ASPIRE_6530G), |
8692 | SND_PCI_QUIRK(0x1025, 0x0166, "Acer Aspire 6530G", | 8701 | SND_PCI_QUIRK(0x1025, 0x0166, "Acer Aspire 6530G", |
8693 | ALC888_ACER_ASPIRE_6530G), | 8702 | ALC888_ACER_ASPIRE_6530G), |
8703 | SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G", | ||
8704 | ALC888_ACER_ASPIRE_7730G), | ||
8694 | /* default Acer -- disabled as it causes more problems. | 8705 | /* default Acer -- disabled as it causes more problems. |
8695 | * model=auto should work fine now | 8706 | * model=auto should work fine now |
8696 | */ | 8707 | */ |
@@ -9192,6 +9203,26 @@ static struct alc_config_preset alc882_presets[] = { | |||
9192 | .setup = alc889_acer_aspire_8930g_setup, | 9203 | .setup = alc889_acer_aspire_8930g_setup, |
9193 | .init_hook = alc_automute_amp, | 9204 | .init_hook = alc_automute_amp, |
9194 | }, | 9205 | }, |
9206 | [ALC888_ACER_ASPIRE_7730G] = { | ||
9207 | .mixers = { alc883_3ST_6ch_mixer, | ||
9208 | alc883_chmode_mixer }, | ||
9209 | .init_verbs = { alc883_init_verbs, alc880_gpio1_init_verbs, | ||
9210 | alc888_acer_aspire_7730G_verbs }, | ||
9211 | .num_dacs = ARRAY_SIZE(alc883_dac_nids), | ||
9212 | .dac_nids = alc883_dac_nids, | ||
9213 | .num_adc_nids = ARRAY_SIZE(alc883_adc_nids_rev), | ||
9214 | .adc_nids = alc883_adc_nids_rev, | ||
9215 | .capsrc_nids = alc883_capsrc_nids_rev, | ||
9216 | .dig_out_nid = ALC883_DIGOUT_NID, | ||
9217 | .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes), | ||
9218 | .channel_mode = alc883_3ST_6ch_modes, | ||
9219 | .need_dac_fix = 1, | ||
9220 | .const_channel_count = 6, | ||
9221 | .input_mux = &alc883_capture_source, | ||
9222 | .unsol_event = alc_automute_amp_unsol_event, | ||
9223 | .setup = alc888_acer_aspire_6530g_setup, | ||
9224 | .init_hook = alc_automute_amp, | ||
9225 | }, | ||
9195 | [ALC883_MEDION] = { | 9226 | [ALC883_MEDION] = { |
9196 | .mixers = { alc883_fivestack_mixer, | 9227 | .mixers = { alc883_fivestack_mixer, |
9197 | alc883_chmode_mixer }, | 9228 | alc883_chmode_mixer }, |