From ca7cfae9eb91c012ac448dc6816ded6285f6f39a Mon Sep 17 00:00:00 2001 From: Marc Boucher 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 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela --- 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); };