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

Takashi Iwai tiwai at suse.de
Tue May 3 17:47:07 CEST 2011


At Tue, 3 May 2011 16:40:43 +0100,
Mark Brown wrote:
> 
> On Tue, May 03, 2011 at 05:30:44PM +0200, Takashi Iwai wrote:
> > Mark Brown wrote:
> 
> > > You don't need to retransmit the I2C device address or the register
> > > address for every single register.
> 
> > Is this behavior achieved really by these patches?  As far as I read
> 
> As I've repeatedly said these patches only provide a building block for
> that, they don't actually do anything to help with I/O by themselves.

Oh, you wrote it only once in the thread, and it wasn't very clear :)

> > these two patches, they change how values are stored in the rb-tree.
> > Now it'll be partially an array instead of one-value-per-node.  But,
> > this doesn't change how snd_soc_read() / snd_soc_write() are called.
> 
> > Could you give an example which driver would be influenced actually?
> 
> There are no drivers that would benefit yet since the register caches
> they rely on can't support this yet!

Now got it.

IMO, it's easier to expose an API that allows the update of an
register array.  The rest is a job of the cache backend stuff. 
As a fallback, it can be a loop of the single read/write.


Takashi


More information about the Alsa-devel mailing list