[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