From ca7cfae9eb91c012ac448dc6816ded6285f6f39a Mon Sep 17 00:00:00 2001
From: Marc Boucher <marc@linuxant.com>
Date: Tue, 22 Jan 2008 15:32:25 +0100
Subject: [PATCH] [ALSA] hda-codec - Add afg and mfg preset mask

Added afg and mfg preset masks for more finer codec-preset selection.

Signed-off-by: Marc Boucher <marc@linuxant.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
 sound/pci/hda/hda_codec.c | 4 ++++
 sound/pci/hda/hda_codec.h | 1 +
 2 files changed, 5 insertions(+)

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 6b93f4511166..d4fd94805e7f 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -429,6 +429,10 @@ find_codec_preset(struct hda_codec *codec)
 	for (tbl = hda_preset_tables; *tbl; tbl++) {
 		for (preset = *tbl; preset->id; preset++) {
 			u32 mask = preset->mask;
+			if (preset->afg && preset->afg != codec->afg)
+				continue;
+			if (preset->mfg && preset->mfg != codec->mfg)
+				continue;
 			if (!mask)
 				mask = ~0;
 			if (preset->id == (codec->vendor_id & mask) &&
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
index eb4a2ae792e9..f14871151be9 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
@@ -523,6 +523,7 @@ struct hda_codec_preset {
 	unsigned int subs;
 	unsigned int subs_mask;
 	unsigned int rev;
+	hda_nid_t afg, mfg;
 	const char *name;
 	int (*patch)(struct hda_codec *codec);
 };
-- 
GitLab