At Fri, 7 Aug 2009 18:01:21 +0800, Wu Fengguang wrote: > > 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 I guess it's not random but just the value of the next index. > 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 Reading the index itself doesn't increment the index. Reading the coef value increases the index. So is my understanding. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel