aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-11-07 01:29:30 -0500
committerTakashi Iwai <tiwai@suse.de>2013-11-07 01:35:31 -0500
commit487a588d09db0d6508261867df208d8bdc718251 (patch)
tree558fc40c8577800e4dd4c8dd5cff232d018ee517 /sound/pci/hda/patch_realtek.c
parent8f42d7698751a45cd9f7134a5da49bc5b6206179 (diff)
ALSA: hda - Add pincfg fixup for ASUS W5A
BIOS on ASUS W5A laptop with ALC880 codec doesn't provide any pin configurations, so we have to set up all pins manually. Reported-and-tested-by: nb <nb@dagami.org> Cc: <stable@vger.kernel.org> [v3.4+] 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.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 215db601267d..44f12104e8a6 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1045,6 +1045,7 @@ enum {
1045 ALC880_FIXUP_UNIWILL, 1045 ALC880_FIXUP_UNIWILL,
1046 ALC880_FIXUP_UNIWILL_DIG, 1046 ALC880_FIXUP_UNIWILL_DIG,
1047 ALC880_FIXUP_Z71V, 1047 ALC880_FIXUP_Z71V,
1048 ALC880_FIXUP_ASUS_W5A,
1048 ALC880_FIXUP_3ST_BASE, 1049 ALC880_FIXUP_3ST_BASE,
1049 ALC880_FIXUP_3ST, 1050 ALC880_FIXUP_3ST,
1050 ALC880_FIXUP_3ST_DIG, 1051 ALC880_FIXUP_3ST_DIG,
@@ -1215,6 +1216,26 @@ static const struct hda_fixup alc880_fixups[] = {
1215 { } 1216 { }
1216 } 1217 }
1217 }, 1218 },
1219 [ALC880_FIXUP_ASUS_W5A] = {
1220 .type = HDA_FIXUP_PINS,
1221 .v.pins = (const struct hda_pintbl[]) {
1222 /* set up the whole pins as BIOS is utterly broken */
1223 { 0x14, 0x0121411f }, /* HP */
1224 { 0x15, 0x411111f0 }, /* N/A */
1225 { 0x16, 0x411111f0 }, /* N/A */
1226 { 0x17, 0x411111f0 }, /* N/A */
1227 { 0x18, 0x90a60160 }, /* mic */
1228 { 0x19, 0x411111f0 }, /* N/A */
1229 { 0x1a, 0x411111f0 }, /* N/A */
1230 { 0x1b, 0x411111f0 }, /* N/A */
1231 { 0x1c, 0x411111f0 }, /* N/A */
1232 { 0x1d, 0x411111f0 }, /* N/A */
1233 { 0x1e, 0xb743111e }, /* SPDIF out */
1234 { }
1235 },
1236 .chained = true,
1237 .chain_id = ALC880_FIXUP_GPIO1,
1238 },
1218 [ALC880_FIXUP_3ST_BASE] = { 1239 [ALC880_FIXUP_3ST_BASE] = {
1219 .type = HDA_FIXUP_PINS, 1240 .type = HDA_FIXUP_PINS,
1220 .v.pins = (const struct hda_pintbl[]) { 1241 .v.pins = (const struct hda_pintbl[]) {
@@ -1336,6 +1357,7 @@ static const struct hda_fixup alc880_fixups[] = {
1336 1357
1337static const struct snd_pci_quirk alc880_fixup_tbl[] = { 1358static const struct snd_pci_quirk alc880_fixup_tbl[] = {
1338 SND_PCI_QUIRK(0x1019, 0x0f69, "Coeus G610P", ALC880_FIXUP_W810), 1359 SND_PCI_QUIRK(0x1019, 0x0f69, "Coeus G610P", ALC880_FIXUP_W810),
1360 SND_PCI_QUIRK(0x1043, 0x10c3, "ASUS W5A", ALC880_FIXUP_ASUS_W5A),
1339 SND_PCI_QUIRK(0x1043, 0x1964, "ASUS Z71V", ALC880_FIXUP_Z71V), 1361 SND_PCI_QUIRK(0x1043, 0x1964, "ASUS Z71V", ALC880_FIXUP_Z71V),
1340 SND_PCI_QUIRK_VENDOR(0x1043, "ASUS", ALC880_FIXUP_GPIO1), 1362 SND_PCI_QUIRK_VENDOR(0x1043, "ASUS", ALC880_FIXUP_GPIO1),
1341 SND_PCI_QUIRK(0x1558, 0x5401, "Clevo GPIO2", ALC880_FIXUP_GPIO2), 1363 SND_PCI_QUIRK(0x1558, 0x5401, "Clevo GPIO2", ALC880_FIXUP_GPIO2),