On Tue, Aug 26, 2014 at 02:11:20PM +0800, Scott Jiang wrote:
2014-08-22 17:47 GMT+08:00 Lars-Peter Clausen lars@metafoo.de:
ASoC: ssm2602: Fix cache sync
The ssm2602 uses regmap for caching not soc-cache, so we need to use regcache_sync() instead of snd_soc_cache_sync().
According my test, regcache_sync() can't recover register values when resume. While snd_soc_cache_sync() works fine. I used regmap_read() to read registers in regmap layer and found it's the same as suspend. But regcache_sync() didn't sync these registers correctly to hardware.
That does not make too much sense. snd_soc_cache_sync() is definitely a no-op when using regmap. Which kernel version are you on? Are there any additional changes to this driver in your tree?
If it is the above patch is the problem perhaps that the register map isn't getting marked as dirty so the cache sync is being suppressed?
I believe this patch isn't related to the pm bug here. By the way, have you ever tested your patches on any blackfin board? Your patches for adau1761, ssm2602 and bf5xx-i2s all failed to run.
I guess this is addressed to Lars-Peter but could you be more specific about the problems you are seeing?