Message ID | 1479888338-5085-1-git-send-email-hui.wang@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, 23 Nov 2016 09:05:37 +0100, Hui Wang wrote: > > 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@vger.kernel.org> > Signed-off-by: Hui Wang <hui.wang@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. Right, this is a good step forward. > If this patch introduce some problem, we just need to revert this > patch. I don't think there will be so much, but let's see. In anyway, I queued your two patches now. Thanks. Takashi > 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 >
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;
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@vger.kernel.org> Signed-off-by: Hui Wang <hui.wang@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(-)