
It was originally intended that any underrun / overrun issues in a BE DAI would be handled internally by the audio DSP (and this worked well with the OMAP4 ABE). However, it is probably a good a idea to have a better mechanism for reporting BE xrun issues up the stack to the host CPU side too.
Currently the FE PCM xrun mechanism and FE pointer() callback could be used by the host to get the size of any FE:BE underrun/overrun. This isn't ideal and wont work when there can be multiple BEs for a FE.
It looks like some new code is required here to get this working correctly for BEs.
My view is that that underruns at the DSP level are fatal anyway, and that they a) should be avoided with proper real-time designs and b) they should be logged as error conditions to debug should they occur, not be tied to a FE. It would be really complicated to add code to back-propagate the errors, and if you have mixing/routing what individual FEs would do when this is a system error really. -Pierre