mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
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>
This commit is contained in:
parent
0d884cb936
commit
fc86f95415
1 changed files with 31 additions and 0 deletions
|
@ -220,6 +220,7 @@ enum {
|
|||
ALC888_ACER_ASPIRE_4930G,
|
||||
ALC888_ACER_ASPIRE_6530G,
|
||||
ALC888_ACER_ASPIRE_8930G,
|
||||
ALC888_ACER_ASPIRE_7730G,
|
||||
ALC883_MEDION,
|
||||
ALC883_MEDION_MD2,
|
||||
ALC883_LAPTOP_EAPD,
|
||||
|
@ -8484,6 +8485,13 @@ static struct hda_verb alc883_acer_eapd_verbs[] = {
|
|||
{ }
|
||||
};
|
||||
|
||||
static struct hda_verb alc888_acer_aspire_7730G_verbs[] = {
|
||||
{0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
|
||||
{0x17, AC_VERB_SET_CONNECT_SEL, 0x02},
|
||||
{0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN},
|
||||
{ } /* end */
|
||||
};
|
||||
|
||||
static void alc888_6st_dell_setup(struct hda_codec *codec)
|
||||
{
|
||||
struct alc_spec *spec = codec->spec;
|
||||
|
@ -8645,6 +8653,7 @@ static const char *alc882_models[ALC882_MODEL_LAST] = {
|
|||
[ALC888_ACER_ASPIRE_4930G] = "acer-aspire-4930g",
|
||||
[ALC888_ACER_ASPIRE_6530G] = "acer-aspire-6530g",
|
||||
[ALC888_ACER_ASPIRE_8930G] = "acer-aspire-8930g",
|
||||
[ALC888_ACER_ASPIRE_7730G] = "acer-aspire-7730g",
|
||||
[ALC883_MEDION] = "medion",
|
||||
[ALC883_MEDION_MD2] = "medion-md2",
|
||||
[ALC883_LAPTOP_EAPD] = "laptop-eapd",
|
||||
|
@ -8691,6 +8700,8 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = {
|
|||
ALC888_ACER_ASPIRE_6530G),
|
||||
SND_PCI_QUIRK(0x1025, 0x0166, "Acer Aspire 6530G",
|
||||
ALC888_ACER_ASPIRE_6530G),
|
||||
SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G",
|
||||
ALC888_ACER_ASPIRE_7730G),
|
||||
/* default Acer -- disabled as it causes more problems.
|
||||
* model=auto should work fine now
|
||||
*/
|
||||
|
@ -9192,6 +9203,26 @@ static struct alc_config_preset alc882_presets[] = {
|
|||
.setup = alc889_acer_aspire_8930g_setup,
|
||||
.init_hook = alc_automute_amp,
|
||||
},
|
||||
[ALC888_ACER_ASPIRE_7730G] = {
|
||||
.mixers = { alc883_3ST_6ch_mixer,
|
||||
alc883_chmode_mixer },
|
||||
.init_verbs = { alc883_init_verbs, alc880_gpio1_init_verbs,
|
||||
alc888_acer_aspire_7730G_verbs },
|
||||
.num_dacs = ARRAY_SIZE(alc883_dac_nids),
|
||||
.dac_nids = alc883_dac_nids,
|
||||
.num_adc_nids = ARRAY_SIZE(alc883_adc_nids_rev),
|
||||
.adc_nids = alc883_adc_nids_rev,
|
||||
.capsrc_nids = alc883_capsrc_nids_rev,
|
||||
.dig_out_nid = ALC883_DIGOUT_NID,
|
||||
.num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes),
|
||||
.channel_mode = alc883_3ST_6ch_modes,
|
||||
.need_dac_fix = 1,
|
||||
.const_channel_count = 6,
|
||||
.input_mux = &alc883_capture_source,
|
||||
.unsol_event = alc_automute_amp_unsol_event,
|
||||
.setup = alc888_acer_aspire_6530g_setup,
|
||||
.init_hook = alc_automute_amp,
|
||||
},
|
||||
[ALC883_MEDION] = {
|
||||
.mixers = { alc883_fivestack_mixer,
|
||||
alc883_chmode_mixer },
|
||||
|
|
Loading…
Reference in a new issue