On Sun, Oct 2, 2011 at 2:54 PM, Mark Brown broonie@opensource.wolfsonmicro.com wrote:
This looks like something we should be doing at the subsystem level, the DaVinci is far from unique in having the ability to detect errors at the DAI level.
Agreed; I started out with the intent to call DAI health ops from snd_pcm_update_hw_ptr0() but I couldn't find may way to a cpudai instance from the given substream. Any tips on this or a plan of attack would be apreciated.
Why do you prefer a fatal error, and how do you distinguish a fatal error from a glitch?
Our use of ALSA is such that in the rare case of either a glitch or a hardware error we would prefer to fail fatally rather than ignore. This is because we would like to guarantee that playback occurred correctly or not at all.
_From your other email I see now that the intended behaviour can be accomplished entirely in the application. Returning _POS_XRUN should be sufficient here in ASoC.
Best Regards, Ben Gardiner
--- Nanometrics Inc. http://www.nanometrics.ca