diff options
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index daf4f64f2c24..7960316d767c 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
| @@ -346,6 +346,9 @@ static void alc_fill_eapd_coef(struct hda_codec *codec) | |||
| 346 | case 0x10ec0234: | 346 | case 0x10ec0234: |
| 347 | case 0x10ec0274: | 347 | case 0x10ec0274: |
| 348 | case 0x10ec0294: | 348 | case 0x10ec0294: |
| 349 | case 0x10ec0700: | ||
| 350 | case 0x10ec0701: | ||
| 351 | case 0x10ec0703: | ||
| 349 | alc_update_coef_idx(codec, 0x10, 1<<15, 0); | 352 | alc_update_coef_idx(codec, 0x10, 1<<15, 0); |
| 350 | break; | 353 | break; |
| 351 | case 0x10ec0662: | 354 | case 0x10ec0662: |
| @@ -2655,6 +2658,7 @@ enum { | |||
| 2655 | ALC269_TYPE_ALC256, | 2658 | ALC269_TYPE_ALC256, |
| 2656 | ALC269_TYPE_ALC225, | 2659 | ALC269_TYPE_ALC225, |
| 2657 | ALC269_TYPE_ALC294, | 2660 | ALC269_TYPE_ALC294, |
| 2661 | ALC269_TYPE_ALC700, | ||
| 2658 | }; | 2662 | }; |
| 2659 | 2663 | ||
| 2660 | /* | 2664 | /* |
| @@ -2686,6 +2690,7 @@ static int alc269_parse_auto_config(struct hda_codec *codec) | |||
| 2686 | case ALC269_TYPE_ALC256: | 2690 | case ALC269_TYPE_ALC256: |
| 2687 | case ALC269_TYPE_ALC225: | 2691 | case ALC269_TYPE_ALC225: |
| 2688 | case ALC269_TYPE_ALC294: | 2692 | case ALC269_TYPE_ALC294: |
| 2693 | case ALC269_TYPE_ALC700: | ||
| 2689 | ssids = alc269_ssids; | 2694 | ssids = alc269_ssids; |
| 2690 | break; | 2695 | break; |
| 2691 | default: | 2696 | default: |
| @@ -6095,6 +6100,14 @@ static int patch_alc269(struct hda_codec *codec) | |||
| 6095 | case 0x10ec0294: | 6100 | case 0x10ec0294: |
| 6096 | spec->codec_variant = ALC269_TYPE_ALC294; | 6101 | spec->codec_variant = ALC269_TYPE_ALC294; |
| 6097 | break; | 6102 | break; |
| 6103 | case 0x10ec0700: | ||
| 6104 | case 0x10ec0701: | ||
| 6105 | case 0x10ec0703: | ||
| 6106 | spec->codec_variant = ALC269_TYPE_ALC700; | ||
| 6107 | spec->gen.mixer_nid = 0; /* ALC700 does not have any loopback mixer path */ | ||
| 6108 | alc_update_coef_idx(codec, 0x4a, 0, 1 << 15); /* Combo jack auto trigger control */ | ||
| 6109 | break; | ||
| 6110 | |||
| 6098 | } | 6111 | } |
| 6099 | 6112 | ||
| 6100 | if (snd_hda_codec_read(codec, 0x51, 0, AC_VERB_PARAMETERS, 0) == 0x10ec5505) { | 6113 | if (snd_hda_codec_read(codec, 0x51, 0, AC_VERB_PARAMETERS, 0) == 0x10ec5505) { |
| @@ -7050,6 +7063,9 @@ static const struct hda_device_id snd_hda_id_realtek[] = { | |||
| 7050 | HDA_CODEC_ENTRY(0x10ec0670, "ALC670", patch_alc662), | 7063 | HDA_CODEC_ENTRY(0x10ec0670, "ALC670", patch_alc662), |
| 7051 | HDA_CODEC_ENTRY(0x10ec0671, "ALC671", patch_alc662), | 7064 | HDA_CODEC_ENTRY(0x10ec0671, "ALC671", patch_alc662), |
| 7052 | HDA_CODEC_ENTRY(0x10ec0680, "ALC680", patch_alc680), | 7065 | HDA_CODEC_ENTRY(0x10ec0680, "ALC680", patch_alc680), |
| 7066 | HDA_CODEC_ENTRY(0x10ec0700, "ALC700", patch_alc269), | ||
| 7067 | HDA_CODEC_ENTRY(0x10ec0701, "ALC701", patch_alc269), | ||
| 7068 | HDA_CODEC_ENTRY(0x10ec0703, "ALC703", patch_alc269), | ||
| 7053 | HDA_CODEC_ENTRY(0x10ec0867, "ALC891", patch_alc882), | 7069 | HDA_CODEC_ENTRY(0x10ec0867, "ALC891", patch_alc882), |
| 7054 | HDA_CODEC_ENTRY(0x10ec0880, "ALC880", patch_alc880), | 7070 | HDA_CODEC_ENTRY(0x10ec0880, "ALC880", patch_alc880), |
| 7055 | HDA_CODEC_ENTRY(0x10ec0882, "ALC882", patch_alc882), | 7071 | HDA_CODEC_ENTRY(0x10ec0882, "ALC882", patch_alc882), |
