Commit 0b6c9f05 authored by Takashi Iwai's avatar Takashi Iwai Committed by Willy Tarreau

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

[2.6.32: additional background from Jonathan below]
> Hi Willy,
>
> Please consider
>
>   cfc9b06f ALSA: hda - Add a pin-fix for FSC Amilo Pi1505
>
> for application to the 2.6.32.y tree.  Without this patch, the Amilo
> Pi 1505's internal speaker is silent unless a jack is plugged into its
> headphone jack.
>
> Jose Manuel Castroagudin noticed[1] that 2.6.30 is not affected, so
> this seems to be a regression.
>
> The patch was applied upstream during the 2.6.33 merge window, where
> it worked.  That said, I didn't manage to track down anyone with a
> Pi1505 to test it against 2.6.32, so thoughts from alsa folks on
> whether this is appropriate for 2.6.32.y would be useful.
>
> Hope that helps,
> Jonathan
>
> [1] http://bugs.debian.org/599582 has many more details.
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
(cherry picked from commit cfc9b06f)
Cc: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
parent da8aad73
......@@ -14713,6 +14713,27 @@ static struct alc_config_preset alc861_presets[] = {
},
};
/* Pin config fixes */
enum {
PINFIX_FSC_AMILO_PI1505,
};
static struct alc_pincfg alc861_fsc_amilo_pi1505_pinfix[] = {
{ 0x0b, 0x0221101f }, /* HP */
{ 0x0f, 0x90170310 }, /* speaker */
{ }
};
static const struct alc_fixup alc861_fixups[] = {
[PINFIX_FSC_AMILO_PI1505] = {
.pins = alc861_fsc_amilo_pi1505_pinfix
},
};
static struct snd_pci_quirk alc861_fixup_tbl[] = {
SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", PINFIX_FSC_AMILO_PI1505),
{}
};
static int patch_alc861(struct hda_codec *codec)
{
......@@ -14736,6 +14757,8 @@ static int patch_alc861(struct hda_codec *codec)
board_config = ALC861_AUTO;
}
alc_pick_fixup(codec, alc861_fixup_tbl, alc861_fixups);
if (board_config == ALC861_AUTO) {
/* automatic parse from the BIOS config */
err = alc861_parse_auto_config(codec);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment