Commit 9395b857 authored by Hui Wang's avatar Hui Wang Committed by Luis Henriques

ALSA: hda - ignore the assoc and seq when comparing pin configurations

BugLink: http://bugs.launchpad.net/bugs/1654602

commit 64047d7f upstream.

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.
Signed-off-by: default avatarHui Wang <hui.wang@canonical.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarTim Gardner <tim.gardner@canonical.com>
Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
parent 9b73b76d
...@@ -901,7 +901,7 @@ static bool pin_config_match(struct hda_codec *codec, ...@@ -901,7 +901,7 @@ static bool pin_config_match(struct hda_codec *codec,
for (; t_pins->nid; t_pins++) { for (; t_pins->nid; t_pins++) {
if (t_pins->nid == nid) { if (t_pins->nid == nid) {
found = 1; found = 1;
if (t_pins->val == cfg) if ((t_pins->val & 0xfffffff0) == (cfg & 0xfffffff0))
break; break;
else if ((cfg & 0xf0000000) == 0x40000000 && (t_pins->val & 0xf0000000) == 0x40000000) else if ((cfg & 0xf0000000) == 0x40000000 && (t_pins->val & 0xf0000000) == 0x40000000)
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment