diff options
author | Takashi Iwai <tiwai@suse.de> | 2006-07-25 08:51:16 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-09-23 04:38:50 -0400 |
commit | 304dcaac91f0d26543b31fd7e63726f096c826ee (patch) | |
tree | bb0aaafbfb87824773cce8f44ed29cc8e8d1eb1c /sound/pci | |
parent | 6d177ba7839dd7ed391c2f36b121eb09d1eaee4c (diff) |
[ALSA] Add support of Benq laptop with ALC262
Added the support of Benq laptop with ALC262 codec.
A model string 'benq' is added, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 51f76eef9353..42c4f90a92b8 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -79,6 +79,7 @@ enum { | |||
79 | ALC262_BASIC, | 79 | ALC262_BASIC, |
80 | ALC262_FUJITSU, | 80 | ALC262_FUJITSU, |
81 | ALC262_HP_BPC, | 81 | ALC262_HP_BPC, |
82 | ALC262_BENQ_ED8, | ||
82 | ALC262_AUTO, | 83 | ALC262_AUTO, |
83 | ALC262_MODEL_LAST /* last tag */ | 84 | ALC262_MODEL_LAST /* last tag */ |
84 | }; | 85 | }; |
@@ -5504,6 +5505,13 @@ static struct snd_kcontrol_new alc262_fujitsu_mixer[] = { | |||
5504 | { } /* end */ | 5505 | { } /* end */ |
5505 | }; | 5506 | }; |
5506 | 5507 | ||
5508 | /* additional init verbs for Benq laptops */ | ||
5509 | static struct hda_verb alc262_EAPD_verbs[] = { | ||
5510 | {0x20, AC_VERB_SET_COEF_INDEX, 0x07}, | ||
5511 | {0x20, AC_VERB_SET_PROC_COEF, 0x3070}, | ||
5512 | {} | ||
5513 | }; | ||
5514 | |||
5507 | /* add playback controls from the parsed DAC table */ | 5515 | /* add playback controls from the parsed DAC table */ |
5508 | static int alc262_auto_create_multi_out_ctls(struct alc_spec *spec, const struct auto_pin_cfg *cfg) | 5516 | static int alc262_auto_create_multi_out_ctls(struct alc_spec *spec, const struct auto_pin_cfg *cfg) |
5509 | { | 5517 | { |
@@ -5783,6 +5791,9 @@ static struct hda_board_config alc262_cfg_tbl[] = { | |||
5783 | .config = ALC262_HP_BPC }, /* xw8400 */ | 5791 | .config = ALC262_HP_BPC }, /* xw8400 */ |
5784 | { .pci_subvendor = 0x103c, .pci_subdevice = 0x12fe, | 5792 | { .pci_subvendor = 0x103c, .pci_subdevice = 0x12fe, |
5785 | .config = ALC262_HP_BPC }, /* xw9400 */ | 5793 | .config = ALC262_HP_BPC }, /* xw9400 */ |
5794 | { .modelname = "benq", .config = ALC262_BENQ_ED8 }, | ||
5795 | { .pci_subvendor = 0x17ff, .pci_subdevice = 0x0560, | ||
5796 | .config = ALC262_BENQ_ED8 }, | ||
5786 | { .modelname = "auto", .config = ALC262_AUTO }, | 5797 | { .modelname = "auto", .config = ALC262_AUTO }, |
5787 | {} | 5798 | {} |
5788 | }; | 5799 | }; |
@@ -5820,6 +5831,16 @@ static struct alc_config_preset alc262_presets[] = { | |||
5820 | .channel_mode = alc262_modes, | 5831 | .channel_mode = alc262_modes, |
5821 | .input_mux = &alc262_HP_capture_source, | 5832 | .input_mux = &alc262_HP_capture_source, |
5822 | }, | 5833 | }, |
5834 | [ALC262_BENQ_ED8] = { | ||
5835 | .mixers = { alc262_base_mixer }, | ||
5836 | .init_verbs = { alc262_init_verbs, alc262_EAPD_verbs }, | ||
5837 | .num_dacs = ARRAY_SIZE(alc262_dac_nids), | ||
5838 | .dac_nids = alc262_dac_nids, | ||
5839 | .hp_nid = 0x03, | ||
5840 | .num_channel_mode = ARRAY_SIZE(alc262_modes), | ||
5841 | .channel_mode = alc262_modes, | ||
5842 | .input_mux = &alc262_capture_source, | ||
5843 | }, | ||
5823 | }; | 5844 | }; |
5824 | 5845 | ||
5825 | static int patch_alc262(struct hda_codec *codec) | 5846 | static int patch_alc262(struct hda_codec *codec) |