diff options
author | Kailang Yang <kailang@realtek.com> | 2016-05-30 04:44:20 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2016-05-30 08:11:24 -0400 |
commit | 6fbae35a3170c3e2b1b9d7b9cc943cbe48771362 (patch) | |
tree | 86dd98e329e086bd2a5325634bf064fe06cd48d2 | |
parent | e69e7e03ed225abf3e1c43545aa3bcb68dc81d5f (diff) |
ALSA: hda/realtek - Add support for new codecs ALC700/ALC701/ALC703
Support new codecs for ALC700/ALC701/ALC703.
Signed-off-by: Kailang Yang <kailang@realtek.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-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), |