another sound fixes for 3.4-rc3
A few regression fixes for Realtek HD-audio codecs, mainly specific to some laptop models. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) iQIcBAABAgAGBQJPis5JAAoJEGwxgFQ9KSmkhGsQAIIbBE05eB3BHi44eP5/olay Cv+/k9l+LEPBdZuPCJhC80s8gVZ3Ef9BCsmDBsH2mqKCv8nqWQhc9fjf9WHzdwOV M/IGyvyYaFbI9XDOrCXFhXByjWj5Q2Itxi79VkK00ZE5SC8TPy6x/mXxcGyWfu/E NNnYB+IJcTOKEhQG/G4uqeu6lAKiDgQWXCFDQdZpLv4Bod40E4c/Zviw2+iModwW CCGyNJJFzSQIXun/d0bgLO7ZLo+c1aWMBKCfF/rd6g6AI6fgrnRx/8vXdxhY3gH+ FuQbQMuI8hv7KePritZZad/StSBdrOed1k1O0m9NdjAwjlygWYo0rGJ8gy2DiGWx kyLOGWCIUaRIA3121Veq/rooJEdjP4+2di38ero+P/ondYleaQkG6iNescp6aSX7 GTs6fcbP81oUFhlRzHCEFQkxh/F4kN77kpXnI9HQCMkbX9K8TWDsy/s6dS3wKA7l 8FGM+lForE9X2TmYTcMJW1Gn4HyVl5opgcSgaE/GaZIrT6URJR2Eoi9CFKnuvx/j xpNzSCt5DOB/TikwDSdeypja1NvbWk6QbhGmXEnSgIlrEy9ZVPJuMVRtmHf84YUj sQz3+i4MHr7EyrwuRdpTliGJ4vZ2GJlfz3f1WFtD26ImhDKyZAYytuS/uVwsDwDh vqYlU8+8DLh4BGHUr+4o =8He+ -----END PGP SIGNATURE----- Merge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull another round of sound fixes from Takashi Iwai: "A few regression fixes for Realtek HD-audio codecs, mainly specific to some laptop models." * tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda/realtek - Fix mem leak (and rid us of trailing whitespace). ALSA: hda/realtek - Add quirk for Mac Pro 5,1 machines ALSA: hda/realtek - Add a fixup entry for Acer Aspire 8940G ALSA: hda/realtek - Fix GPIO1 setup for Acer Aspire 4930 & co ALSA: hda/realtek - Add a few ALC882 model strings back
This commit is contained in:
commit
218a8c2b57
2 changed files with 29 additions and 11 deletions
|
@ -43,7 +43,9 @@ ALC680
|
|||
|
||||
ALC882/883/885/888/889
|
||||
======================
|
||||
N/A
|
||||
acer-aspire-4930g Acer Aspire 4930G/5930G/6530G/6930G/7730G
|
||||
acer-aspire-8930g Acer Aspire 8330G/6935G
|
||||
acer-aspire Acer Aspire others
|
||||
|
||||
ALC861/660
|
||||
==========
|
||||
|
|
|
@ -3398,8 +3398,10 @@ static int alc_auto_fill_dac_nids(struct hda_codec *codec)
|
|||
for (;;) {
|
||||
badness = fill_and_eval_dacs(codec, fill_hardwired,
|
||||
fill_mio_first);
|
||||
if (badness < 0)
|
||||
if (badness < 0) {
|
||||
kfree(best_cfg);
|
||||
return badness;
|
||||
}
|
||||
debug_badness("==> lo_type=%d, wired=%d, mio=%d, badness=0x%x\n",
|
||||
cfg->line_out_type, fill_hardwired, fill_mio_first,
|
||||
badness);
|
||||
|
@ -5269,7 +5271,9 @@ static const struct alc_fixup alc882_fixups[] = {
|
|||
{ 0x16, 0x99130111 }, /* CLFE speaker */
|
||||
{ 0x17, 0x99130112 }, /* surround speaker */
|
||||
{ }
|
||||
}
|
||||
},
|
||||
.chained = true,
|
||||
.chain_id = ALC882_FIXUP_GPIO1,
|
||||
},
|
||||
[ALC882_FIXUP_ACER_ASPIRE_8930G] = {
|
||||
.type = ALC_FIXUP_PINS,
|
||||
|
@ -5312,7 +5316,9 @@ static const struct alc_fixup alc882_fixups[] = {
|
|||
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
|
||||
{ 0x20, AC_VERB_SET_PROC_COEF, 0x3050 },
|
||||
{ }
|
||||
}
|
||||
},
|
||||
.chained = true,
|
||||
.chain_id = ALC882_FIXUP_GPIO1,
|
||||
},
|
||||
[ALC885_FIXUP_MACPRO_GPIO] = {
|
||||
.type = ALC_FIXUP_FUNC,
|
||||
|
@ -5359,6 +5365,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
|
|||
ALC882_FIXUP_ACER_ASPIRE_4930G),
|
||||
SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210),
|
||||
SND_PCI_QUIRK(0x1025, 0x0259, "Acer Aspire 5935", ALC889_FIXUP_DAC_ROUTE),
|
||||
SND_PCI_QUIRK(0x1025, 0x026b, "Acer Aspire 8940G", ALC882_FIXUP_ACER_ASPIRE_8930G),
|
||||
SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", ALC882_FIXUP_ACER_ASPIRE_7736),
|
||||
SND_PCI_QUIRK(0x1043, 0x13c2, "Asus A7M", ALC882_FIXUP_EAPD),
|
||||
SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V),
|
||||
|
@ -5384,6 +5391,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
|
|||
SND_PCI_QUIRK(0x106b, 0x3f00, "Macbook 5,1", ALC889_FIXUP_IMAC91_VREF),
|
||||
SND_PCI_QUIRK(0x106b, 0x4000, "MacbookPro 5,1", ALC889_FIXUP_IMAC91_VREF),
|
||||
SND_PCI_QUIRK(0x106b, 0x4100, "Macmini 3,1", ALC889_FIXUP_IMAC91_VREF),
|
||||
SND_PCI_QUIRK(0x106b, 0x4200, "Mac Pro 5,1", ALC885_FIXUP_MACPRO_GPIO),
|
||||
SND_PCI_QUIRK(0x106b, 0x4600, "MacbookPro 5,2", ALC889_FIXUP_IMAC91_VREF),
|
||||
SND_PCI_QUIRK(0x106b, 0x4900, "iMac 9,1 Aluminum", ALC889_FIXUP_IMAC91_VREF),
|
||||
SND_PCI_QUIRK(0x106b, 0x4a00, "Macbook 5,2", ALC889_FIXUP_IMAC91_VREF),
|
||||
|
@ -5399,6 +5407,13 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static const struct alc_model_fixup alc882_fixup_models[] = {
|
||||
{.id = ALC882_FIXUP_ACER_ASPIRE_4930G, .name = "acer-aspire-4930g"},
|
||||
{.id = ALC882_FIXUP_ACER_ASPIRE_8930G, .name = "acer-aspire-8930g"},
|
||||
{.id = ALC883_FIXUP_ACER_EAPD, .name = "acer-aspire"},
|
||||
{}
|
||||
};
|
||||
|
||||
/*
|
||||
* BIOS auto configuration
|
||||
*/
|
||||
|
@ -5439,7 +5454,8 @@ static int patch_alc882(struct hda_codec *codec)
|
|||
if (err < 0)
|
||||
goto error;
|
||||
|
||||
alc_pick_fixup(codec, NULL, alc882_fixup_tbl, alc882_fixups);
|
||||
alc_pick_fixup(codec, alc882_fixup_models, alc882_fixup_tbl,
|
||||
alc882_fixups);
|
||||
alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE);
|
||||
|
||||
alc_auto_parse_customize_define(codec);
|
||||
|
|
Loading…
Reference in a new issue