All of lore.kernel.org
 help / color / mirror / Atom feed
From: Abramo Bagnara <abramo.bagnara@libero.it>
To: Jaroslav Kysela <perex@suse.cz>
Cc: Paul Davis <paul@linuxaudiosystems.com>,
	Giuliano Pochini <pochini@shiny.it>,
	alsa-devel <alsa-devel@lists.sourceforge.net>,
	Takashi Iwai <tiwai@suse.de>
Subject: Re: matrix mixer control (Re: Complex mixer questio
Date: Wed, 02 Apr 2003 12:18:06 +0200	[thread overview]
Message-ID: <3E8AB8DE.5030401@libero.it> (raw)
In-Reply-To: <Pine.LNX.4.44.0304011557190.1350-100000@pnote.perex-int.cz>

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.

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).

-- 
Abramo Bagnara                       mailto:abramo.bagnara@libero.it

Opera Unica                          Phone: +39.546.656023
Via Emilia Interna, 140
48014 Castel Bolognese (RA) - Italy



-------------------------------------------------------
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/

  parent reply	other threads:[~2003-04-02 10:18 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-29 15:00 Complex mixer questions Giuliano Pochini
2003-03-29 14:14 ` Paul Davis
2003-03-31  9:05   ` matrix mixer control (Re: Complex mixer questions) Takashi Iwai
2003-03-31 10:56     ` matrix mixer control (Re: Complex mixer questio Giuliano Pochini
2003-03-31 11:39     ` matrix mixer control (Re: Complex mixer questions) Jaroslav Kysela
2003-03-31 13:03       ` matrix mixer control (Re: Complex mixer questio Giuliano Pochini
2003-03-31 14:12         ` Jaroslav Kysela
2003-03-31 17:23           ` Paul Davis
2003-03-31 19:59             ` Jaroslav Kysela
2003-04-01  6:52               ` Abramo Bagnara
2003-04-01 14:08                 ` Jaroslav Kysela
2003-04-01 14:16                   ` Takashi Iwai
2003-04-01 14:49                   ` Paul Davis
2003-04-02 10:18                   ` Abramo Bagnara [this message]
2003-04-02 13:12                     ` Jaroslav Kysela
2003-04-02 13:51                       ` Abramo Bagnara
2003-04-02 14:42                         ` Jaroslav Kysela
2003-04-02 16:36                           ` Abramo Bagnara
2003-04-02 16:47                             ` Paul Davis
2003-04-02 17:18                               ` Jaroslav Kysela
2003-04-02 17:39                                 ` Paul Davis
2003-04-02 17:06                             ` Jaroslav Kysela
2003-04-02 17:27                               ` Abramo Bagnara
2003-04-01 14:23                 ` Paul Davis
2003-03-31 14:45         ` Matt Flax
2003-03-31 14:20           ` Justin Cormack
2003-03-31 17:18           ` Paul Davis
     [not found] <3E84C6BA0011E1C5@ims5a.libero.it>
2003-04-02 17:18 ` Abramo Bagnara
2003-04-02 17:40   ` Paul Davis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3E8AB8DE.5030401@libero.it \
    --to=abramo.bagnara@libero.it \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=paul@linuxaudiosystems.com \
    --cc=perex@suse.cz \
    --cc=pochini@shiny.it \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.