[alsa-devel] [PATCH] ASoC: Suppress restore of default register values for rbtree cache sync

Dimitris Papastamos dp at opensource.wolfsonmicro.com
Mon Jun 6 11:29:49 CEST 2011


On Mon, Jun 06, 2011 at 10:26:12AM +0100, Mark Brown wrote:
> On Mon, Jun 06, 2011 at 10:18:07AM +0100, Dimitris Papastamos wrote:
> 
> > There should be a check for reg_def_copy being NULL, the soc-cache code
> > is also built around the idea that the driver might not provide a
> > register defaults cache at all so this change needs to cope with that.
> 
> Hrm, at this point I'm rather inclined to say that if you're using a
> fancy cache method you should be providing defaults.
> 
> > Also I'd expect the reg_def_copy cache to be freed sooner rather than
> > while unregistering the codec, this is not happening at the moment,
> > which is wasting significant space.  This is the case because it is only
> > used during initialization.
> 
> That's the bit I was saying at the bottom of the commit message about
> putting it into the node itself; since we're currently never freeing it
> we can use it but we should really be copying it into the tree.  The
> memory wasted is a *much* less severe problem than the I/O bandwidth
> consumed rewriting the entire register map on every sync.

Yes, in the previous version of the rbtree code, it was saving it in
the node itself.  I was planning to have a separate block with the
default values for the block based version but haven't yet got around
to that.

Thanks,
Dimitris


More information about the Alsa-devel mailing list