Browse Source

[ALSA] Fix/add support of Realtek ALC883 / ALC888 and ALC861 codecs

Patch from Realtek:
- Fix ALC883 support code
- Add support of ALC888 codec
- Add ALC660 support (ALC861-compatible)
- Add HP xw4400/6400/8400/9400 support (model=hp-bpc)
- Code clean-up: fix spaces and indentation

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai 19 years ago
parent
commit
9c7f852e8b
3 changed files with 870 additions and 121 deletions
  1. 8 2
      Documentation/sound/alsa/ALSA-Configuration.txt
  2. 3 1
      sound/pci/hda/hda_codec.c
  3. 859 118
      sound/pci/hda/patch_realtek.c

+ 8 - 2
Documentation/sound/alsa/ALSA-Configuration.txt

@@ -800,12 +800,18 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
 	  basic		fixed pin assignment w/o SPDIF
 	  auto		auto-config reading BIOS (default)
 
-	ALC882/883/885
+	ALC882/885
 	  3stack-dig	3-jack with SPDIF I/O
 	  6stck-dig	6-jack digital with SPDIF I/O
 	  auto		auto-config reading BIOS (default)
 
-	ALC861
+	ALC883/888
+	  3stack-dig	3-jack with SPDIF I/O
+	  6stack-dig	6-jack digital with SPDIF I/O
+	  6stack-dig-demo  6-stack digital for Intel demo board
+	  auto		auto-config reading BIOS (default)
+
+	ALC861/660
 	  3stack	3-jack
 	  3stack-dig	3-jack with SPDIF I/O
 	  6stack-dig	6-jack with SPDIF I/O

+ 3 - 1
sound/pci/hda/hda_codec.c

@@ -408,7 +408,9 @@ static const struct hda_codec_preset *find_codec_preset(struct hda_codec *codec)
 			u32 mask = preset->mask;
 			if (! mask)
 				mask = ~0;
-			if (preset->id == (codec->vendor_id & mask))
+			if (preset->id == (codec->vendor_id & mask) &&
+			    (! preset->rev ||
+			     preset->rev == codec->revision_id))
 				return preset;
 		}
 	}

File diff suppressed because it is too large
+ 859 - 118
sound/pci/hda/patch_realtek.c


Some files were not shown because too many files changed in this diff