ALSA: hda - Add support of new codec ALC284
Added the support for a new codec ALC284, which is compatible with ALC269. Also add more codec variants to handle the SSID check properly. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
e8e7da23c9
commit
065380f088
|
@ -5817,6 +5817,9 @@ enum {
|
|||
ALC269_TYPE_ALC269VB,
|
||||
ALC269_TYPE_ALC269VC,
|
||||
ALC269_TYPE_ALC269VD,
|
||||
ALC269_TYPE_ALC280,
|
||||
ALC269_TYPE_ALC282,
|
||||
ALC269_TYPE_ALC284,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -5833,10 +5836,13 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
|
|||
switch (spec->codec_variant) {
|
||||
case ALC269_TYPE_ALC269VA:
|
||||
case ALC269_TYPE_ALC269VC:
|
||||
case ALC269_TYPE_ALC280:
|
||||
case ALC269_TYPE_ALC284:
|
||||
ssids = alc269va_ssids;
|
||||
break;
|
||||
case ALC269_TYPE_ALC269VB:
|
||||
case ALC269_TYPE_ALC269VD:
|
||||
case ALC269_TYPE_ALC282:
|
||||
ssids = alc269_ssids;
|
||||
break;
|
||||
default:
|
||||
|
@ -6400,7 +6406,8 @@ static int patch_alc269(struct hda_codec *codec)
|
|||
|
||||
alc_auto_parse_customize_define(codec);
|
||||
|
||||
if (codec->vendor_id == 0x10ec0269) {
|
||||
switch (codec->vendor_id) {
|
||||
case 0x10ec0269:
|
||||
spec->codec_variant = ALC269_TYPE_ALC269VA;
|
||||
switch (alc_get_coef0(codec) & 0x00f0) {
|
||||
case 0x0010:
|
||||
|
@ -6425,6 +6432,20 @@ static int patch_alc269(struct hda_codec *codec)
|
|||
goto error;
|
||||
spec->init_hook = alc269_fill_coef;
|
||||
alc269_fill_coef(codec);
|
||||
break;
|
||||
|
||||
case 0x10ec0280:
|
||||
case 0x10ec0290:
|
||||
spec->codec_variant = ALC269_TYPE_ALC280;
|
||||
break;
|
||||
case 0x10ec0282:
|
||||
case 0x10ec0283:
|
||||
spec->codec_variant = ALC269_TYPE_ALC282;
|
||||
break;
|
||||
case 0x10ec0284:
|
||||
case 0x10ec0292:
|
||||
spec->codec_variant = ALC269_TYPE_ALC284;
|
||||
break;
|
||||
}
|
||||
|
||||
/* automatic parse from the BIOS config */
|
||||
|
@ -7129,6 +7150,7 @@ static const struct hda_codec_preset snd_hda_preset_realtek[] = {
|
|||
{ .id = 0x10ec0280, .name = "ALC280", .patch = patch_alc269 },
|
||||
{ .id = 0x10ec0282, .name = "ALC282", .patch = patch_alc269 },
|
||||
{ .id = 0x10ec0283, .name = "ALC283", .patch = patch_alc269 },
|
||||
{ .id = 0x10ec0284, .name = "ALC284", .patch = patch_alc269 },
|
||||
{ .id = 0x10ec0290, .name = "ALC290", .patch = patch_alc269 },
|
||||
{ .id = 0x10ec0292, .name = "ALC292", .patch = patch_alc269 },
|
||||
{ .id = 0x10ec0861, .rev = 0x100340, .name = "ALC660",
|
||||
|
|
Loading…
Reference in New Issue