提交 304dcaac 编写于 作者: T Takashi Iwai 提交者: Jaroslav Kysela

[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: NTakashi Iwai <tiwai@suse.de>
Signed-off-by: NJaroslav Kysela <perex@suse.cz>
上级 6d177ba7
...@@ -799,6 +799,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. ...@@ -799,6 +799,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
ALC262 ALC262
fujitsu Fujitsu Laptop fujitsu Fujitsu Laptop
hp-bpc HP xw4400/6400/8400/9400 laptops hp-bpc HP xw4400/6400/8400/9400 laptops
benq Benq ED8
basic fixed pin assignment w/o SPDIF basic fixed pin assignment w/o SPDIF
auto auto-config reading BIOS (default) auto auto-config reading BIOS (default)
......
...@@ -79,6 +79,7 @@ enum { ...@@ -79,6 +79,7 @@ enum {
ALC262_BASIC, ALC262_BASIC,
ALC262_FUJITSU, ALC262_FUJITSU,
ALC262_HP_BPC, ALC262_HP_BPC,
ALC262_BENQ_ED8,
ALC262_AUTO, ALC262_AUTO,
ALC262_MODEL_LAST /* last tag */ ALC262_MODEL_LAST /* last tag */
}; };
...@@ -5504,6 +5505,13 @@ static struct snd_kcontrol_new alc262_fujitsu_mixer[] = { ...@@ -5504,6 +5505,13 @@ static struct snd_kcontrol_new alc262_fujitsu_mixer[] = {
{ } /* end */ { } /* end */
}; };
/* additional init verbs for Benq laptops */
static struct hda_verb alc262_EAPD_verbs[] = {
{0x20, AC_VERB_SET_COEF_INDEX, 0x07},
{0x20, AC_VERB_SET_PROC_COEF, 0x3070},
{}
};
/* add playback controls from the parsed DAC table */ /* add playback controls from the parsed DAC table */
static int alc262_auto_create_multi_out_ctls(struct alc_spec *spec, const struct auto_pin_cfg *cfg) static int alc262_auto_create_multi_out_ctls(struct alc_spec *spec, const struct auto_pin_cfg *cfg)
{ {
...@@ -5783,6 +5791,9 @@ static struct hda_board_config alc262_cfg_tbl[] = { ...@@ -5783,6 +5791,9 @@ static struct hda_board_config alc262_cfg_tbl[] = {
.config = ALC262_HP_BPC }, /* xw8400 */ .config = ALC262_HP_BPC }, /* xw8400 */
{ .pci_subvendor = 0x103c, .pci_subdevice = 0x12fe, { .pci_subvendor = 0x103c, .pci_subdevice = 0x12fe,
.config = ALC262_HP_BPC }, /* xw9400 */ .config = ALC262_HP_BPC }, /* xw9400 */
{ .modelname = "benq", .config = ALC262_BENQ_ED8 },
{ .pci_subvendor = 0x17ff, .pci_subdevice = 0x0560,
.config = ALC262_BENQ_ED8 },
{ .modelname = "auto", .config = ALC262_AUTO }, { .modelname = "auto", .config = ALC262_AUTO },
{} {}
}; };
...@@ -5820,6 +5831,16 @@ static struct alc_config_preset alc262_presets[] = { ...@@ -5820,6 +5831,16 @@ static struct alc_config_preset alc262_presets[] = {
.channel_mode = alc262_modes, .channel_mode = alc262_modes,
.input_mux = &alc262_HP_capture_source, .input_mux = &alc262_HP_capture_source,
}, },
[ALC262_BENQ_ED8] = {
.mixers = { alc262_base_mixer },
.init_verbs = { alc262_init_verbs, alc262_EAPD_verbs },
.num_dacs = ARRAY_SIZE(alc262_dac_nids),
.dac_nids = alc262_dac_nids,
.hp_nid = 0x03,
.num_channel_mode = ARRAY_SIZE(alc262_modes),
.channel_mode = alc262_modes,
.input_mux = &alc262_capture_source,
},
}; };
static int patch_alc262(struct hda_codec *codec) static int patch_alc262(struct hda_codec *codec)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册