diff options
author | Andrew L. Neporada <nepal@asplinux.ru> | 2006-11-07 11:37:08 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2007-02-09 09:01:21 +0100 |
commit | b373bdebf57e2ac7994d9be3a68fd5507515caef (patch) | |
tree | f308b81641de91ed4f1236c4b197d409a6e4a8e4 /sound/pci | |
parent | 54bf5dd9ccd8c37830d7dae0737466e8fda018aa (diff) | |
download | linux-b373bdebf57e2ac7994d9be3a68fd5507515caef.tar.bz2 |
[ALSA] hda-codec - Clevo M540JE, M550JE laptops (Nvidia MCP51 chipset, ALC883 codec)
We need to enable External Amplifier on this laptops. This patch basicly
adds laptop-eapd model to ALC883 codec.
Signed-off-by: Andrew L. Neporada <nepal@asplinux.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 990714e2bcb3..b1e8cd8961de 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -125,6 +125,7 @@ enum { ALC888_DEMO_BOARD, ALC883_ACER, ALC883_MEDION, + ALC883_LAPTOP_EAPD, ALC883_AUTO, ALC883_MODEL_LAST, }; @@ -4540,7 +4541,7 @@ static struct hda_verb alc882_init_verbs[] = { static struct hda_verb alc882_eapd_verbs[] = { /* change to EAPD mode */ {0x20, AC_VERB_SET_COEF_INDEX, 0x07}, - {0x20, AC_VERB_SET_PROC_COEF, 0x3070}, + {0x20, AC_VERB_SET_PROC_COEF, 0x3060}, { } }; @@ -4998,6 +4999,13 @@ static struct hda_channel_mode alc883_sixstack_modes[2] = { { 8, alc883_sixstack_ch8_init }, }; +static struct hda_verb alc883_medion_eapd_verbs[] = { + /* eanable EAPD on medion laptop */ + {0x20, AC_VERB_SET_COEF_INDEX, 0x07}, + {0x20, AC_VERB_SET_PROC_COEF, 0x3070}, + { } +}; + /* Pin assignment: Front=0x14, Rear=0x15, CLFE=0x16, Side=0x17 * Mic=0x18, Front Mic=0x19, Line-In=0x1a, HP=0x1b */ @@ -5471,6 +5479,9 @@ static struct hda_board_config alc883_cfg_tbl[] = { .config = ALC883_ACER }, { .pci_subvendor = 0x161f, .pci_subdevice = 0x2054, .modelname = "medion", .config = ALC883_MEDION }, + { .modelname = "laptop-eapd", .config = ALC883_LAPTOP_EAPD }, + { .pci_subvendor = 0x1558, .pci_subdevice = 0, + .config = ALC883_LAPTOP_EAPD }, /* Clevo */ { .modelname = "auto", .config = ALC883_AUTO }, {} }; @@ -5591,7 +5602,7 @@ static struct alc_config_preset alc883_presets[] = { .mixers = { alc883_fivestack_mixer, alc883_chmode_mixer }, .init_verbs = { alc883_init_verbs, - alc882_eapd_verbs }, + alc883_medion_eapd_verbs }, .num_dacs = ARRAY_SIZE(alc883_dac_nids), .dac_nids = alc883_dac_nids, .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), @@ -5599,8 +5610,19 @@ static struct alc_config_preset alc883_presets[] = { .num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes), .channel_mode = alc883_sixstack_modes, .input_mux = &alc883_capture_source, - } - + }, + [ALC883_LAPTOP_EAPD] = { + .mixers = { alc883_base_mixer, + alc883_chmode_mixer }, + .init_verbs = { alc883_init_verbs, alc882_eapd_verbs }, + .num_dacs = ARRAY_SIZE(alc883_dac_nids), + .dac_nids = alc883_dac_nids, + .num_adc_nids = ARRAY_SIZE(alc883_adc_nids), + .adc_nids = alc883_adc_nids, + .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes), + .channel_mode = alc883_3ST_2ch_modes, + .input_mux = &alc883_capture_source, + }, }; |