[alsa-devel] [PATCH] ALSA: re-order AC97 codec ID table.

Takashi Iwai tiwai at suse.de
Tue Jul 15 15:14:22 CEST 2008


At Tue, 15 Jul 2008 03:23:55 +0200,
Rene Herman wrote:
> 
> Hi Takashi.
> 
> Feel free to drop if considered pointless churn but keeping it ordered 
> makes checking easier.

The idea is fine, but this breaks the current code...

> @@ -112,20 +107,25 @@ static const struct ac97_codec_id snd_ac97_codec_ids[] = {
>  { 0x41445374, 0xffffffff, "AD1981B",		patch_ad1981b,	NULL },
>  { 0x41445375, 0xffffffff, "AD1985",		patch_ad1985,	NULL },
>  { 0x41445378, 0xffffffff, "AD1986",		patch_ad1986,	NULL },
> +{ 0x414b4d00, 0xffffffff, "AK4540",		NULL,		NULL },
> +{ 0x414b4d01, 0xffffffff, "AK4542",		NULL,		NULL },
> +{ 0x414b4d02, 0xffffffff, "AK4543",		NULL,		NULL },
> +{ 0x414b4d06, 0xffffffff, "AK4544A",		NULL,		NULL },
> +{ 0x414b4d07, 0xffffffff, "AK4545",		NULL,		NULL },
>  { 0x414c4300, 0xffffff00, "ALC100,100P", 	NULL,		NULL },
>  { 0x414c4710, 0xfffffff0, "ALC200,200P",	NULL,		NULL },
> +{ 0x414c4720, 0xfffffff0, "ALC650",		patch_alc650,	NULL },

This entry would win over ALC650* below

>  { 0x414c4721, 0xffffffff, "ALC650D",		NULL,	NULL }, /* already patched */
>  { 0x414c4722, 0xffffffff, "ALC650E",		NULL,	NULL }, /* already patched */
>  { 0x414c4723, 0xffffffff, "ALC650F",		NULL,	NULL }, /* already patched */

... these ones because of the bitmask (the second field).

> -{ 0x414c4720, 0xfffffff0, "ALC650",		patch_alc650,	NULL },
> -{ 0x414c4760, 0xfffffff0, "ALC655",		patch_alc655,	NULL },
> -{ 0x414c4781, 0xffffffff, "ALC658D",		NULL,	NULL }, /* already patched */
> -{ 0x414c4780, 0xfffffff0, "ALC658",		patch_alc655,	NULL },
> -{ 0x414c4790, 0xfffffff0, "ALC850",		patch_alc850,	NULL },
>  { 0x414c4730, 0xffffffff, "ALC101",		NULL,		NULL },
>  { 0x414c4740, 0xfffffff0, "ALC202",		NULL,		NULL },
>  { 0x414c4750, 0xfffffff0, "ALC250",		NULL,		NULL },
> +{ 0x414c4760, 0xfffffff0, "ALC655",		patch_alc655,	NULL },
>  { 0x414c4770, 0xfffffff0, "ALC203",		NULL,		NULL },
> +{ 0x414c4780, 0xfffffff0, "ALC658",		patch_alc655,	NULL },
> +{ 0x414c4781, 0xffffffff, "ALC658D",		NULL,	NULL }, /* already patched */

Ditto for the above two.

Could you fix and repost?


Thanks,

Takashi


More information about the Alsa-devel mailing list