diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-11-07 06:45:24 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-11-08 02:59:34 -0500 |
commit | 12837c983dc5ec56155b1e95a6fa9a74e4da381f (patch) | |
tree | 16c36ff5221f68539b1d6a4e87e29ecd4d44bc7a /sound | |
parent | ea4e7af1221237e7173ede198a817097d99e084b (diff) |
ALSA: hda/realtek - Convert ALC262 model=toshiba-rx1 to a fixup-list
Use the auto-parser for ALC262 model=toshiba-rx1 with the fixed pin-
configs. The BIOS table seems incorrect, so many pin entries are
overwritten to match with the former quirk.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/alc262_quirks.c | 46 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 13 |
2 files changed, 13 insertions, 46 deletions
diff --git a/sound/pci/hda/alc262_quirks.c b/sound/pci/hda/alc262_quirks.c index e53f49025f8b..ff7dc7e95ba3 100644 --- a/sound/pci/hda/alc262_quirks.c +++ b/sound/pci/hda/alc262_quirks.c | |||
@@ -16,7 +16,6 @@ enum { | |||
16 | ALC262_LENOVO_3000, | 16 | ALC262_LENOVO_3000, |
17 | ALC262_NEC, | 17 | ALC262_NEC, |
18 | ALC262_TOSHIBA_S06, | 18 | ALC262_TOSHIBA_S06, |
19 | ALC262_TOSHIBA_RX1, | ||
20 | ALC262_MODEL_LAST /* last tag */ | 19 | ALC262_MODEL_LAST /* last tag */ |
21 | }; | 20 | }; |
22 | 21 | ||
@@ -465,18 +464,6 @@ static const struct snd_kcontrol_new alc262_lenovo_3000_mixer[] = { | |||
465 | { } /* end */ | 464 | { } /* end */ |
466 | }; | 465 | }; |
467 | 466 | ||
468 | static const struct snd_kcontrol_new alc262_toshiba_rx1_mixer[] = { | ||
469 | HDA_BIND_VOL("Master Playback Volume", &alc262_fujitsu_bind_master_vol), | ||
470 | ALC262_HIPPO_MASTER_SWITCH, | ||
471 | HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), | ||
472 | HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), | ||
473 | HDA_CODEC_VOLUME("Mic Boost Volume", 0x18, 0, HDA_INPUT), | ||
474 | HDA_CODEC_VOLUME("Front Mic Playback Volume", 0x0b, 0x01, HDA_INPUT), | ||
475 | HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x01, HDA_INPUT), | ||
476 | HDA_CODEC_VOLUME("Front Mic Boost Volume", 0x19, 0, HDA_INPUT), | ||
477 | { } /* end */ | ||
478 | }; | ||
479 | |||
480 | /* additional init verbs for Benq laptops */ | 467 | /* additional init verbs for Benq laptops */ |
481 | static const struct hda_verb alc262_EAPD_verbs[] = { | 468 | static const struct hda_verb alc262_EAPD_verbs[] = { |
482 | {0x20, AC_VERB_SET_COEF_INDEX, 0x07}, | 469 | {0x20, AC_VERB_SET_COEF_INDEX, 0x07}, |
@@ -611,23 +598,6 @@ static const struct snd_kcontrol_new alc262_ultra_capture_mixer[] = { | |||
611 | { } /* end */ | 598 | { } /* end */ |
612 | }; | 599 | }; |
613 | 600 | ||
614 | static const struct hda_verb alc262_toshiba_rx1_unsol_verbs[] = { | ||
615 | |||
616 | {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, /* Front Speaker */ | ||
617 | {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | ||
618 | {0x14, AC_VERB_SET_CONNECT_SEL, 0x01}, | ||
619 | |||
620 | {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 }, /* MIC jack */ | ||
621 | {0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 }, /* Front MIC */ | ||
622 | {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) }, | ||
623 | {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) }, | ||
624 | |||
625 | {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP }, /* HP jack */ | ||
626 | {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, | ||
627 | {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC_HP_EVENT}, | ||
628 | {} | ||
629 | }; | ||
630 | |||
631 | /* | 601 | /* |
632 | * configuration and preset | 602 | * configuration and preset |
633 | */ | 603 | */ |
@@ -639,7 +609,6 @@ static const char * const alc262_models[ALC262_MODEL_LAST] = { | |||
639 | [ALC262_BENQ_ED8] = "benq", | 609 | [ALC262_BENQ_ED8] = "benq", |
640 | [ALC262_BENQ_T31] = "benq-t31", | 610 | [ALC262_BENQ_T31] = "benq-t31", |
641 | [ALC262_TOSHIBA_S06] = "toshiba-s06", | 611 | [ALC262_TOSHIBA_S06] = "toshiba-s06", |
642 | [ALC262_TOSHIBA_RX1] = "toshiba-rx1", | ||
643 | [ALC262_ULTRA] = "ultra", | 612 | [ALC262_ULTRA] = "ultra", |
644 | [ALC262_LENOVO_3000] = "lenovo-3000", | 613 | [ALC262_LENOVO_3000] = "lenovo-3000", |
645 | [ALC262_NEC] = "nec", | 614 | [ALC262_NEC] = "nec", |
@@ -649,8 +618,6 @@ static const char * const alc262_models[ALC262_MODEL_LAST] = { | |||
649 | static const struct snd_pci_quirk alc262_cfg_tbl[] = { | 618 | static const struct snd_pci_quirk alc262_cfg_tbl[] = { |
650 | SND_PCI_QUIRK(0x1002, 0x437b, "Hippo", ALC262_HIPPO), | 619 | SND_PCI_QUIRK(0x1002, 0x437b, "Hippo", ALC262_HIPPO), |
651 | SND_PCI_QUIRK(0x1033, 0x8895, "NEC Versa S9100", ALC262_NEC), | 620 | SND_PCI_QUIRK(0x1033, 0x8895, "NEC Versa S9100", ALC262_NEC), |
652 | SND_PCI_QUIRK(0x1179, 0x0001, "Toshiba dynabook SS RX1", | ||
653 | ALC262_TOSHIBA_RX1), | ||
654 | SND_PCI_QUIRK(0x1179, 0xff7b, "Toshiba S06", ALC262_TOSHIBA_S06), | 621 | SND_PCI_QUIRK(0x1179, 0xff7b, "Toshiba S06", ALC262_TOSHIBA_S06), |
655 | SND_PCI_QUIRK(0x10cf, 0x1397, "Fujitsu", ALC262_FUJITSU), | 622 | SND_PCI_QUIRK(0x10cf, 0x1397, "Fujitsu", ALC262_FUJITSU), |
656 | SND_PCI_QUIRK(0x10cf, 0x142d, "Fujitsu Lifebook E8410", ALC262_FUJITSU), | 623 | SND_PCI_QUIRK(0x10cf, 0x142d, "Fujitsu Lifebook E8410", ALC262_FUJITSU), |
@@ -799,18 +766,5 @@ static const struct alc_config_preset alc262_presets[] = { | |||
799 | .setup = alc262_toshiba_s06_setup, | 766 | .setup = alc262_toshiba_s06_setup, |
800 | .init_hook = alc_inithook, | 767 | .init_hook = alc_inithook, |
801 | }, | 768 | }, |
802 | [ALC262_TOSHIBA_RX1] = { | ||
803 | .mixers = { alc262_toshiba_rx1_mixer }, | ||
804 | .init_verbs = { alc262_init_verbs, alc262_toshiba_rx1_unsol_verbs }, | ||
805 | .num_dacs = ARRAY_SIZE(alc262_dac_nids), | ||
806 | .dac_nids = alc262_dac_nids, | ||
807 | .hp_nid = 0x03, | ||
808 | .num_channel_mode = ARRAY_SIZE(alc262_modes), | ||
809 | .channel_mode = alc262_modes, | ||
810 | .input_mux = &alc262_capture_source, | ||
811 | .unsol_event = alc_sku_unsol_event, | ||
812 | .setup = alc262_hippo_setup, | ||
813 | .init_hook = alc_inithook, | ||
814 | }, | ||
815 | }; | 769 | }; |
816 | 770 | ||
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 013a760e9955..6f344c90aa85 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -4342,6 +4342,7 @@ enum { | |||
4342 | ALC262_FIXUP_FSC_H270, | 4342 | ALC262_FIXUP_FSC_H270, |
4343 | ALC262_FIXUP_HP_Z200, | 4343 | ALC262_FIXUP_HP_Z200, |
4344 | ALC262_FIXUP_TYAN, | 4344 | ALC262_FIXUP_TYAN, |
4345 | ALC262_FIXUP_TOSHIBA_RX1, | ||
4345 | }; | 4346 | }; |
4346 | 4347 | ||
4347 | static const struct alc_fixup alc262_fixups[] = { | 4348 | static const struct alc_fixup alc262_fixups[] = { |
@@ -4368,11 +4369,23 @@ static const struct alc_fixup alc262_fixups[] = { | |||
4368 | { } | 4369 | { } |
4369 | } | 4370 | } |
4370 | }, | 4371 | }, |
4372 | [ALC262_FIXUP_TOSHIBA_RX1] = { | ||
4373 | .type = ALC_FIXUP_PINS, | ||
4374 | .v.pins = (const struct alc_pincfg[]) { | ||
4375 | { 0x14, 0x90170110 }, /* speaker */ | ||
4376 | { 0x15, 0x0421101f }, /* HP */ | ||
4377 | { 0x1a, 0x40f000f0 }, /* N/A */ | ||
4378 | { 0x1b, 0x40f000f0 }, /* N/A */ | ||
4379 | { 0x1e, 0x40f000f0 }, /* N/A */ | ||
4380 | } | ||
4381 | }, | ||
4371 | }; | 4382 | }; |
4372 | 4383 | ||
4373 | static const struct snd_pci_quirk alc262_fixup_tbl[] = { | 4384 | static const struct snd_pci_quirk alc262_fixup_tbl[] = { |
4374 | SND_PCI_QUIRK(0x103c, 0x170b, "HP Z200", ALC262_FIXUP_HP_Z200), | 4385 | SND_PCI_QUIRK(0x103c, 0x170b, "HP Z200", ALC262_FIXUP_HP_Z200), |
4375 | SND_PCI_QUIRK(0x10f1, 0x2915, "Tyan Thunder n6650W", ALC262_FIXUP_TYAN), | 4386 | SND_PCI_QUIRK(0x10f1, 0x2915, "Tyan Thunder n6650W", ALC262_FIXUP_TYAN), |
4387 | SND_PCI_QUIRK(0x1179, 0x0001, "Toshiba dynabook SS RX1", | ||
4388 | ALC262_FIXUP_TOSHIBA_RX1), | ||
4376 | SND_PCI_QUIRK(0x1734, 0x1147, "FSC Celsius H270", ALC262_FIXUP_FSC_H270), | 4389 | SND_PCI_QUIRK(0x1734, 0x1147, "FSC Celsius H270", ALC262_FIXUP_FSC_H270), |
4377 | {} | 4390 | {} |
4378 | }; | 4391 | }; |