[alsa-devel] [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations

Hui Wang hui.wang at canonical.com
Wed Nov 23 09:05:37 CET 2016


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: <stable at vger.kernel.org>
Signed-off-by: Hui Wang <hui.wang at canonical.com>
---
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



More information about the Alsa-devel mailing list