[alsa-devel] [PATCH 1/2 v2] ASoC: soc-cache: block based rbtree compression

Dimitris Papastamos dp at opensource.wolfsonmicro.com
Tue May 3 13:24:24 CEST 2011

On Tue, May 03, 2011 at 12:21:25PM +0100, Mark Brown wrote:
> On Mon, May 02, 2011 at 01:28:28PM +0100, Dimitris Papastamos wrote:
> > Each node manages a block of up to RBTREE_BLOCK_NUM registers.  There can be
> > no two nodes with overlapping blocks.  Currently there is no check in the code
> > to scream in case that ever happens.  Each block has a base and top register,
> > all others lie in between these registers.  Note that variable length blocks
> > aren't supported.  So if you have an interval [8, 15] and only some of those
> > registers actually exist on the device, the block will have the non-existent
> > registers as zero.  There is also no way of reporting that any of those
> > non-existent registers were accessed/modified.
> As we discussed verbally I'd really rather see this support variable
> length blocks and figure out (ideally at init time) which registers
> exist.  This avoids all the fiddling around working out what to set the
> block size to which seems a lot clearer and cleaner.

Yes, I will look into that.  The block size will still need to be to set
to determine the maximum size of the variable length block.  Otherwise
there is no way to determine if we need to allocate a new node for the
rbtree or not.


More information about the Alsa-devel mailing list