aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorDimitris Papastamos <dp@opensource.wolfsonmicro.com>2010-11-11 05:04:58 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-11-11 10:59:01 -0500
commitcc28fb8e7d55d4d7c1661dc0b236f4faddecdd9e (patch)
treea7a0123df99c39db8c5084303a07c2dfae385add /include/sound
parent7a30a3db34cc7b2180a1a6c4a51d19d93c8a8b80 (diff)
ASoC: soc-cache: Add support for LZO register caching
This patch adds support for LZO compression when storing the register cache. The initial register defaults cache is marked as __devinitconst and the only change required for a driver to use LZO compression is to set the compress_type member in codec->driver to SND_SOC_LZO_COMPRESSION. For a typical device whose register map would normally occupy 25kB or 50kB by using the LZO compression technique, one can get down to ~5-7kB. There might be a performance penalty associated with each individual read/write due to decompressing/compressing the underlying cache, however that should not be noticeable. These memory benefits depend on whether the target architecture can get rid of the memory occupied by the original register defaults cache which is marked as __devinitconst. Nevertheless there will be some memory gain even if the target architecture can't get rid of the original register map, this should be around ~30-32kB instead of 50kB. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 275e41133468..10f5932d3d07 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -256,7 +256,8 @@ enum snd_soc_control_type {
256}; 256};
257 257
258enum snd_soc_compress_type { 258enum snd_soc_compress_type {
259 SND_SOC_NO_COMPRESSION 259 SND_SOC_NO_COMPRESSION,
260 SND_SOC_LZO_COMPRESSION
260}; 261};
261 262
262int snd_soc_register_platform(struct device *dev, 263int snd_soc_register_platform(struct device *dev,