From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hui Wang Subject: [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations Date: Wed, 23 Nov 2016 16:05:37 +0800 Message-ID: <1479888338-5085-1-git-send-email-hui.wang@canonical.com> Return-path: Sender: stable-owner@vger.kernel.org To: tiwai@suse.de, alsa-devel@alsa-project.org Cc: stable@vger.kernel.org, hui.wang@canonical.com List-Id: alsa-devel@alsa-project.org More and more pin configurations have been adding to the pin quirk table, lots of them are only different from assoc and seq, but they all apply to the same QUIRK_FIXUP, if we don't compare assoc and seq when matching pin configurations, it will greatly reduce the pin quirk table size. We have tested this change on a couple of Dell laptops, it worked well. Cc: Signed-off-by: Hui Wang --- No hurry to cleanup the existing pin quirk table, if this patch run well for a period of time, then I will do the cleanup little by little. If this patch introduce some problem, we just need to revert this patch. sound/pci/hda/hda_auto_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c index 7f57a14..4ad29f8 100644 --- a/sound/pci/hda/hda_auto_parser.c +++ b/sound/pci/hda/hda_auto_parser.c @@ -901,7 +901,7 @@ static bool pin_config_match(struct hda_codec *codec, for (; t_pins->nid; t_pins++) { if (t_pins->nid == nid) { found = 1; - if (t_pins->val == cfg) + if ((t_pins->val & 0xfffffff0) == (cfg & 0xfffffff0)) break; else if ((cfg & 0xf0000000) == 0x40000000 && (t_pins->val & 0xf0000000) == 0x40000000) break; -- 1.9.1