Hi Mark,
Thank you for offering your insights.
On Sun, Oct 2, 2011 at 2:48 PM, Mark Brown broonie@opensource.wolfsonmicro.com wrote:
On Fri, Sep 30, 2011 at 05:23:01PM -0400, Ben Gardiner wrote:
The davinci-pcm driver currently ignores all EDMA completion callbacks that could be indicating an error.
Latch any edma error-status callbacks and report them as SNDDRV_PCM_POS_XRUN like is done in fsl_dma.c.
Nothing in this patch ever seems to clear the flag which seems rather extreme. I'd expect that if you're going to do this then the flag would be cleared after one error has been reported.
Ok. I think you have impressed upon me the intent of the _POS_XRUN retum -- i see now that it should not be latched. I will fix this in spin 2.
In testing when an error occured early-on in playback the stream did not halt, but several underruns were reported until eventually the stream halted.
Is there a better way to report HW errors up the stack?
Not really, and it's not clear that it's constructive to try - if there's a problem that doesn't otherwise cause a failure then generally the user will intervene.
Again, thank you for your insight. My understanding now is that _POS_XRUN is _the_ way to report HW errors and that it is up to the application to determine the consequences of an xrun.
Best Regards, Ben Gardiner
--- Nanometrics Inc. http://www.nanometrics.ca