Browse Source

ALSA: hda - ALC888S-VC remark to ALC886

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Kailang Yang 13 years ago
parent
commit
801f49d3b8
1 changed files with 17 additions and 1 deletions
  1. 17 1
      sound/pci/hda/patch_realtek.c

+ 17 - 1
sound/pci/hda/patch_realtek.c

@@ -5671,7 +5671,11 @@ static int patch_alc662(struct hda_codec *codec)
 
 static int patch_alc888(struct hda_codec *codec)
 {
-	if ((alc_read_coef_idx(codec, 0) & 0x00f0)==0x0030){
+	int coef;
+
+	coef = alc_read_coef_idx(codec, 0);
+	/* For ALC887-VD ALC888S-VD */
+	if ((coef & 0x00f0) == 0x0030) {
 		kfree(codec->chip_name);
 		if (codec->vendor_id == 0x10ec0887)
 			codec->chip_name = kstrdup("ALC887-VD", GFP_KERNEL);
@@ -5683,6 +5687,18 @@ static int patch_alc888(struct hda_codec *codec)
 		}
 		return patch_alc662(codec);
 	}
+
+	/* For ALC888S-VC */
+	if (codec->vendor_id == 0x10ec0888) {
+		if ((coef & 0xf0f0) == 0x3020) {
+			kfree(codec->chip_name);
+			codec->chip_name = kstrdup("ALC886", GFP_KERNEL);
+			if (!codec->chip_name) {
+				alc_free(codec);
+				return -ENOMEM;
+			}
+		}
+	}
 	return patch_alc882(codec);
 }