diff options
author | Dimitris Papastamos <dp@opensource.wolfsonmicro.com> | 2010-11-11 10:04:58 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-11 15:59:01 +0000 |
commit | cc28fb8e7d55d4d7c1661dc0b236f4faddecdd9e (patch) | |
tree | a7a0123df99c39db8c5084303a07c2dfae385add /sound/soc/Kconfig | |
parent | 7a30a3db34cc7b2180a1a6c4a51d19d93c8a8b80 (diff) | |
download | linux-3.10-cc28fb8e7d55d4d7c1661dc0b236f4faddecdd9e.tar.gz linux-3.10-cc28fb8e7d55d4d7c1661dc0b236f4faddecdd9e.tar.bz2 linux-3.10-cc28fb8e7d55d4d7c1661dc0b236f4faddecdd9e.zip |
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 'sound/soc/Kconfig')
-rw-r--r-- | sound/soc/Kconfig | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig index 3e598e756e5..4562c898a7e 100644 --- a/sound/soc/Kconfig +++ b/sound/soc/Kconfig @@ -4,6 +4,8 @@ menuconfig SND_SOC tristate "ALSA for SoC audio support" + select LZO_COMPRESS + select LZO_DECOMPRESS select SND_PCM select AC97_BUS if SND_SOC_AC97_BUS select SND_JACK if INPUT=y || INPUT=SND |