aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-12-01 06:19:37 -0500
committerTakashi Iwai <tiwai@suse.de>2009-12-01 06:26:18 -0500
commitcfc9b06f0befe50ef02253f72b76946363549031 (patch)
treecb29ddec83228f27b5081f488c5d87ccf0ceafe6 /sound/pci/hda/patch_realtek.c
parent854206b074581957e7b5c955001c329f94986b4c (diff)
ALSA: hda - Add a pin-fix for FSC Amilo Pi1505
FSC Amilo Pi 1505 has a buggy BIOS and doesn't set up the HP and speaker pins properly. Add the pinfix entry for that. Reference: Novell bnc#557403 https://bugzilla.novell.com/show_bug.cgi?id=557403 Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r--sound/pci/hda/patch_realtek.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 7e8b17a1769a..a38a81e53863 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -14543,6 +14543,27 @@ static struct alc_config_preset alc861_presets[] = {
14543 }, 14543 },
14544}; 14544};
14545 14545
14546/* Pin config fixes */
14547enum {
14548 PINFIX_FSC_AMILO_PI1505,
14549};
14550
14551static struct alc_pincfg alc861_fsc_amilo_pi1505_pinfix[] = {
14552 { 0x0b, 0x0221101f }, /* HP */
14553 { 0x0f, 0x90170310 }, /* speaker */
14554 { }
14555};
14556
14557static const struct alc_fixup alc861_fixups[] = {
14558 [PINFIX_FSC_AMILO_PI1505] = {
14559 .pins = alc861_fsc_amilo_pi1505_pinfix
14560 },
14561};
14562
14563static struct snd_pci_quirk alc861_fixup_tbl[] = {
14564 SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", PINFIX_FSC_AMILO_PI1505),
14565 {}
14566};
14546 14567
14547static int patch_alc861(struct hda_codec *codec) 14568static int patch_alc861(struct hda_codec *codec)
14548{ 14569{
@@ -14566,6 +14587,8 @@ static int patch_alc861(struct hda_codec *codec)
14566 board_config = ALC861_AUTO; 14587 board_config = ALC861_AUTO;
14567 } 14588 }
14568 14589
14590 alc_pick_fixup(codec, alc861_fixup_tbl, alc861_fixups);
14591
14569 if (board_config == ALC861_AUTO) { 14592 if (board_config == ALC861_AUTO) {
14570 /* automatic parse from the BIOS config */ 14593 /* automatic parse from the BIOS config */
14571 err = alc861_parse_auto_config(codec); 14594 err = alc861_parse_auto_config(codec);