diff options
author | Dimitris Papastamos <dp@opensource.wolfsonmicro.com> | 2011-01-19 17:53:37 +0300 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-01-20 16:41:01 +0300 |
commit | 9978007befa5efdc16dc940631c594f420f96b09 (patch) | |
tree | 10af07e9e32ed471299a5250fe870938ea3eeff3 /sound/soc/soc-cache.c | |
parent | dad8e7aeeb83a26d267e757e4c1cf69591850477 (diff) | |
download | linux-9978007befa5efdc16dc940631c594f420f96b09.tar.xz |
ASoC: soc-cache: Apply the cache_bypass option
Incorporate the use of the cache_bypass functionality in the
syncing functions. The snd_soc_flat_cache_sync() need not be
hooked as there is no performance benefit from using the
cache_bypass option.
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/soc-cache.c')
-rw-r--r-- | sound/soc/soc-cache.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/soc-cache.c b/sound/soc/soc-cache.c index 1ebff9f12b4e..f83483963791 100644 --- a/sound/soc/soc-cache.c +++ b/sound/soc/soc-cache.c @@ -890,7 +890,9 @@ static int snd_soc_rbtree_cache_sync(struct snd_soc_codec *codec) ret = snd_soc_cache_read(codec, rbnode->reg, &val); if (ret) return ret; + codec->cache_bypass = 1; ret = snd_soc_write(codec, rbnode->reg, val); + codec->cache_bypass = 0; if (ret) return ret; dev_dbg(codec->dev, "Synced register %#x, value = %#x\n", @@ -1148,7 +1150,9 @@ static int snd_soc_lzo_cache_sync(struct snd_soc_codec *codec) ret = snd_soc_cache_read(codec, i, &val); if (ret) return ret; + codec->cache_bypass = 1; ret = snd_soc_write(codec, i, val); + codec->cache_bypass = 0; if (ret) return ret; dev_dbg(codec->dev, "Synced register %#x, value = %#x\n", |