diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-12-01 06:19:37 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-12-01 06:26:18 -0500 |
commit | cfc9b06f0befe50ef02253f72b76946363549031 (patch) | |
tree | cb29ddec83228f27b5081f488c5d87ccf0ceafe6 /sound | |
parent | 854206b074581957e7b5c955001c329f94986b4c (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')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 23 |
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 */ | ||
14547 | enum { | ||
14548 | PINFIX_FSC_AMILO_PI1505, | ||
14549 | }; | ||
14550 | |||
14551 | static struct alc_pincfg alc861_fsc_amilo_pi1505_pinfix[] = { | ||
14552 | { 0x0b, 0x0221101f }, /* HP */ | ||
14553 | { 0x0f, 0x90170310 }, /* speaker */ | ||
14554 | { } | ||
14555 | }; | ||
14556 | |||
14557 | static const struct alc_fixup alc861_fixups[] = { | ||
14558 | [PINFIX_FSC_AMILO_PI1505] = { | ||
14559 | .pins = alc861_fsc_amilo_pi1505_pinfix | ||
14560 | }, | ||
14561 | }; | ||
14562 | |||
14563 | static struct snd_pci_quirk alc861_fixup_tbl[] = { | ||
14564 | SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", PINFIX_FSC_AMILO_PI1505), | ||
14565 | {} | ||
14566 | }; | ||
14546 | 14567 | ||
14547 | static int patch_alc861(struct hda_codec *codec) | 14568 | static 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); |