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