On Wed, 2 Apr 2003, Abramo Bagnara wrote: > Jaroslav Kysela ha scritto: > > On Tue, 1 Apr 2003, Abramo Bagnara wrote: > > > > > >>I agree with Jaroslav fully: > >>- have one ALSA control for each primitive hw control (1536 different > >>controls) > >>- add a field to struct sndrv_ctl_elem_info explaining how index field > >>of sndvr_ctl_elem_id should be interpreted (32,16+16,10+11+11, ecc.) > >> > >>This permit to have native support for N dimensional control. > >> > >>About kernel memory issues, this concerns easily solvable implementation > >>detail to not worry about when designing sane API. > > > > > > Ok, I've added the dimension description to the info structure. Although > > it is completely irrelevant to data transfers. > > > > Also, I've implemented multi element in the kernel space to save memory > > and it makes the searching faster. The reference code is in the trident > > driver. I'll recode other drivers containing many "same" controls to use > > this method later. > > The lack of sparse matrix support I see in your implementation is a very > unfortunate design choice. > > I suggest you to use an hash table pointing to a pair { kcontrol_index, > kcontrol_volatile_index } (16+16 should be enough) for control id > searching and to move index info into snd_kcontrol_volatile_t.
I don't understand. The matrix is simply mapped to linear space. There is no requirement to do something special. > Note also that allocating snd_kcontrol_volatile's at end of struct > _snd_kcontrol (i.e. adding > > snd_kcontrol_volatile_t vd[0]; /* volatile data */ > > at end of struct), you'd avoid an extra indirection and separate > allocation (not had time to double check if this conflicts with > something other, however). Good idea. Done. Jaroslav ----- Jaroslav Kysela <[EMAIL PROTECTED]> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.net email is sponsored by: ValueWeb: Dedicated Hosting for just $79/mo with 500 GB of bandwidth! No other company gives more support or power for your dedicated server http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/ _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel