[alsa-devel] Exposing control of my device

Jon Smirl jonsmirl at gmail.com
Tue Jul 29 06:19:17 CEST 2008

On 7/28/08, Jon Smirl <jonsmirl at gmail.com> wrote:
> My device has 220 registers, some of these are quite long (32 bytes)
>  and I have split them up into multiple 32b pseudo registers.  That
>  results in about 300 registers for a TAS5504 and 450 for a TAS5508.
>  A large number of these registers are for BiQuads, DRC, loudness, etc.
>  They're not general purpose ALSA functions. What is an efficient way
>  to expose several hundred registers of this class? Making
>  snd_kcontrols for all of them seems pretty inefficient.

I think I'm starting to understand. I didn't need to virtualize my
long 32 byte registers. Instead I can implement a HWDEP control that
is an array of eight integers. That will knock my control count back
down to 200 from 450. There's no simple way to control my large
registers from a basic GUI. I need to make my own GUI and manipulate
the HWDEP control.

>  Is there some generic way to do register access from user space that I
>  haven't found yet? Or should I make two special snd_kcontrols, one for
>  read register and write register?
>  --
>  Jon Smirl
>  jonsmirl at gmail.com

Jon Smirl
jonsmirl at gmail.com

More information about the Alsa-devel mailing list