aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorLydia Wang <lydiawang@viatech.com.cn>2009-10-20 01:18:04 -0400
committerTakashi Iwai <tiwai@suse.de>2009-10-30 07:08:18 -0400
commit36dd5c4afff825fca1b6ccde678f51d6933a6850 (patch)
tree075127d850cff4eb047f4fdaa31fd550b47043ac /sound/pci
parentfd080b2d8a6a13992b4b1b6300e1befdb9e089f2 (diff)
ALSA: VIA HDA: Add support for VT1818S.
Add support for VT1818S codec, which is similiar with VT1708S. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_via.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index 89e084d45369..5ec0e39593b5 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -41,6 +41,7 @@
41/* 2009-04-14 Lydai Wang Add support for VT1828S and VT2020 */ 41/* 2009-04-14 Lydai Wang Add support for VT1828S and VT2020 */
42/* 2009-07-08 Lydia Wang Add support for VT2002P */ 42/* 2009-07-08 Lydia Wang Add support for VT2002P */
43/* 2009-07-21 Lydia Wang Add support for VT1812 */ 43/* 2009-07-21 Lydia Wang Add support for VT1812 */
44/* 2009-09-19 Lydia Wang Add support for VT1818S */
44/* */ 45/* */
45/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 46/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
46 47
@@ -195,6 +196,8 @@ static enum VIA_HDA_CODEC get_codec_type(struct hda_codec *codec)
195 codec_type = VT2002P; 196 codec_type = VT2002P;
196 else if (dev_id == 0x0448) 197 else if (dev_id == 0x0448)
197 codec_type = VT1812; 198 codec_type = VT1812;
199 else if (dev_id == 0x0440)
200 codec_type = VT1708S;
198 else 201 else
199 codec_type = UNKNOWN; 202 codec_type = UNKNOWN;
200 return codec_type; 203 return codec_type;
@@ -4130,11 +4133,17 @@ static int patch_vt1708S(struct hda_codec *codec)
4130 spec->init_verbs[spec->num_iverbs++] = vt1708S_volume_init_verbs; 4133 spec->init_verbs[spec->num_iverbs++] = vt1708S_volume_init_verbs;
4131 spec->init_verbs[spec->num_iverbs++] = vt1708S_uniwill_init_verbs; 4134 spec->init_verbs[spec->num_iverbs++] = vt1708S_uniwill_init_verbs;
4132 4135
4133 spec->stream_name_analog = "VT1708S Analog"; 4136 if (codec->vendor_id == 0x11060440)
4137 spec->stream_name_analog = "VT1818S Analog";
4138 else
4139 spec->stream_name_analog = "VT1708S Analog";
4134 spec->stream_analog_playback = &vt1708S_pcm_analog_playback; 4140 spec->stream_analog_playback = &vt1708S_pcm_analog_playback;
4135 spec->stream_analog_capture = &vt1708S_pcm_analog_capture; 4141 spec->stream_analog_capture = &vt1708S_pcm_analog_capture;
4136 4142
4137 spec->stream_name_digital = "VT1708S Digital"; 4143 if (codec->vendor_id == 0x11060440)
4144 spec->stream_name_digital = "VT1818S Digital";
4145 else
4146 spec->stream_name_digital = "VT1708S Digital";
4138 spec->stream_digital_playback = &vt1708S_pcm_digital_playback; 4147 spec->stream_digital_playback = &vt1708S_pcm_digital_playback;
4139 4148
4140 if (!spec->adc_nids && spec->input_mux) { 4149 if (!spec->adc_nids && spec->input_mux) {
@@ -6231,6 +6240,8 @@ static struct hda_codec_preset snd_hda_preset_via[] = {
6231 { .id = 0x11060438, .name = "VT2002P", .patch = patch_vt2002P}, 6240 { .id = 0x11060438, .name = "VT2002P", .patch = patch_vt2002P},
6232 { .id = 0x11064438, .name = "VT2002P", .patch = patch_vt2002P}, 6241 { .id = 0x11064438, .name = "VT2002P", .patch = patch_vt2002P},
6233 { .id = 0x11060448, .name = "VT1812", .patch = patch_vt1812}, 6242 { .id = 0x11060448, .name = "VT1812", .patch = patch_vt1812},
6243 { .id = 0x11060440, .name = "VT1818S",
6244 .patch = patch_vt1708S},
6234 {} /* terminator */ 6245 {} /* terminator */
6235}; 6246};
6236 6247