[alsa-devel] [PATCH 17/31] ASoC: tegra: call pm_runtime APIs around register accesses
broonie at kernel.org
Tue Nov 19 10:53:34 CET 2013
On Mon, Nov 18, 2013 at 03:38:36PM -0700, Stephen Warren wrote:
> 1) regcache_sync() doesn't mean "if the cache is dirty, flush the
> dirty registers to HW", but rather, "if the cache is dirty, write any
> registers that don't match HW defaults to HW". If the HW was in
> cache-only mode because simply because clocks were turned off but not
> power, then the register values were retained, and the current HW
> register values may not be "HW defaults", and you may in fact /need/
> to write a value to HW that matches the HW default, yet is different
> from the current retained register content.
OK, that's a potential problem in general... Fortunately most of the
uses actually cut power.
> a) Make regmap creation read the initial HW state to use as HW
> defaults when the regmap is created. IIRC, this is done for some
> regmap configurations but not others. That said, this doesn't seem
> correct, since there's no guarantee that the HW state when the regmap
> is created /is/ the default HW state.
Right, this is why we don't initialise the cache by default.
> I think I still prefer option (c).
there's also the option of doing an explicit read on that register to
get it into the cache. But yeah, like I say I'm not totally against
this and I did ack it already.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 836 bytes
Desc: Digital signature
More information about the Alsa-devel