All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.