summaryrefslogtreecommitdiff
path: root/sound/pci
diff options
context:
space:
mode:
authorVladimir Avdonin <vldmrrr@yahoo.com>2006-08-22 11:31:58 (GMT)
committerJaroslav Kysela <perex@suse.cz>2006-09-23 08:43:38 (GMT)
commitbab282b912baf372d8f705357946ef691b621899 (patch)
tree104f1fb366f89dfe82670dc98b681da1b28bda32 /sound/pci
parenta1c7a7d890634eaec106e5fb3a7d9c92b8f85b0d (diff)
downloadlinux-bab282b912baf372d8f705357946ef691b621899.tar.xz
[ALSA] hda-codec - Fix for Acer laptops with ALC883 codec
Patch enables the internal speaker on acer laptops with ALC883. Signed-off-by: Vladimir Avdonin <vldmrrr@yahoo.com> 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.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 53aa57f..6590381 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -111,6 +111,7 @@ enum {
ALC883_3ST_6ch,
ALC883_6ST_DIG,
ALC888_DEMO_BOARD,
+ ALC883_ACER,
ALC883_AUTO,
ALC883_MODEL_LAST,
};
@@ -5069,6 +5070,9 @@ static struct hda_board_config alc883_cfg_tbl[] = {
{ .pci_subvendor = 0x105b, .pci_subdevice = 0x6668,
.config = ALC883_6ST_DIG }, /* Foxconn */
{ .modelname = "6stack-dig-demo", .config = ALC888_DEMO_BOARD },
+ { .modelname = "acer", .config = ALC883_ACER },
+ { .pci_subvendor = 0x1025, .pci_subdevice = 0/*0x0102*/,
+ .config = ALC883_ACER },
{ .modelname = "auto", .config = ALC883_AUTO },
{}
};
@@ -5139,6 +5143,23 @@ static struct alc_config_preset alc883_presets[] = {
.channel_mode = alc883_sixstack_modes,
.input_mux = &alc883_capture_source,
},
+ [ALC883_ACER] = {
+ .mixers = { alc883_base_mixer,
+ alc883_chmode_mixer },
+ /* On TravelMate laptops, GPIO 0 enables the internal speaker
+ * and the headphone jack. Turn this on and rely on the
+ * standard mute methods whenever the user wants to turn
+ * these outputs off.
+ */
+ .init_verbs = { alc883_init_verbs, alc880_gpio1_init_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,
+ },
};