Commit 411225a01e57189b4116d5c61c0d64bd4b76e602

Authored by Takashi Iwai
1 parent 96e225f692

ALSA: hda/realtek - Rewrite ALC880 model=asus-w1v with auto-parser

ASUS W1V has a sane pin-config table set by BIOS.  The only missing piece
is the setup of GPIO1.

Signed-off-by: Takashi Iwai <tiwai@suse.de>

Showing 3 changed files with 6 additions and 32 deletions Side-by-side Diff

Documentation/sound/alsa/HD-Audio-Models.txt
... ... @@ -9,7 +9,6 @@
9 9 6stack 6-jack in back, 2-jack in front
10 10 6stack-digout 6-jack with a SPDIF out
11 11 asus 3-jack (ASUS Mobo)
12   - asus-w1v ASUS W1V
13 12 asus-dig ASUS with SPDIF out
14 13 asus-dig2 ASUS with SPDIF out (using GPIO2)
15 14 test for testing/debugging purpose, almost all controls can be
sound/pci/hda/alc880_quirks.c
... ... @@ -14,7 +14,6 @@
14 14 ALC880_6ST_DIG,
15 15 ALC880_ASUS,
16 16 ALC880_ASUS_DIG,
17   - ALC880_ASUS_W1V,
18 17 ALC880_ASUS_DIG2,
19 18 #ifdef CONFIG_SND_DEBUG
20 19 ALC880_TEST,
... ... @@ -264,21 +263,6 @@
264 263 };
265 264  
266 265 /*
267   - * ALC880 ASUS W1V model
268   - *
269   - * DAC: HP/Front = 0x02 (0x0c), Surr = 0x03 (0x0d), CLFE = 0x04 (0x0e)
270   - * Pin assignment: HP/Front = 0x14, Surr = 0x15, CLFE = 0x16,
271   - * Mic = 0x18, Line = 0x1a, Line2 = 0x1b
272   - */
273   -
274   -/* additional mixers to alc880_asus_mixer */
275   -static const struct snd_kcontrol_new alc880_asus_w1v_mixer[] = {
276   - HDA_CODEC_VOLUME("Line2 Playback Volume", 0x0b, 0x03, HDA_INPUT),
277   - HDA_CODEC_MUTE("Line2 Playback Switch", 0x0b, 0x03, HDA_INPUT),
278   - { } /* end */
279   -};
280   -
281   -/*
282 266 * initialize the codec volumes, etc
283 267 */
284 268  
... ... @@ -761,7 +745,6 @@
761 745 [ALC880_6ST] = "6stack",
762 746 [ALC880_6ST_DIG] = "6stack-digout",
763 747 [ALC880_ASUS] = "asus",
764   - [ALC880_ASUS_W1V] = "asus-w1v",
765 748 [ALC880_ASUS_DIG] = "asus-dig",
766 749 [ALC880_ASUS_DIG2] = "asus-dig2",
767 750 #ifdef CONFIG_SND_DEBUG
... ... @@ -780,7 +763,6 @@
780 763 SND_PCI_QUIRK(0x1025, 0xe309, "ULI", ALC880_3ST_DIG),
781 764 SND_PCI_QUIRK(0x1025, 0xe310, "ULI", ALC880_3ST),
782 765 SND_PCI_QUIRK(0x1039, 0x1234, NULL, ALC880_6ST_DIG),
783   - SND_PCI_QUIRK(0x1043, 0x10b3, "ASUS W1V", ALC880_ASUS_W1V),
784 766 SND_PCI_QUIRK(0x1043, 0x10c2, "ASUS W6A", ALC880_ASUS_DIG),
785 767 SND_PCI_QUIRK(0x1043, 0x10c3, "ASUS Wxx", ALC880_ASUS_DIG),
786 768 SND_PCI_QUIRK(0x1043, 0x1113, "ASUS", ALC880_ASUS_DIG),
... ... @@ -927,19 +909,6 @@
927 909 .init_verbs = { alc880_volume_init_verbs,
928 910 alc880_pin_asus_init_verbs,
929 911 alc880_gpio2_init_verbs }, /* use GPIO2 */
930   - .num_dacs = ARRAY_SIZE(alc880_asus_dac_nids),
931   - .dac_nids = alc880_asus_dac_nids,
932   - .dig_out_nid = ALC880_DIGOUT_NID,
933   - .num_channel_mode = ARRAY_SIZE(alc880_asus_modes),
934   - .channel_mode = alc880_asus_modes,
935   - .need_dac_fix = 1,
936   - .input_mux = &alc880_capture_source,
937   - },
938   - [ALC880_ASUS_W1V] = {
939   - .mixers = { alc880_asus_mixer, alc880_asus_w1v_mixer },
940   - .init_verbs = { alc880_volume_init_verbs,
941   - alc880_pin_asus_init_verbs,
942   - alc880_gpio1_init_verbs },
943 912 .num_dacs = ARRAY_SIZE(alc880_asus_dac_nids),
944 913 .dac_nids = alc880_asus_dac_nids,
945 914 .dig_out_nid = ALC880_DIGOUT_NID,
sound/pci/hda/patch_realtek.c
... ... @@ -4438,6 +4438,7 @@
4438 4438 * ALC880 fix-ups
4439 4439 */
4440 4440 enum {
  4441 + ALC880_FIXUP_GPIO1,
4441 4442 ALC880_FIXUP_GPIO2,
4442 4443 ALC880_FIXUP_MEDION_RIM,
4443 4444 ALC880_FIXUP_LG,
... ... @@ -4461,6 +4462,10 @@
4461 4462 }
4462 4463  
4463 4464 static const struct alc_fixup alc880_fixups[] = {
  4465 + [ALC880_FIXUP_GPIO1] = {
  4466 + .type = ALC_FIXUP_VERBS,
  4467 + .v.verbs = alc_gpio1_init_verbs,
  4468 + },
4464 4469 [ALC880_FIXUP_GPIO2] = {
4465 4470 .type = ALC_FIXUP_VERBS,
4466 4471 .v.verbs = alc_gpio2_init_verbs,
... ... @@ -4602,6 +4607,7 @@
4602 4607  
4603 4608 static const struct snd_pci_quirk alc880_fixup_tbl[] = {
4604 4609 SND_PCI_QUIRK(0x1019, 0x0f69, "Coeus G610P", ALC880_FIXUP_W810),
  4610 + SND_PCI_QUIRK(0x1043, 0x10b3, "ASUS W1V", ALC880_FIXUP_GPIO1),
4605 4611 SND_PCI_QUIRK(0x1043, 0x1964, "ASUS Z71V", ALC880_FIXUP_Z71V),
4606 4612 SND_PCI_QUIRK_VENDOR(0x1558, "Clevo", ALC880_FIXUP_EAPD_COEF),
4607 4613 SND_PCI_QUIRK(0x1584, 0x9050, "Uniwill", ALC880_FIXUP_UNIWILL_DIG),