aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorDenis Kuplyakov <dener.kup@gmail.com>2009-08-25 12:15:59 -0400
committerTakashi Iwai <tiwai@suse.de>2009-08-25 12:16:55 -0400
commitfc86f95415d14c74fd71f5e70173a4def7da68f6 (patch)
tree5bacaef366d57c5c2fa4a4d9245ddbce19b8509c /sound/pci
parent0d884cb936e8e36c47bc7ee86eb6750261bd5438 (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.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index ce098b20cdf..d572db619fb 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
8488static 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
8487static void alc888_6st_dell_setup(struct hda_codec *codec) 8495static 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 },