On Fri, Nov 15, 2013 at 01:54:12PM -0700, Stephen Warren wrote:
From: Stephen Warren swarren@nvidia.com
Call pm_runtime_get_sync() before all register accesses; the HW requires clocks to be running when accessing registers.
This hasn't been needed to date, since all register IO was performed while playback was active, and hence the ASoC core had already called pm_runtime_get(). However, an imminent future commit will allocate and set up the FIFOs and routing during probe(), when that "protection" won't be in place.
Acked-by: Mark Brown broonie@linaro.org
However should we fix this at the regmap level in the same way that we do for clocks? That would need to be using _put_autosuspend() to avoid being horrific. Or alternatively should the driver be making the device cache only when runtime PM is disabled?