ALSA: hda/realtek - New codecs support for ALC215/ALC285/ALC289
authorKailang Yang <kailang@realtek.com>
Fri, 30 Jun 2017 08:00:48 +0000 (16:00 +0800)
committerTakashi Iwai <tiwai@suse.de>
Fri, 30 Jun 2017 08:59:29 +0000 (10:59 +0200)
Add new codecs support for ALC215 ALC285 ALC289.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_realtek.c

index 80c7c832d4428dbe6e87e5dc2120208908092fe1..c39bc497650cfe5116d5c4e8e01ac01dc99aa65f 100644 (file)
@@ -327,6 +327,7 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)
        case 0x10ec0292:
                alc_update_coef_idx(codec, 0x4, 1<<15, 0);
                break;
+       case 0x10ec0215:
        case 0x10ec0225:
        case 0x10ec0233:
        case 0x10ec0255:
@@ -335,8 +336,10 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)
        case 0x10ec0283:
        case 0x10ec0286:
        case 0x10ec0288:
+       case 0x10ec0285:
        case 0x10ec0295:
        case 0x10ec0298:
+       case 0x10ec0289:
        case 0x10ec0299:
                alc_update_coef_idx(codec, 0x10, 1<<9, 0);
                break;
@@ -2742,6 +2745,7 @@ enum {
        ALC269_TYPE_ALC298,
        ALC269_TYPE_ALC255,
        ALC269_TYPE_ALC256,
+       ALC269_TYPE_ALC215,
        ALC269_TYPE_ALC225,
        ALC269_TYPE_ALC294,
        ALC269_TYPE_ALC700,
@@ -2774,6 +2778,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec)
        case ALC269_TYPE_ALC298:
        case ALC269_TYPE_ALC255:
        case ALC269_TYPE_ALC256:
+       case ALC269_TYPE_ALC215:
        case ALC269_TYPE_ALC225:
        case ALC269_TYPE_ALC294:
        case ALC269_TYPE_ALC700:
@@ -6698,6 +6703,12 @@ static int patch_alc269(struct hda_codec *codec)
                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*/
                break;
+       case 0x10ec0215:
+       case 0x10ec0285:
+       case 0x10ec0289:
+               spec->codec_variant = ALC269_TYPE_ALC215;
+               spec->gen.mixer_nid = 0;
+               break;
        case 0x10ec0225:
        case 0x10ec0295:
                spec->codec_variant = ALC269_TYPE_ALC225;
@@ -7728,6 +7739,7 @@ static int patch_alc680(struct hda_codec *codec)
  * patch entries
  */
 static const struct hda_device_id snd_hda_id_realtek[] = {
+       HDA_CODEC_ENTRY(0x10ec0215, "ALC215", patch_alc269),
        HDA_CODEC_ENTRY(0x10ec0221, "ALC221", patch_alc269),
        HDA_CODEC_ENTRY(0x10ec0225, "ALC225", patch_alc269),
        HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269),
@@ -7750,8 +7762,10 @@ static const struct hda_device_id snd_hda_id_realtek[] = {
        HDA_CODEC_ENTRY(0x10ec0282, "ALC282", patch_alc269),
        HDA_CODEC_ENTRY(0x10ec0283, "ALC283", patch_alc269),
        HDA_CODEC_ENTRY(0x10ec0284, "ALC284", patch_alc269),
+       HDA_CODEC_ENTRY(0x10ec0285, "ALC285", patch_alc269),
        HDA_CODEC_ENTRY(0x10ec0286, "ALC286", patch_alc269),
        HDA_CODEC_ENTRY(0x10ec0288, "ALC288", patch_alc269),
+       HDA_CODEC_ENTRY(0x10ec0289, "ALC289", patch_alc269),
        HDA_CODEC_ENTRY(0x10ec0290, "ALC290", patch_alc269),
        HDA_CODEC_ENTRY(0x10ec0292, "ALC292", patch_alc269),
        HDA_CODEC_ENTRY(0x10ec0293, "ALC293", patch_alc269),