summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKailang Yang <kailang@realtek.com>2011-05-18 13:51:15 +0400
committerTakashi Iwai <tiwai@suse.de>2011-05-18 13:52:05 +0400
commitb478b998447d3eb95e03beab1ad132e3e6bc74d2 (patch)
treee600a40647383595e0153aca029ef0e5cac57e1e
parent20c304ed84e05a91b2acae36d428d621d3c1d1c6 (diff)
downloadlinux-b478b998447d3eb95e03beab1ad132e3e6bc74d2.tar.xz
ALSA: hda - Add support of ALC898/899 codec
These are compatible with ALC882 codec. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_realtek.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index cee89b1ef393..fbf2d437e8c4 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -19610,6 +19610,15 @@ static int patch_alc888(struct hda_codec *codec)
return patch_alc882(codec);
}
+static int patch_alc899(struct hda_codec *codec)
+{
+ if ((alc_read_coef_idx(codec, 0) & 0x2000) != 0x2000) {
+ kfree(codec->chip_name);
+ codec->chip_name = kstrdup("ALC898", GFP_KERNEL);
+ }
+ return patch_alc882(codec);
+}
+
/*
* ALC680 support
*/
@@ -20097,6 +20106,7 @@ static const struct hda_codec_preset snd_hda_preset_realtek[] = {
{ .id = 0x10ec0888, .name = "ALC888", .patch = patch_alc888 },
{ .id = 0x10ec0889, .name = "ALC889", .patch = patch_alc882 },
{ .id = 0x10ec0892, .name = "ALC892", .patch = patch_alc662 },
+ { .id = 0x10ec0899, .name = "ALC899", .patch = patch_alc899 },
{} /* terminator */
};