* PROC_COEF/PROC_INDEX question
@ 2009-08-07 9:38 Wu Fengguang
2009-08-07 9:45 ` Takashi Iwai
0 siblings, 1 reply; 5+ messages in thread
From: Wu Fengguang @ 2009-08-07 9:38 UTC (permalink / raw)
To: alsa-devel; +Cc: Takashi Iwai
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?
Thanks,
Fengguang
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: PROC_COEF/PROC_INDEX question 2009-08-07 9:38 PROC_COEF/PROC_INDEX question Wu Fengguang @ 2009-08-07 9:45 ` Takashi Iwai 2009-08-07 10:01 ` Wu Fengguang 0 siblings, 1 reply; 5+ messages in thread From: Takashi Iwai @ 2009-08-07 9:45 UTC (permalink / raw) To: Wu Fengguang; +Cc: alsa-devel 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. Takashi ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PROC_COEF/PROC_INDEX question 2009-08-07 9:45 ` Takashi Iwai @ 2009-08-07 10:01 ` Wu Fengguang 2009-08-07 10:05 ` Takashi Iwai 0 siblings, 1 reply; 5+ messages in thread From: Wu Fengguang @ 2009-08-07 10:01 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel@alsa-project.org 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PROC_COEF/PROC_INDEX question 2009-08-07 10:01 ` Wu Fengguang @ 2009-08-07 10:05 ` Takashi Iwai 2009-08-07 10:12 ` Wu Fengguang 0 siblings, 1 reply; 5+ messages in thread From: Takashi Iwai @ 2009-08-07 10:05 UTC (permalink / raw) To: Wu Fengguang; +Cc: alsa-devel@alsa-project.org 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PROC_COEF/PROC_INDEX question 2009-08-07 10:05 ` Takashi Iwai @ 2009-08-07 10:12 ` Wu Fengguang 0 siblings, 0 replies; 5+ messages in thread From: Wu Fengguang @ 2009-08-07 10:12 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel@alsa-project.org On Fri, Aug 07, 2009 at 06:05:02PM +0800, Takashi Iwai wrote: > 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. OK, so the coef read has some 'side effects', hehe. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-08-07 10:12 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-08-07 9:38 PROC_COEF/PROC_INDEX question Wu Fengguang 2009-08-07 9:45 ` Takashi Iwai 2009-08-07 10:01 ` Wu Fengguang 2009-08-07 10:05 ` Takashi Iwai 2009-08-07 10:12 ` Wu Fengguang
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.