Commit 4231430d authored by Kailang Yang's avatar Kailang Yang Committed by Takashi Iwai

ALSA: hda/realtek - New codec support of ALC225

Add new support for ALC225, yet another variant of ALC298 codec.
Signed-off-by: default avatarKailang Yang <kailang@realtek.com>
Cc: <stable@vger.kernel.org> # 4.4+
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent f146357f
...@@ -327,6 +327,7 @@ static void alc_fill_eapd_coef(struct hda_codec *codec) ...@@ -327,6 +327,7 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)
case 0x10ec0292: case 0x10ec0292:
alc_update_coef_idx(codec, 0x4, 1<<15, 0); alc_update_coef_idx(codec, 0x4, 1<<15, 0);
break; break;
case 0x10ec0225:
case 0x10ec0233: case 0x10ec0233:
case 0x10ec0255: case 0x10ec0255:
case 0x10ec0256: case 0x10ec0256:
...@@ -900,6 +901,7 @@ static struct alc_codec_rename_pci_table rename_pci_tbl[] = { ...@@ -900,6 +901,7 @@ static struct alc_codec_rename_pci_table rename_pci_tbl[] = {
{ 0x10ec0899, 0x1028, 0, "ALC3861" }, { 0x10ec0899, 0x1028, 0, "ALC3861" },
{ 0x10ec0298, 0x1028, 0, "ALC3266" }, { 0x10ec0298, 0x1028, 0, "ALC3266" },
{ 0x10ec0256, 0x1028, 0, "ALC3246" }, { 0x10ec0256, 0x1028, 0, "ALC3246" },
{ 0x10ec0225, 0x1028, 0, "ALC3253" },
{ 0x10ec0670, 0x1025, 0, "ALC669X" }, { 0x10ec0670, 0x1025, 0, "ALC669X" },
{ 0x10ec0676, 0x1025, 0, "ALC679X" }, { 0x10ec0676, 0x1025, 0, "ALC679X" },
{ 0x10ec0282, 0x1043, 0, "ALC3229" }, { 0x10ec0282, 0x1043, 0, "ALC3229" },
...@@ -2651,6 +2653,7 @@ enum { ...@@ -2651,6 +2653,7 @@ enum {
ALC269_TYPE_ALC298, ALC269_TYPE_ALC298,
ALC269_TYPE_ALC255, ALC269_TYPE_ALC255,
ALC269_TYPE_ALC256, ALC269_TYPE_ALC256,
ALC269_TYPE_ALC225,
}; };
/* /*
...@@ -2680,6 +2683,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec) ...@@ -2680,6 +2683,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
case ALC269_TYPE_ALC298: case ALC269_TYPE_ALC298:
case ALC269_TYPE_ALC255: case ALC269_TYPE_ALC255:
case ALC269_TYPE_ALC256: case ALC269_TYPE_ALC256:
case ALC269_TYPE_ALC225:
ssids = alc269_ssids; ssids = alc269_ssids;
break; break;
default: default:
...@@ -5906,6 +5910,9 @@ static int patch_alc269(struct hda_codec *codec) ...@@ -5906,6 +5910,9 @@ static int patch_alc269(struct hda_codec *codec)
spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */ spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */
alc_update_coef_idx(codec, 0x36, 1 << 13, 1 << 5); /* Switch pcbeep path to Line in path*/ alc_update_coef_idx(codec, 0x36, 1 << 13, 1 << 5); /* Switch pcbeep path to Line in path*/
break; break;
case 0x10ec0225:
spec->codec_variant = ALC269_TYPE_ALC225;
break;
} }
if (snd_hda_codec_read(codec, 0x51, 0, AC_VERB_PARAMETERS, 0) == 0x10ec5505) { if (snd_hda_codec_read(codec, 0x51, 0, AC_VERB_PARAMETERS, 0) == 0x10ec5505) {
...@@ -6796,6 +6803,7 @@ static int patch_alc680(struct hda_codec *codec) ...@@ -6796,6 +6803,7 @@ static int patch_alc680(struct hda_codec *codec)
*/ */
static const struct hda_device_id snd_hda_id_realtek[] = { static const struct hda_device_id snd_hda_id_realtek[] = {
HDA_CODEC_ENTRY(0x10ec0221, "ALC221", patch_alc269), HDA_CODEC_ENTRY(0x10ec0221, "ALC221", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0225, "ALC225", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269), HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0233, "ALC233", patch_alc269), HDA_CODEC_ENTRY(0x10ec0233, "ALC233", patch_alc269),
HDA_CODEC_ENTRY(0x10ec0235, "ALC233", patch_alc269), HDA_CODEC_ENTRY(0x10ec0235, "ALC233", patch_alc269),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment