[alsa-devel] [PATCH 4/5] ALSA: hda - drop def association and sequence from pinconf comparing

Alex Hung alex.hung at canonical.com
Tue May 27 04:25:34 CEST 2014


Hi David,

BIOS today implements verbtable which is provided by codec vendor
based on hardware design, and it is indeed not uncommon that the
verbtable includes used pin only and leaves unused pins untouched.

On Mon, May 26, 2014 at 6:11 PM, David Henningsson
<david.henningsson at canonical.com> wrote:
> (Add Alex Hung to CC)
>
> On 2014-05-26 10:22, Hui Wang wrote:
>>
>> 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.
>
>
> Uhm, really? Alex, does this seem reasonable from a BIOS perspective, i e,
> that BIOS people normally would set def association and sequence different
> while leaving everything else unchanged?
>
>>
>> Signed-off-by: Hui Wang <hui.wang at canonical.com>
>> ---
>>   sound/pci/hda/hda_auto_parser.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/sound/pci/hda/hda_auto_parser.c
>> b/sound/pci/hda/hda_auto_parser.c
>> index b684c6e..3cf9137 100644
>> --- a/sound/pci/hda/hda_auto_parser.c
>> +++ b/sound/pci/hda/hda_auto_parser.c
>> @@ -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;
>>
>
> --
> David Henningsson, Canonical Ltd.
> https://launchpad.net/~diwic



-- 
Cheers,
Alex Hung


More information about the Alsa-devel mailing list