On Sat, May 04, 2013 at 05:25:45PM -0300, Fabio Estevam wrote:
I see this commit from Freescale kernel that workarounds exactly the same issue:
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/sound/soc...
It seems that caching is broking with this codec.
This is nonsensical. Clearly there's something about the use of the cache that is interacting poorly with the device but we've no idea what it is. Simply having a copy of the register map in the host memory is not going to do anything to the device, there must be some other issue at work.
If this is true, should we go with the proposal of this RFC patch?
We should understand what the issue is. Looking at the commit above it's not removing the cache at all, it's both attempting to work around an issue with the cache not handling the register step size properly (this looks like it's just a bug in the current driver) and reordering some of the startup around the regulator (the comment says it's open coding cache_bypass but it's also moving blocks of code around).