On Sat, 2018-03-31 at 00:31 +0800, Keyon Jie wrote:
From: Wu Zhigang zhigang.wu@linux.intel.com
Move the DAI's buffer pointer update location from dai_dma_cb() to dai_copy(). This will make pipeline more stable. The xrun possibility will be lower.Even in xrun it will recover, it will not have dsp oops. DAI's buffer pointer will be updated in the pipeline copy sequence as other components did. Then the DMA will not update the buffer pointer by itself. in HOST--->VOL--->DAI pipeline, when DMA finished, it has to reschedule the pipeline to let the pointer update. this could avoid the xrun when adjust the read and write pointers by different componets.
Signed-off-by: Wu Zhigang zhigang.wu@linux.intel.com Tested-by: Keyon Jie yang.jie@linux.intel.com
The $SUBJECT and commit message are a bit misleading as this is really fixing a race we have with our xrun handling. I've rewritten and applied.
Thanks
Liam