[alsa-devel] [PATCH 1/2] ALSA: hda - ignore the assoc and seq when comparing pin configurations
Takashi Iwai
tiwai at suse.de
Thu Nov 24 11:39:02 CET 2016
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 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.
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
>
More information about the Alsa-devel
mailing list