[alsa-devel] PROC_COEF/PROC_INDEX question

Wu Fengguang fengguang.wu at intel.com
Fri Aug 7 12:01:21 CEST 2009


On Fri, Aug 07, 2009 at 05:45:14PM +0800, Takashi Iwai wrote:
> At Fri, 7 Aug 2009 17:38:59 +0800,
> Wu Fengguang wrote:
> > 
> > Hello,
> > 
> > I'm not sure of the usage for GET_PROC_COEF/GET_COEF_INDEX, and found
> > that their return value is unstable (changing all the time) for codec:
> > 
> >         Codec: Realtek ALC888
> >         Address: 2
> >         Function Id: 0x1
> >         Vendor Id: 0x10ec0888
> >         Subsystem Id: 0x80860023
> >         Revision Id: 0x100202
> > 
> > For example:
> > 
> > # hda-verb /dev/snd/hwC0D2 0x20 GET_PROC_COEF 0 
> > nid = 0x20, verb = 0xc00, param = 0x0
> > value = 0x80
> > # hda-verb /dev/snd/hwC0D2 0x20 GET_COEF_INDEX 0
> > nid = 0x20, verb = 0xd00, param = 0x0
> > value = 0xe
> > # hda-verb /dev/snd/hwC0D2 0x20 GET_PROC_COEF 0 
> > nid = 0x20, verb = 0xc00, param = 0x0
> > value = 0x9c00
> > # hda-verb /dev/snd/hwC0D2 0x20 GET_COEF_INDEX 0
> > nid = 0x20, verb = 0xd00, param = 0x0
> > value = 0xf
> > 
> > I wonder if this is the normal case?
> 
> AFAIK, depending on the mode, the index is incremented automatically.

Ah, yes. That's in line with the above data.

When repeatingly call  GET_PROC_COEF, it returns some 'random' values:

        # hda-verb /dev/snd/hwC0D2 0x20 GET_PROC_COEF 0
        nid = 0x20, verb = 0xc00, param = 0x0
        value = 0x4f
        # hda-verb /dev/snd/hwC0D2 0x20 GET_PROC_COEF 0
        nid = 0x20, verb = 0xc00, param = 0x0
        value = 0x8000
        # hda-verb /dev/snd/hwC0D2 0x20 GET_PROC_COEF 0
        nid = 0x20, verb = 0xc00, param = 0x0
        value = 0x2520
        # hda-verb /dev/snd/hwC0D2 0x20 GET_PROC_COEF 0
        nid = 0x20, verb = 0xc00, param = 0x0
        value = 0x3e00

But when repeatingly call GET_COEF_INDEX, it returns the same value:

        # hda-verb /dev/snd/hwC0D2 0x20 GET_COEF_INDEX 0
        nid = 0x20, verb = 0xd00, param = 0x0
        value = 0xd
        # hda-verb /dev/snd/hwC0D2 0x20 GET_COEF_INDEX 0
        nid = 0x20, verb = 0xd00, param = 0x0
        value = 0xd

Thanks,
Fengguang



More information about the Alsa-devel mailing list