On Mon, Apr 16, 2012 at 01:40:41PM +0300, Peter Ujfalusi wrote:
What we need to do is to have proper register store/restore for McBSP to support suspend during audio activity. But. Even with that if the McBSP is hitting OFF mode we will loose the McBSP FIFO content (invalidated). This means we are going to have missing samples. Probably the user will not going to notice it, but it is going to happen.
I'm sure this issue present on other platforms as well. The pm_runtime is handled by the core, we should have suspend/resume checked in ASoC core, if there's an issue we need to fix it. After that the McBSP store/restore need to be implemented.
If the driver is using runtime PM and needs to ensure that a reference is held outside of audio streaming then it should be taking care of holding a reference itself.
Tegra is now handling this using the regmap cache infrastructure to make the device powerdown transparent.