ALSA: hda - drop def association and sequence from pinconf comparing
authorHui Wang <hui.wang@canonical.com>
Mon, 26 May 2014 08:22:43 +0000 (16:22 +0800)
committerTakashi Iwai <tiwai@suse.de>
Mon, 26 May 2014 09:05:55 +0000 (11:05 +0200)
A lot a machine have the same codec, but they have different default
pinconf setting just because the def association and sequence is
different, as a result they can't share a hda_pintbl[], to overcome
it, we don't compare def association and sequence in the pinconf
matching.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_auto_parser.c

index b684c6e4f301253b39b1e2ed4a82ca4e059cce21..3cf913772e9ba75c2691aa4ff37e4cf6422325cd 100644 (file)
@@ -844,7 +844,8 @@ static bool pin_config_match(struct hda_codec *codec,
 {
        for (; pins->nid; pins++) {
                u32 def_conf = snd_hda_codec_get_pincfg(codec, pins->nid);
-               if (pins->val != def_conf)
+               u32 mask = 0xffffff00;
+               if ((pins->val & mask) != (def_conf & mask))
                        return false;
        }
        return true;