On 7/28/08, Jon Smirl jonsmirl@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@gmail.com